PHP - Wat kun je ermee?
HTML-bestanden zijn namelijk statisch, je maakt ze een keer, en je moet echt in het bestand duiken om de inhoud te veranderen. Dit is helemaal niet erg, als je een site hebt die uit tien of minder pagina's bestaat. Er zijn echter weinig sites die zo klein zijn. Er zijn gelukkig genoeg oplossingen voor handen om deze tekortkoming van HTML te compenseren.
PHP is een van die oplossingen. Met PHP kun je zogenaamde dynamische pagina's maken. Heel handig bijvoorbeeld voor de autohandelaar die op het internet wil met al zijn occasions. Hij hoeft nu niet voor elke auto een aparte HTML file te maken, maar hij vult gewoon een formuliertje in, met daarop wat informatie over de auto, en eventueel een foto, en de computer doe de rest. Een formuliertje maken kan nog heel goed met HTML, maar de gegevens uit het formulier invoeren in een database gaat niet. Hier komt PHP om de hoek kijken. PHP plaatst de gegevens in de database, en regelt later ook dat je de informatie over de auto weer kan lezen.
Dit gebeurt allemaal op de server waar de site van de autohandelaar op draait, vandaar dat we PHP een server-side scripter kunnen noemen. Met PHP zelf kun je heel weinig, je zult er zelf nog script voor moeten schrijven. In die scripts staan opdrachten voor PHP. PHP is dan ook geen programmeer taal, maar een scripttaal. Het script van de autohandelaar voor het invoeren van de auto's ziet er dus globaal zo uit:
- laat het formulier zien
- verwerk de ingevulde gegevens
En voor het bekijken:
- zoek de informatie bij de auto
- laat die informatie zien
De tijd dat je in gewone taal opdrachten kan geven aan de computer moet nog komen. Je zult de bovenstaande, voor ons begrijpelijke opdrachten, dus om moeten zetten in opdrachten die PHP ook begrijpt.
Maar een goed begin is het halve werk, laten we nu dus maar gewoon beginnen bij het begin. We gaan nu ons allereerste PHP script maken.
PHP is een scripttaal. Je hebt dus geen echte programmeer omgeving nodig om scripts te schrijven. Sterker nog, zelfs met Notepad kan je PHP scripts schrijven. Als je echter grotere scripts gaat schrijven, dan kan het weleens makkelijker zijn om een editor te gebruiken met kleur codering, dit maakt het geheel wat overzichtelijker.Ok, laten we Notepad maar opstarten en ons eerste script gaan maken. Open gewoon een nieuw bestand met Notepad, en neem het volgende over.
print ("Hallo wereld");
?>
Sla dit bestand op, gebruik als naam: hallo.php, waarbij je erop moet letten dat Notepad het echt met de .php exstensie opslaat, anders werkt het niet. Oke, nu start je Apache op, en ga je met je browser, naar je net aangemaakt pagina. Je zult waarschijnlijk iets als dit moeten typen: http://127.0.0.1/freakz/hallo.php. Na wat gerommel van je hardeschijf verschijnt als het goed is "Hallo wereld" op het scherm. Nu zul je zeggen: "Als ik dit met HTML had gedaan was ik veel eerder klaar geweest", dat is ook zo, maar dit is nog maar het begin.
Oke, open weer het bestand, hallo.php in Notepad, pas nu het regeltje code een beetje aan.
print ("Hallo ".$HTTP_GET_VARS['naam'].", dit is de wereld van PHP");
?>
Ga nu met je browser naar het volgende adres: http://127.0.0.1/freakz/hallo.php?naam=Dennis. Als het goed is krijg je nu te zien: "Hallo Dennis, dit is de wereld van PHP". Simpel toch, dit soort dingen kan je ook nog met HTML en een beetje JavaScript, maar dit is veel makkelijker, toch?
Hoe werkt dit nu? Door het script aan te roepen met "?naam=Dennis" erachter, defineer je een zogenaamde variabele, deze variabele roep je in een script weer aan met ".$HTTP_GET_VARS['naam']." .
Om te zorgen dat het invoeren van een naam wat makkelijker is, gaan we eerst een mooi formuliertje maken in HTML. Omdat dit geen cursus HTML is, ga ik niet uitleggen hoe alles werkt in dit formulier, neem maar gewoon de code over en plak het in welkom.html.
<form action="hallo.php"
method="get">
Naam:
<input type="text" name="naam">
<br>
Achternaam:
<input type="text" name="achternaam">
<br>
Geslacht:
<select name="geslacht">
<option>Man</option>
<option>Vrouw</option>
</select>
<br>
Leeftijd:
<input type="text"
name="leeftijd" size="3">
<br>
<br>
<input
type="submit" value="Verstuur" name="submit">
<input type="Reset"
name="Reset">
</form>
Als je met je browser naar het formulier gaat, zie je dat er wat velden bij zijn gekomen, achternaam, geslacht en leeftijd. Hiermee gaan we nu aan de slag. Het eerste wat we gaan doen is alle gegevens netjes onder elkaar laten zien op het scherm.
print ("Naam: ".$HTTP_GET_VARS['naam']."
");
print ("Achternaamr: ".$HTTP_GET_VARS['achternaam']."
");
print ("Geslacht: ".$HTTP_GET_VARS['geslacht']."
");
print ("Leeftijd: ".$HTTP_GET_VARS['leeftijd']."
");
?>
Als we het formulier netjes invullen, zal bijvoorbeeld het volgende rijtje op het scherm verschijnen.
Naam: Dennis
Achternaam: van der Vliet
Geslacht: Man
Leeftijd: 17
Heel mooi allemaal, maar echt nuttig is het nog niet. Daar gaan we wat verandering in aan brengen met het volgende script.
<?
if
($HTTP_GET_VARS['geslacht'] == "Man") {
// het geslacht is man, laat een bijpassende boodschap zien
print ("Hallo meneer ".$HTTP_GET_VARS['achternaam']." ");
} else {
// het geslacht
is vrouw, laat een bijpassende boodschap zien
print ("Hallo mevrouw ".$HTTP_GET_VARS['achternaam']." ");
}
?>
Dit script laat afhankelijk van het gekozen geslacht, een andere welkomsboodschap zien. Dit doen we door een zogenaam IF-statement. In normaal Nederlands, en normale mensen taal vertaalt, is het:
Als het geslacht Man is
Laat dan op het scherm zien Hallo meneer .... (en vul op de puntjes de gegeven achternaam in)
Als het geslacht geen man is, dan zal het vrouw zijn
Laat dan op het scherm zien Hallo mevrouw .... (en vul op de puntjes de gegeven achternaam in)
if($HTTP_GET_VARS['geslacht'] == "Man") { Deze regel kijkt of het geslacht ingesteld is op man, hiervoor gebruik je ==, dat is waar in dit geval, als $geslacht gelijk is aan "Man". Even een klein over zicht.
Voorbeeld Naam Resultaat
$a == $b Gelijk aan Waar wanneer $a gelijk is aan $b
$a != $b Niet gelijk aan Waar wanneer $a niet gelijk is aan $b
$a < $b Kleiner Waar wanneer $a kleiner is dan $b
$a > $b Groter Waar wanneer $a groter is dan $b
$a <= $b Gelijk aan of kleiner Waar wanneer $a gelijk is aan $b of kleiner
$a <= $b Gelijk aan of groter Waar wanneer $a gelijk is aan $b of groter
En probeer zelf nu maar eens een script te maken, dat afhankelijk van de leeftijd, laat zien "Hoe gaat het met u?", als de leeftijd 18 jaar of ouder is, en "Hoe gaatie?", laat zien als de persoon jonger is dan 18.
Have fun!
--------------------------------------------------------------------------------------------------------
Dit was deel 1 van "PHP: een handleiding" door Dennis van der Vliet. Het artikel kwam tot stand door samenwerking met www.phpfreakz.nl. Een website waar je alles kunt vinden over PHP. Zeer de moeite waard om hen eens te bezoeken!


