PHP L1
PHP Level 1 Variabelen en condities
- 1 Webserver
- 1 Quiz Web server
- 2 Welkom jouw-naam
- 3 Variabele
- 4 Opdracht mijnnaam en mijnleeftijd
- 5 Strings
- 6 getallen (integer)
- 7 Condition if-then-else
- 8 HTML, PHP en include
- 9 Logical operators en korte broeken
- 10 Eindopdracht coderen en testen
1 Webserver
Wat ga je leren?
In deze les leer je het verschil tussen een front-end taal en een back-end taal. Je leert dat PHP een back-end taal is en dat je daarom een (web)server nodig hebt om PHP te kunnen gebruiken. |
Lees de tekst goed want in de volgende opdracht krijg je vragen over deze tekst.
Een webserver is een computer die verbonden is met het internet en waar bestanden op staan op staan die nodig zijn om een website te laten zien.
Elke website die jij bezoekt op het World Wide Web staat ergens op een webserver. Zo'n webserver heeft een map (folder) met daarin webpagina's die bestaan uit HTML pagina's, CSS bestanden, Javascript, PHP bestanden en derglijke.
Bestandssorrten |
Functie |
HTML |
Basis opmaak van een webpagina |
CSS |
Detail opmaak van een webpagina |
JavaScript |
Interactie programmeren in de browser |
PHP |
Interactie programmeren op de server |
Tot nu toe ben je gewend om de HTML-bestanden gewoon vanaf je eigen computer te starten door er dubbel op te klikken. De browser leest de bestanden en laat deze een mooie (of lelijke) pagina zien.
Je bent als gebruiker van webapplicaties gewend om bijvoorbeeld in te loggen, een bericht achter te laten of een email te sturen. Deze applicaties zijn dynamisch. Dynamische applicaties hebben een input (invoer) en zetten deze om in een output (uitvoer).
Bijvoorbeeld:
input: gebruikersnaam en wachtwoord
output: een boodschap dat het aanloggen is gelukt of een boodschap dat het aanloggen niet is gelukt.
Om een dynamische webapplicatie te maken heb je meestal een webserver nodig die de pagina's serveert. De webserver krijgt van de browser, de cliënt een verzoek en de webserver behandeld het verzoek en stuurt een antwoord terug. Net als een ober die een drankje serveert.
Stel je wilt een overzicht van alle studenten in een klas. Je vraagt via de browser dan om het overzicht, bijvoorbeeld door op een menu te klikken. Het verzoek gaat dan via internet naar een webserver en die stuurt het antwoord via internet weer terug naar jouw browser.
Omdat je nog geen toegang hebt tot een echte webserver gaan we er eentje simuleren. Simuleren is het 'net doen alsof'. We simuleren de webserver met een gratis applicatie (wij doen dat met XAMPP) die je kunt installeren op je eigen laptop. Dat heet dan een lokale server. Dat wordt ook wel localhost genoemd. Je laptop is dus door het gebruik van XAMPP een web server geworden.
Om een dynamische applicatie te maken gaan we in deze module gebruik maken van PHP.
De server heet ook wel back-end (achterkant). PHP is een back-end-taal. Dat betekent dat de taal dus op de back-end, de server draait.
Een bezoeker van de site (de eindgebruiker) kan de code die op de server staat niet zien of wijzigen.
Bestandssorrten |
Functie |
Waar |
HTML |
Basis opmaak van een webpagina | Front-end / browser |
CSS |
Detail opmaak van een webpagina |
Front-end / browser |
Javascript |
Interactie programmeren in de browser |
Front-end / browser |
PHP |
Interactie programmeren op de server |
Back-end / server |
Database
Met PHP kun je ook een database benaderen waarin je gegevens kan opslaan voor een langere periode, bijvoorbeeld de gegevens van een gebruiker zoals voornaam, achternaam, email en wachtwoord.
Als je met PHP aan de slag gaat dan kun je pagina's dynamisch maken. Dit betekent dat de output afhankelijk is van de input van de gebruiker.
XAMPP
Tijdens deze module maak je gebruik van een locale server. We gebruiken hiervoor XAMPP.
Je kunt XAMPP downloaden en installeren als je dat nog niet hebt gedaan.
Weet je (nog) niet hoe je XAMPP moet installeren op jouw Windows machine of heb je een "port conflict", kijk dan hier.
1 Quiz Web server
Waarvoor wordt HTML gebruikt?
- (basis) opmaak van de web pagina
- het dynamische maken van de web pagina
- daarmee kan je een web pagina met een database verbinden
- om een web pagina te kunnen beveiligen
Waarvoor wordt PHP gebruikt?
- (basis) opmaak van de web pagina
- het dynamische maken van de web pagina
- om op detail nveau de opmaak van een pagina vorm te geven
- om een web pagina te kunnen beveiligen
Waar draait de PHP code?
- op de back-end (de server)
- op de front-end (web browser)
- kan op de front-end of de back-end draaien
- PHP draait alleen met XAMPP
Waar draait de CSS code?
- op de back-end (de server)
- op de front-end (web browser)
- kan op de front-end of de back-end draaien
- CSS draait alleen met XAMPP
--
2 Welkom jouw-naam
Wat ga je leren?
Ter voorbereiding van PHP gaan we in deze les leren hoe we XAMPP kunnen installeren. |
PHP is een back-end taal. Dat betekent dat deze taal op de server draait. Op de server wordt je code uitgevoerd. Omdat wij (nog) geen server op het internet hebben, installeren wij een soort server op onze laptop. Onze laptop is dan een back-end en ook front-end tegelijkertijd. Onze browser (front-end) 'praat' dus met de PHP server Xammp (back-end).
Later gaan we ook databases gebruiken en daarvoor installeren we een database server. Dit is een onderdeel van Xampp.
OK let's go!
We gaan XAMPP installeren! Volg alle stappen zoals die hier beschreven staan.
-
Installeer Xampp met het installatieprogramma.
- installeer deze op: C:\Xampp
- Tijdens de installatie kies je drie opties: Apache (dat is de PHP-server), MySQL (dat is de database server) en PHPMyAdmin, dat is de tool om de database mee te beheren.
- installeer deze op: C:\Xampp
-
Start Xampp en start daarna Apache en MySQL
-
Maak een nieuwe folder in c:\xampp\htdocs\phplevel1-jouw-naam
- vervang jouw-naam door jouw naam
Overal waar in het vervolg jouw-naam staat, vervang je de tekst door jouw naam.
- vervang jouw-naam door jouw naam
- Start VCS en open de folder c:\xampp\htdocs\phplevel1-jouw-naam
- Maak een nieuw bestand en noem deze php01-jouw-naam.php
- Vergeet niet jouw-naam te vervangen!
- Vergeet niet jouw-naam te vervangen!
- Type de volgende code in:
<?php
echo "Hello world!";
?>
Wat gebeurt er in deze code?
Op regel 1 <?php
wordt tegen de webserver verteld dat we code in php gaan maken. De server/XAMPP weet dan welke taal jij gata praten.
Op regel 3, echo
Het woordje echo betekent dat de server output moet gaan maken. Deze output wordt naar de web browser gestuurd.
Op regel 3 "Hello world!"
echo moet iets naar de browser sturen, dan moet je natuurlijk wel vertellen wat dat is. Het zinnetje na de echo is dat wat er naar de browser wordt gestuurd. Dit zinnetje staat tussen "" om aan te geven waar het zinnetje begint en waar het eindigt.
Op regel 3 ;
Na ELK commando in PHP staat een ; om aan te geven dat het commando afgelopen is en. De meest gemaakte fout in PHP is dat je een ; vergeet. Wedden dat jij dat dit jaar ook tig keer gaat vergeten?
Op regel 5 ?>
We zijn klaar met onze commando's in PHP. We vertellen de server/XAMPP dat we stoppen met "PHP praten".
Test de code en controleer of er in je browser de tekst Hello World! verschijnt.
Opdracht 2
Verander de code zodat de volgende output in de browser verschijnt:
Welkom jouw-naam !
Vergeet niet jouw-naam te vervangen.
Je moet twee bestanden inleveren:
- Het bestand php102-jouw-naam.php
- Een schermafdruk van jouw hele browser scherm waarin dus ook de URL (web adres te zien is) te zien is en waarin je de output van jouw code laat zien.
--
3 Variabele
Wat ga je leren?
In alle programmeertalen gebruik je variabelen. In deze les leer je wat een variabele is en hoe je deze kan gebruiken. |
Computer geheugen
Een variabele is een plek in het geheugen van de computer waar je informatie in op kan slaan.
Het geheugen van een computer loopt bijvoorbeeld van adres 0 tot aan adres 32768.
Dan kan het zijn dat je op plaats 21 311 een plaats hebt waar je jouw naam hebt opgeslagen en op plaats 18711 heb je een plaats in het geheugen waar je jouw leeftijd hebt opgeslagen. Omdat deze getallen lastig zijn te onthouden kunnen we deze geheugenplaatsen een naam geven. Dat heet een variabele.
Variabele namen
Als je gaat programmeren ga je best veel gebruik maken van variabelen. We geven dus een naam aan een geheugenplekje, bijvoorbeeld plaats 21311 is waar jouw naam staat, noemen we mijnnaam en de plaats 18711 waar jouw leeftijd in staat noemen we mijnleeftijd.
Doosje of lade
Je zou een variabele ook kunnen zien als een doosje of een lade waar je iets kan instoppen.
Net als bij een doos of een lade, kan je de doos/lade openen en kijken wat er in zit; er kan niets in zitten, maar er kunnen ook getallen of zinnetjes in zitten. En....je kunt de inhoud ook veranderen.
In de eerste 2 minuten van deze video (NL) wordt dit nog een keer uitgelegd.
In dit filmpje gaat het over de programmeertaal Python, maar dit geldt ook voor PHP (en bijna alle andere computertalen)
PHP Variabele
In PHP kun je een variabele makkelijk herkennen omdat die altijd met een $-teken begint, bijvoorbeeld $mijnnaam, $mijnleeftijd zijn twee variabelen.
Hoe ken je een waarde toe aan een variabele?
Stel jij heet Mohammed en je wilt de variable $voornaam de waarde Mohammed geven. Je gebruikt daar voor het = teken. Zie dit niet als 'is' maar als 'wordt' .
<?php
$mijnnaam="Mohammed";
?>
op regel 1 wordt de computer verteld dat je PHP code gaat gebruiken.
op regel 2 hier staat dat de variabele met de naam $mijnnaam de waarde Mohammed krijgt. Dus $mijnnaam wordt "Mohammed".
Mohammed is een zinnetje dus dat staat tussen "".
In dit geval is het een zinnetje van één woord, maar het zou ook meer woorden kunnen bevatten daarom staat een zinnetje, ook al is het maar één woordt altijd tussen "". De computer weet dan precies waar het zinnetje begint en waar het eindigt.
En niet vergeten de ; om aan te geven dat het commando klaar is!
Elk PHP commando wordt in PHP (en ook in bijv. JavaScript en C#, C, C++ en Java) afgesloten met een ;
Even terug naar het doosje of de lade; we hebben dus een doosje gemaakt met het label mijnnaam en in het doosje hebben we de string-waarde "Mohammed" gezet.
Het = teken dat we hebben gebruikt kun je dus lezen als 'stop de volgende waarde in dit doosje'.
Variabele naamgeving
Zoals gezegd, een variabele naam in PHP begint altijd met een $-teken met daarachter een woord zonder spaties. De variabele bestaat dus altijd uit één woord. Omdat je soms duidelijk wil maken wat er in de variabele staat gebruik je goede namen die vaak wat langer zijn.
Bijvoorbeeld $hoofdpersonagevandefilm.
Om dit leesbaar te maken, maken we hiervan hoofdPersonageVanDeFilm.
Dus $hoofdpersonagevandefilm wordt $hoofdPersonageVanDeFilm
Zie je het verschil?
In code ziet het er dan zo uit.
$hoofdPersonageVanDeFilm = "Ryan Reynolds";
Zo bestaat de naam van de variabele nog steeds uit één woord, maar is het wel beter leesbaar.
Let op want de variabele $mijnnaam en $mijnNaam zijn twee verschillende variabelen. We zeggen dan dat variabelenamen hoofdlettergevoelig zijn (in het Engels; case sensitive).
Opdracht 3a
We gaan deze code proberen.
Maak een nieuw bestand in c:\xampp\htdocs\phplevel1-jouw-naam
Noem het bestand php03-jouw-naam.php
Maak je eigen code en geef daarbij de variabele $mijnnaam de waarde van jouw naam.
Test de code uit. Wat zie je? Niets? Dat klopt want we hebben geen output gemaakt.
We gaan een regel toevoegen aan onze code waarin we output maken. Tussen regel 2 en 3 voegen we een extra regel toe.
echo $mijnNaam;
Let op! De variabele naam is hier veranderd van $mijnnaam naar $mijnNaam. Je zult de naam van de variabele dus ook op regel 2 moeten aanpassen anders heb je twee verschillende variabelen. $mijnnaam is namelijk niet dezelfde variabele als $mijnNaam.
Test je code en als het goed is zie je nu dat de waarde van jouw variabele op het scherm (in je broswer) wordt afgedrukt.
Opdracht 3b
Breid je code uit en voeg een extra variabele toe mijnLeeftijd en geef die de waarde van jouw-leeftijd. Druk ook de leeftijd af.
De leeftijd is een nummer en dus geen zinnetje. De leeftijd hoeft daarom niet tussen "" te worden geplaatst!
Test je code!
Inleveren
Het bestand php103-jouw-naam.php
--
4 Opdracht mijnnaam en mijnleeftijd
Wat ga je leren?
In deze les leer je code lezen en probeer je te begrijpen wat er gebeurt. Hiervoor krijg je code en worden er vragen over deze code gesteld. Je kunt alles gewoon zelf uitproberen, ga niet gokken, maar controleer je antwoorden door het zelf te proberen! Als tweede opdracht in deze les krijg je een stukje code met twee foutjes. Kun jij deze foutjes vinden en oplossen? |
We beginnen met deze code:
<?php
$mijnNaam="Random";
$mijnLeeftijd=23;
$mijnNaam="Foobar";
$mijnLeeftijd=$mijnleeftijd+1;
echo "ik heet $mijnNaam en ik ben $mijnLeeftijd jaar oud.";
?>
Kijk naar de code hierboven en probeer te voorspellen wat de output is. Wat er dus wordt afgedrukt.
Tip: als je de waarde van een variabele wil veranderenden dan kun je de waarde gewoon overschrijven. Je hoeft de variabele niet eerst leeg te maken of.zo.
Maak een nieuw bestand in c:\xampp\htdocs\phplevel1-jouw-naam
Noem het bestand php03-jouw-naam.php
Zet de code erin en kijk of er inderdaad gebeurt wat jij had voorspelt.
Open MS Word, kopieer de vraag en tik daaronder jouw antwoord. Test aan de hand van code of jouw antwoord klopt.
Stel je drukt op regel 5 de waarde van $mijnNaam af, wat is dan de waarde? Antwoord: .... Stel je drukt op regel 8 de waarde van $mijnNaam af, wat is dan de waarde? Antwoord: .... Stel je drukt op regel 5 de waarde van $mijnLeeftijd af, wat is dan de waarde? Antwoord: .... Stel dat je regel 4 twee maal uitvoert. Je kopieert dus regel 4 naar regel 5, zodat deze twee maal voorkomt. Wat is nu de waarde van $mijnnaam vlak na regel 5? Antwoord: .... Stel dat je regel 7 twee maal uitvoert. Je kopieert dus regel 7 naar regel 8, zodat deze twee maal voorkomt. Wat is nu de waarde van $mijnnaam valk na regel 8? Antwoord: .... Leg in eigen woorden uit wat er gebeurt. |
Sla het MS Word bestand op met de naam PHP04a-jouw-naam en lever dat in.
Fouten vinden
Als programmeur maak je code, maar een veel belangrijker onderdeel van je werk wordt het opsporen en verbeteren van fouten.
Soms zijn dat fouten die anderen hebben gemaakt, maar vaak zijn het ook fouten die je zelf hebt gemaakt. Het verbeteren van fouten wordt ook wel debuggen genoemd.
Maak een bestand PHP04b-jouw-naam.php (let op dat dit bestand een PHP bestand is).
Kopieer de volgende code naar PHP04b-jouw-naam.php en test de code uit.
<?php
$mijnNaam = "Random";
$mijnLeeftijdNu = 23;
$mijnLeeftijdVolgendJaar = $mijnLeeftijdNu+1
echo "ik heet $mijnnaam en ik ben $mijnLeeftijd jaar oud, volgend jaar ben ik $mijnLeeftijdVolgendJaar oud.";
?>
De programmeur heeft twee kleine foutjes gemaakt. Lees de foutmelding en probeer de twee fouten op te lossen.
Verbeter de code, test het en als alles goed werkt lever je dit bestand ook in.
Inleveren
Je hebt nu twee bestanden ingeleverd:
- PHP104a-jouw-naam.docx , hierin staan de antwoorden op 5 vragen.
- PHP104b-jouw-naam.php , hierin staat de verbeterde en getest code.
--
5 Strings
Wat ga je leren?
Variabelen heb je in alle soorten en maten. De twee belangrijkste zijn getallen en strings. In deze les leer je wat een string variabele is en hoe je er in PHP mee kan werken. |
We hebben al kennis gemaakt met strings in de vorige les over variabelen, maar in deze les gaan we hier nog wat verder op in.
Je hebt verschillende soorten variabelen.
Om te beginnen zijn er twee hoofdsoorten: strings en getallen. In deze les gaan we kijken naar strings.
Strings
Strings (letterlijk vertaald een ketting) is een ketting van letters en/of getallen achter elkaar. Om het begin en een eind van een string aan te geven staat een string altijd tussen quotes. Je mag enkele of dubbele quotes gebruiken.
<?php
$string = "dit is een voorbeeld";
$nogEenString = 'dit is ook een string';
echo $string;
echo $nogEenString;
?>
Op regel 3 staat een string tussen dubbele quotes en op regel 4 staat een string tussen enkele quotes '.
Met strings kan je verschillende dingen doen. Zo kan je strings aan elkaar plakken. Dat heet concatenation (Engels).
In PHP plak je strings aan elkaar door tussen twee string een punt te zetten.
<?php
$voornaam="Alexandra";
$achternaam="Gaona";
echo $voornaam." ".$achternaam;
?>
Op regel 5 worden eigenlijk drie strings aan elkaar geplakt. Eerst de string die in de variabele $voornaam staat dan de string " " (deze staat niet in een variabele) en dan string die in de variabele $achternaam staat.
Als je de HTML code <br> afdrukt dan wordt er een regel overgeslagen. "<br>" is een string.
echo "<br>"; // regel overslaan
Dus regel 1 drukt de string "<br>" af en de browser slaat dan een regel over.
De // aan het einde van de regel is overigens commentaar. Het doet niets en het heeft alleen als doel om je code duidelijker te maken (voor anderen of later voor jezelf).
Opdracht 5a
<?php
$voornaam="Alexandra";
$achternaam="Gaona";
echo $voornaam." ".$achternaam;
echo "Alexandra ".$achternaam;
?>
Test de code.
Zie jij het verschil tussen regel 5 en regel 6?
Leg in eigen woorden uit wat het verschil is tussen regel 5 en regel 6.
Inleveren
- jouw uitleg
Opdracht 5b
Maak een nieuw bestand php105a-jouw-naam.php
Gebruik het laatste voorbeeld (zonder regel 6) en verander de voor- en achternaam in je eigen naam en verander de code zodat het volgende wordt afgedrukt.
Gebruik de variabelen $voornaam en $achternaam. Geef de variabelen de juisten waarden. Dus $voornaam wordt jouw voornaam en $achternaam krijgt jouw achternaam.
Maak gebruik van string concatenation (aan elkaar plakken van strings).
De output, de tekst in je browser bestaat uit drie regels. Gebruik de string "<br>" om een regel over slaan.
Welkom jouw-voornaam jouw achternaam!
Ik ben blij om je te zien!
Zet de code in php05-jouw-naam.php.
Test je code uit!
Inleveren
- screenshot waarin je laat zien dat je code werkt.
- jouw code php05b-jouw-naam.php.
Opdracht 5c
Bedenk nu zelf twee variabelen, geef deze een waarde en maak een juiste Nederlandse zin met deze twee variabelen.
Voorbeeld:
$huisdier="hond";
$kleur="zwart";
echo "Mijn ".$huisdier." is ".$kleur;
Dus bedenk ene eigen voorbeeld met eigen variabelen.
Dit zijn de regels:
- Bedenk minimaal twee eigen logische variabele namen.
- Geef deze variabele een logische waarde.
- Druk een zin af. Gebruik string concatenation (aan elkaar plakken van strings) en druk een juiste Nederlandse zin af.
Inleveren
- screenshot waarin je laat zien dat je code werkt.
- jouw code php05c-jouw-naam.php.
6 getallen (integer)
Wat ga je leren?
Een veel gebruikt type variabele is integer. In deze les je wat een integer variabele is en hoe je daar mee kan werken in PHP. |
Naast strings hebben we ook getallen. Deze zijn weer onderverdeeld in gehele getallen (integers) en gebroken getallen (float). Dat verschil is in PHP niet zo belangrijk omdat PHP zelf het juiste soort kiest.
Getallen zijn wel anders dan strings want je kunt er mee rekenen. Om aan te geven dat je een getal bedoeld en geen string, zet je een getal niet tussen quotes.
Dus $voorbeeld="9" is de string "9" en $voorbeeld=9 is het getal 9.
<?php
$getal1=12;
$getal2=13;
echo $getal1 + $getal2;
?>
Net zoals je getallen kan optellen, kun je ook andere bewerkingen uitvoeren.
Bewerking |
teken |
voorbeeld |
optellen |
+ |
echo $a + $b; |
aftrekken |
- |
echo $a - $b; |
vermenigvuldigen (keer) |
* |
echo $a * $b; |
delen |
/ |
echo $a / $b; |
Opdracht 6a
Test de volgende code.
$a=10;
$b=4;
echo "$a - $b";
echo $a - $b;
Maak een document php106a-jouw-naam.txt en beschrijf daarin wat er wordt afgedrukt op regel 4 en wat er wordt afgedrukt op regel 5. Leg in jouw eigen woorden uit waarom er op regel 4 wat anders wordt afgedrukt als op regel 5.
Opdracht 6b
Maak het bestand php104-jouw-naam.php.
Maak de variabele $mijnLeeftijd en geef de variabele de waarde die overeenkomt met je leeftijd.
Maak een variabele $volgendJaar en bereken met de variabele $mijnLeeftijd hoe oud je volgende jaar bent.
Maak een variabele $overTienJaar en bereken met de variabele $mijnLeeftijd hoe oud je over tien jaar bent.
Druk de uitkomsten af met de volgende code
// maak hier je eigen code
//
//
echo "Ik ben $mijnLeeftijd jaar";
echo "<br>";
echo "Volgend jaar ben ik $volgendJaar oud";
echo "<br>";
echo "Over 10 jaar ben ik $overTienJaar oud";
Test je code!
Inleveren
Als alles goed werkt dan lever je in:
- Het bestand php06b-jouw-naam.txt
- Het bestand php06b-jouw-naam.php
- Een schermafdruk van je hele browser scherm waarin dus ook de URL (web adres te zien is) te zien is en waarin je de output van je code laat zien.
7 Condition if-then-else
Wat ga je leren?
Code wordt regel voor regel van boven naar beneden uitgevoerd, maar niet alle code hoeft te worden uitgevoerd. In deze les leer je hoe je met een if in PHP kan werken en hoe je dus kan zorgen dat code alleen wordt uitgevoerd als er aan ene voorwaarde wordt voldaan. |
IF
Stel je maakt een spel en je moet bepalen of de speler het juiste antwoord heeft gegeven. Dan gaat dat als volgt:
- Heeft de gebruiker het juiste antwoord gegeven dan komt er 1 bij zijn score.
- Heeft de gebruiker niet het juiste antwoord gegeven dan gebeurt er niets.
Er komt alleen iets bij de score als er aan een voorwaarde is voldaan. In PHP heb je hiervoor een if-statement. Dit statement heeft een voorwaarde en als er aan de voorwaarde wordt voldaan dan wordt er een ander statement of stukje code uitgevoerd.
Dat ziet er bijvoorbeeld zo uit:
$score=0;
$vraag = "Hoeveel is 10+2?";
$antwoord = 12;
if ( $antwoord == 12 ) {
$score = $score + 1;
}
echo "De score is: $score";
Op regel 6 wordt het antwoord gecontroleerd. Is het antwoord juist dan wordt alle code tussen { en } uitgevoerd. In dit geval is dat alleen regel 7.
Wat valt je op? De dubbele == op regel 6?
Op regel 4 zie je een enkele = en op regel 6 een dubbele!
Dat komt omdat ze beide iets anders betekenen.
teken |
voorbeeld |
betekent |
= |
$antwoord = 12 |
De waarde van $antwoord wordt 12 |
== |
$antwoord == 12 |
Is de waarde van $antwoord gelijk aan 12? |
We kunnen ons afvragen of waarden gelijk zijn, maar er zijn nog een heel stel andere voorwaarden. De belangrijkste zijn:
teken |
voorbeeld |
betekent |
== |
$antwoord == 12 |
Is de waarde van $antwoord gelijk aan 12? |
!= |
$antwoord != 12 |
Is de waarde van $antwoord ongelijk aan 12? |
> |
$antwoord > 12 |
Is de waarde van $antwoord groter dan 12? |
< |
$antwoord < 12 |
Is de waarde van $antwoord kleiner dan 12? |
>= |
$antwoord >= 12 |
Is de waarde van $antwoord groter of gelijk aan 12? |
<= |
$antwoord <= 12 |
Is de waarde van $antwoord kleiner of gelijk aan 12? |
ELSE
Stel voor dat als de score fout is dat er dan een punt van de score wordt afgetrokken, dan zou je dat zo kunnen coderen
$score=0;
$vraag = "Hoeveel is 10+2?";
$antwoord = 12;
if ( $antwoord == 12 ) {
$score = $score + 1;
} else {
$score = $score -1;
}
echo "De score is: $score";
Opdracht 7a
Maak een nieuw bestand en noem dat php107a-jouw-naam.php
Maak de onderstaande code af door de puntjes op regel 4 te vervangen door een vergelijking te maken. Controleer of de waarde van $variabele1 en $variabele2 gelijk zijn.
$variabele1 = 10;
$variabele2 = 10;
if(.......) {
echo "De twee waarden zijn gelijk";
}
Inleveren
-
php07a-jouw-naam.php
Opdracht 7b
Maak een nieuw bestand en noem dat php107b-jouw-naam.php
Maak de onderstaande code af door de puntjes op regel 4 te vervangen door een vergelijking te maken. Controleer of de waarde van $variabele1 en $variabele2 ongelijk zijn.
$variabele1 = 10;
$variabele2 = 10;
if(.......) {
echo "De twee waarden zijn ongelijk gelijk";
}
Inleveren
-
php07b-jouw-naam.php
Opdracht 7c
Maak een nieuw bestand en noem dat php107c-jouw-naam.php
Maak de onderstaande code af door de puntjes op regel 4, 6 en 8 te vervangen. Maak een if-then-else constructie en zorg ervoor dat de juisten tekst wordt afgedrukt.
$variabele1 = 10;
$variabele2 = 10;
....
echo "De twee waarden zijn gelijk";
....
echo "De twee waarden zijn ongelijk";
....
Inleveren
- php107c-jouw-naam.php
Bronnen
Jaap vd Veen - statements
W3 Schools - operators
W3 Schools - if else
8 HTML, PHP en include
Wat ga je leren?
In deze les leer je hoe je HTML en PHP samen kunt gebruiken.
|
Include
Om je code overzichtelijk te houden, stop je niet al je code in één groot bestand, maar je deelt het op in meerdere kleinere bestanden. Je kunt dan snel de juisten code vinden.
Zo kun je php code hebben die een footer afdrukt. Stel je wilt je volgende footer:
<?php
echo "<hr>";
echo "(c) copyright<br>";
echo "De inhoud en structuur van onze webpagina's zijn auteursrechtelijk beschermd.";
?>
<!DOCTYPE html>
<html>
<body>
<h1>My First Heading</h1>
<p>My first paragraph.</p>
</body>
<?php
inclulde 'footer.php';
?>
</html>
Zie je wat er op regel 9 gebeurt? Je voegt als het ware de inhoud van de footer.php toe op regel 9. Hieronder zie je dan wat de include eigenlijk doet.
<!DOCTYPE html>
<html>
<body>
<h1>My First Heading</h1>
<p>My first paragraph.</p>
</body>
<?php
echo "<hr>";
echo "(c) copyright<br>";
echo "De inhoud en structuur van onze webpagina's zijn auteursrechtelijk beschermd.";
?>
</html>
De include verwijst altijd naar een bestand.
Let erop dat je alleen php code kan uitvoeren als de naam van het bestand op .php eindigt. Bovenstaand voorbeeld werkt dus alleen als de naam eindigt in .php.
Je kunt de naam van het bestand ook als string mee geven, tussen " zoals in het voorbeeld, maar je kunt natuurlijk ook een variabele meegeven:
include $footer;
De code van het bestand waarvan de naam in de variabele $footer staat wordt nu ingevoegd.
Nog een voorbeeld
Voorbeeld: home.php
<?php
include 'database.php';
?>
<html>
<head>
</head>
<body>
<div class="menu">
<?php include 'menu.php'; ?>
</div>
</body>
</html>
Je ziet in bovenstaand voorbeeld op regel 9 dat een menu met behulp van php wordt ingevoegd in de
<div class="menu"> .... </div>
Je ziet dat php geopend wordt <?php
en er dan normale php-code volgt. Zodra de php code klaar is dan sluiten we de php code weer met ?>
.
Opdracht 8a
Maak een eigen footer.php en zet daarin een eigen footer. Noem het bestand php108a-footer-jouw-naam.php
Maak een eenvoudige webpagina php8a-jouw-naam.php.php .
Maak een titel <h2> Mijn Webpagina.
Zet daaronder welkom < jouw naam>
Gebruik tenminste een <body> en <html> tag
Geef de variabele $footer de naam van het bestand waarin jouw footer staat en include de footer door gebruik te maken van de variabele $footer en het php statement include.
Inleveren
- php08a-jouw-naam.php.php
- php08a-footer-jouw-naam.php
Opdracht 8b
Ga naar W3 schools en zoek op hoe je include en require gebruikt.
Maak een bestand php108b-jouw-naam.php.php en schrijf daarin in je eigen woorden het antwoord op de volgende vragen:
- Wat is het verschil tussen include en require?
- Wanneer zou je require liever gebruiken dan include? Probeer een voorbeeld te verzinnen.
Bronnen
9 Logical operators en korte broeken
Wat ga je leren?
In deze les gaan we leren hoe we condities kunnen combineren. We leren hoe we code alleen kunnen laten uitvoeren als er aan twee voorwaarden wordt voldaan. En we leren hoe we code kunnen uitvoeren als er aan één van de twee voorwaarden wordt voldaan. |
We hebben het gehad over if-then-else.
Met een if-then-else kun je voorwaardelijk code uitvoeren. Alleen als een bepaalde vergelijking waar is dan wordt bepaalde code uitgevoerd.
Stel je hebt een variabele $temperatuur waarin de temperatuur staat en stel je hebt een andere variabele waarin de dag van de week staat. Dus bijvoorbeeld:
$temperatuur = 21;
$dagVanDeWeek = 'ma';
Dus in dit voorbeeld is het maandag en de temperatuur is 21 graden. Stel dat ik code moet schrijven die mij advies geeft over het dragen van een korte broek. Ik wil alleen een korte broek aan doen als het zaterdag is én als de temperatuur minimaal 21 gragen is. Dat zijn dus twee voorwaarden die waar moeten zijn.
Hoe doe je dat in code?
$temperatuur = 21;
$dagVanDeWeek = 'ma';
if ( $temperatuur >= 21 && $dagVanDeWeek == "za" ) {
echo "Advies is om vandaag een korte broek aan te trekken.";
} else {
echo "Advies is om vandaag geen korte broek aan te trekken.";
}
Zie je het && - teken?
Dat betekent dat beide voorwaarden waar moeten zijn. Dus de temperatuur is groter of gelijk aan 21 graden én de dag van de week is 'za'.
Stel dat we nu op zaterdag of zondag altijd een korte broek willen dragen, hoe zou de code er dan uit zien?
$temperatuur = 21;
$dagVanDeWeek = 'ma';
if ( $dagVanDeWeek == "za" || $dagVanDeWeek == "zo" ) {
echo "Advies is om vandaag een korte broek aan te trekken.";
} else {
echo "Advies is om vandaag geen korte broek aan te trekken.";
}
Zie je het || - teken?
Dat betekent dat aan één van de voorwaarden moet worden voldaan. Dus als de dag van de week zaterdag óf zondag is dan volgt het advies voor het dragen van een korte broek.
In de voorbeelden gebruik ik && voor and en || voor or. In de meeste programmeertalen kun je ook gewoon het woord and en or gebruiken. Dat werkt in PHP ook.
Dus de volgende twee regels doen hetzelfde.
if ( $temperatuur >= 21 && $dagVanDeWeek == "za" ) {....
if ( $temperatuur >= 21 and $dagVanDeWeek == "za" ) {....
Dus samengevat
Betekenis |
Voorbeeld |
||
&& |
and |
AND, aan beide voorwaarden moet zijn voldaan |
if ( $temperatuur >= 21 && $dagVanDeWeek == "za" ) { |
|| |
or |
OR, aan één van beide voorwaarden zijn voldaan |
if ( $dagVanDeWeek == "za" || $dagVanDeWeek == "zo" ) { |
Haakjes in condities
Stel we willen alleen een korte broek aan als de temperatuur minimaal 21 graden is én de dag zaterdag is of de dag zondag is.
Dan krijgen we de volgende code:
if ( $temperatuur >= 21 && $dagVanDeWeek == "za" || $dagVanDeWeek == "zo" ) {
Maar stel dat het anders is. Op zondag willen we altijd een korte broek dragen en op zaterdag alleen als de temperatuur minimaal 21 graden is. Dus in code:
if ( $dagVanDeWeek == "zo" || $temperatuur >= 21 && $dagVanDeWeek == "za" ) {
Maar deze code is bijna hetzelfde als de vorige code, alleen de volgorde is anders. Om de code goed uit te voeren moeten we haakjes gebruiken:
Korte broek in het weekend als de temperatuur 21 graden of hoger is:
if ( $temperatuur >= 21 && ( $dagVanDeWeek == "za" || $dagVanDeWeek == "zo" ) ) {
Het geen tussen haakjes, de || wordt eerst uitgevoerd, daarna volgt de &&
Korte broek op elke zondag en zaterdag alleen als de temperatuur 21 graden of hoger is.
if ( ($temperatuur >= 21 && $dagVanDeWeek == "za" ) || $dagVanDeWeek == "zo" ) {
Hier wordt eerst de && uitgevoerd en daarna volgt de ||.
Opgave
$dagVanDeWeek='ma';
$feestdag='nee';
$vrijeDag='nee';
if ( ...... ) {
echo "Advies is om 06:30 uur op te staan";
} else {
echo "Lekker uitslapen";
}
Geef een advies om om 06:30 op te staan als:
- De dag van de week 'ma' is én er geen feestdag is.
- De dag van de week 'ma'of 'di'of 'wo' of 'do' of 'vr' is.
- De dag van het week geen zaterdag of zondag is.
- De dag van de week 'ma' is én er geen feestdag is én er geen vrije dag is.
- De dag van de week 'ma' of 'wo' is én er geen feestdag is én er geen vrije dag is.
<?php
$dagVanDeWeek=[ 'ma', 'di','wo','do','vr','za','zo','zo' ];
$feestdag=[ 'ja', 'nee'];
$vrijeDag=[ 'ja', 'nee'];
foreach($dagVanDeWeek as $dag) {
foreach($feestdag as $fd) {
foreach($vrijeDag as $vd) {
echo "Test, vandaag is het $dag, feestdag: $fd, vrijde dag:$vd <br>";
if ( ...... ) {
echo "Advies is om 06:30 uur op te staan";
} else {
echo "Lekker uitslapen";
}
echo "<br>";
}
}
}
Inleveren
- php109-jouw-naam.php
Zet hierin de 5 condities. Gebruik onderstaande template en zorg ervoor dat jouw code is getest.
//De dag van de week 'ma' is én er geen feestdag is.
if (...) {
//De dag van de week 'ma'of 'di'of 'wo' of 'do' of 'vr' is.
if (...) {
//De dag van het week geen zaterdag of zondag is.
if (...) {
//De dag van de week 'ma' is én er geen feestdag is én er geen vrije dag is.
if (...) {
//De dag van de week 'ma' of 'wo' is én er geen feestdag is én er geen vrije dag is.
if (...) {
10 Eindopdracht coderen en testen
Wat ga je leren?
Met alles wat we hebben geleerd gaan we een PHP programmaatje maken. Let's go! |
Een webshop geeft zomerse korting.
Korting
10% op alle artikelen als de temperatuur dit weekend boven de 21 graden, maar niet boven de 25 graden uitkomt. 15% als de temperatuur dit weekend boven de 25 graden uitkomt. 20% als de temperatuur dit weekend boven de 30 graden uitkomt. |
Bezorgkosten
De bezorgkosten zijn standaard 4 euro per bestelling, maar als de prijs van de bestelling (na korting) meer dan 40 euro is dan zijn de bezorgkosten 0.
<?php
// vul waarden in voor de volgende variabelen
$temperatuur=
$prijsBestelling=
// bepaal de $bezorgkosten
...
...
// bepaal de korting
...
...
// druk resutlaat af
echo "Bedrag bestelling: $prijsBestelling";
echo "<br>";
echo "Temperatuur dit weekend: $temperatuur";
echo "<br>";
echo "Korting: $korting";
echo "<br>";
echo "Bezorgkosten: $bezorgkosten";
echo "<br>";
echo "<br>";
echo "Eindbedrag: ".$prijsBestelling-$korting+$bezorgkosten;
Maak de code af en zorgen ervoor dat het eindbedrag juist wordt berekend.
Bepaal eerst de $bezorgkosten op regel 8, dan de korting op regel 12.
Vul testwaarden in op regel 4 en 5 en test de code. Test met verschillende waarden.
Testlog
Maak een testlog. Dit is een kort documentje waarin je telkens als je test de testwaarden noteert en daarbij zet je het eindbedrag neer.
In het test documentje staat bijvoorbeeld het volgende:
temperatuur |
prijsBestelling |
Eindbedrag |
Correct (ja/nee) |
20 |
40 |
40 |
ja |
20 |
42 |
42 |
ja |
22 |
42 |
41,8 | ja |
30 |
10 |
12 |
ja |
50 |
5 |
9 |
ja |
Bepaal minimaal 10 test scenario's.
Inleveren
- code php110-jouw-naam.php.php
- testlog test110-jouw-naam.pdf (gebruik save as in MS Word en kies PDF als bestands type)