Uitleg PHP documentatie via docs.php.net/manual
Uitleg pre-defined functions
Lesopdracht 1 (individueel)
Uitleg user-defined functions (met en zonder params)
Uitleg local en global variabelen
Uitleg setcookie
Lesopdracht 2 (in groepjes werken)
Op de website http://php.net is een online documentatie beschikbaar van PHP.
Met name de functions die in PHP worden gebruikt kun je hier in terugvinden.
Via deze link wordt de PHP functions handleiding in het nederlands geladen.
De function implode() gebruik je om array elementen aan elkaar te plakken via een bepaalde 'glue' string.
De function explode() gebruik je om een string te splitsen in een array met
behulp van een delimiter.
Zie http://php.net/explode
Hiermee kun je een meerdere variabelen vullen met de inhoud van een array.
Zie http://php.net/list
De function htmlentities() gebruik je om tekst naar HTML te converteren, met
name de speciale characters zoals quotes en dergelijke.
zie http://php.net/htmlentities
De function date() gebruik je voor het werken met datums en tijden. Deze functie
geeft na aanroep een string terug.
Zie http://php.net/date
Onderzoek bovenstaande functies. Kijk met name naar de zeer uitgebreide functie date welke je ook nodig hebt voor je eerste cijferopdracht.
Je kunt zelf functions maken in PHP. De syntax (schrijfwijze) is als volgt opgebouwd:
<?php function functionName($param) { // php code to be executed }
?>
Via variabelen tussen de ronde haken kunnen gegevens aan de functie worden
doorgegeven.
In bovenstaand voorbeeld is één doorgeef-variabele gebruikt, dat
is de variabele $param.
Een parameter in een function is niet verplicht; je kunt ook een functie zonder
parameters maken:
<?php
function functionName() {
// php code to be executed
}
?>
Je kunt ook een functie met meerdere parameters maken:
<?php
function functionName($param1, $param2, $param3) {
// php code to be executed
}
Het werken met een functie kan op de volgende manieren:
<?php
function showName($firstname,$lastname) {
$name = $firstname." ".$lastname;
echo ($name);
}
?>
<?php
$firstname = "Jantje";
$lastname = "Beton";
showName($firstname,$lastname);
?>
<?php
function showName($firstname,$lastname) {
$name = $firstname." ".$lastname;
return $name;
}
?>
<?php $firstname = "Jantje";
$lastname = "Beton";
$fullname = showName($firstname,$lastname); //returned output van showName komt in $fullname
echo ($fullname);
?>
Als je een functie met parameters aanroept kun je de functie voorzien van een
default parameter value.
Hierbij is er in de function al een waarde aan een parameter toegekend. Deze
wordt overschreven als je deze meegeeft met de aanroep.
In onderstaand voorbeeld zijn de variabelen $firstname en $lastname ingesteld
met de defauilt value "onbekend".
Als je de function aanroept met echo showName("Jan","Klaassen")
dan worden de default values overschreven.
<?php
function showName($firstname="onbekend",$lastname="onbekend") { $name = $firstname." ".$lastname; echo ($name);
}
?>
Een COOKIE object bevat informatie welke door de server is opgeslagen op de
lokale computer
zie boek vanaf pagine 336.
PHP gebruikt hiervoor de superglobal $_COOKIE.
$_COOKIE wordt gevuld met de functie setcookie(). Je moet een cookienaam opgeven als eerste parameter, daarna de inhoud als 2e parameter, daarna geef je op tot wanneer de cookie geldig is. Er zijn nog meer parameters, zie php.net voor uitgebreide informatie.
voorbeeld:
<?php setcookie( "LoginInfo", $username, time()+3600 ); ?>
belangrijk:
Als je gegevens in een cookie gaat bewaren met setCookie dan moet dit als eerste in de PHP pagina plaatsvinden. Als je dit niet doet dan krijg je een foutmelding en wordt de cookie NIET opgeslagen!
Zodra je een cookie hebt opgeslagen met setCookie() dan kun je deze weer bekijken mbv.
<?php print_r($_COOKIE); //tonen inhoud ALLE cookie objecten ?>
<?php echo $_COOKIE['cookienaam'] ; //tonen inhoud cookie object met naam 'cookienaam' ?>
Ook belangrijk:
De inhoud van een cookie wordt pas aangepast bij het verversen van
de pagina!
Een lokale variabele is een variabele binnen een functie. De scope (het bereik) van die variabele beperkt zich dus daarbinnen. Een lokale variabele kun je dus niet buiten de functie vullen of lezen.
Een globale variabele is een variabale buiten een functie. De scope daarvan
beperkt zich tot het script waarbinnen de variabele wordt gebruikt. Als je een
globale variabele maakt en vult, dan kun je deze wel binnen een functie lezen.
Test dit zelf even uit.
Beide variabelen kunnen voorkomen met dezelfde naam; dit is echter verwarrend,
want de inhoud is verschillend!
Gebruik daarom voor lokale variabelen een underscore na het dollarteken in de
naam.
<?php $firstname = "Sjaak"; //globale variabele $lastname = "Swart"; //globale variabele echo showName($firstname,$lastname);
function showName($_firstname, $_lastname) { $name = $_firstname." ".$_lastname;
return ($_name);
} ?>
Dit wordt in de workshop behandeld.
Maak een functie waarin je een html selectbox vult met een datumreeks. Denk hierbij aan dagnamen, dagnummers in de maand, maandnummers, maandnamen en jaartallen. Tip: Maak eerst een html versie en ga hem daarna met PHP vullen.