PHP1
Variabelen 1
Lees de theorie.
Op de vorige pagina hebben we naar deze code gekeken.
Zorg ervoor dat je deze vorige pagina goed hebt gelezen!
Gelezen? OK, dan gaan we verder....
<?php
$mijnNaam="Mohammed";
?>
We gaan met deze code aan de slag.
Maak een nieuw bestand in c:\xampp\htdocs\phplevel1-jouw-naam
Noem het bestand php02-jouw-naam.php
Maak je eigen code en geef daarbij de variabele $mijnnaam de waarde van jouw naam.
Als je een variabele als een doosje ziet waar je iets in stopt, dan stop je dus jouw naam in het doosje $mijnnaam.
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 browser) wordt afgedrukt.
Inleveren
Het bestand php02-jouw-naam.php
--
Variabelen 2
Breid de code uit de vorige opdracht uit.
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 daarom niet tussen "" plaatsen! Test je code!
Inleveren
Het bestand php03-jouw-naam.phpEen screenshot waarop jouw PHP-code te zien is.
mijnNaam en mijnLeeftijd
Wat ga je leren?
Code lezen en 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 foutloze code:
1 <?php
2
3 $mijnNaam="Random";
4 $mijnLeeftijd=23;
5
6 $mijnNaam="Foobar";
7 $mijnLeeftijd=$mijnLeeftijd+1;
8
9 echo "ik heet $mijnNaam en ik ben $mijnLeeftijd jaar oud.";
10
11 ?>
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 veranderen 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 php04-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.
1: Stel je drukt op regel 5 de waarde van $mijnNaam af, wat is dan de waarde? Antwoord: .... 2: Stel je drukt op regel 8 de waarde van $mijnNaam af, wat is dan de waarde? Antwoord: .... 3: Stel je drukt op regel 5 de waarde van $mijnLeeftijd af, wat is dan de waarde? Antwoord: .... 4: Stel dat je regel 4 twee maal uitvoert. Antwoord: .... 5: Stel dat je regel 7 twee maal uitvoert. Antwoord: .... 6: Leg bij opdracht 5 in eigen woorden uit wat er gebeurt. Antwoord: .... |
|
Sla het MS Word bestand op in PDF formaat met de naam PHP04-jouw-naam.pdf 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 PHP05-jouw-naam.php (let op dat dit bestand een PHP bestand is).
Kopieer de volgende code naar PHP05-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 op 2 regels 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
- PHP05-jouw-naam.php , hierin staat de verbeterde en getest code.
Strings 1
Lees de theorie
Opdracht
01 <?php
02 $voornaam="Alexandra";
03 $achternaam="Gaona";
04
05 echo $voornaam." ".$achternaam;
06 echo "Alexandra"." "."Gaono";
07 ?>
Test de code.
Regel 5 en 6 doen beide hetzelfde, althans hetzelfde wordt afgedrukt. Toch is er verschil. Hoe moet je de code bijvoorbeeld aanpassen, zodat de voornaam 'Ali' wordt?
Leg in eigen woorden uit wat het verschil is tussen regel 5 en regel 6.
Tip1: verander regel 2 en geef $voornaam een andere waarde, bijvoorbeeld jouw voornaam.
Wat gebeurt er? Zie je nu het verschil?
Tip2: denk aan wat een variabele is, en waar wordt die gebruikt?
Je kunt als template het volgende gebruiken.
Op regel 5 wordt ..... afgedrukt omdat ......
Op regel 6 wordt ..... afgedrukt omdat .......
Inleveren
- jouw uitleg (in text veld)
Strings 2
Opdracht
Maak een nieuw bestand php05b-jouw-naam.php
<?php
$voornaam="Alexandra";
$achternaam="Gaona";
echo $voornaam." ".$achternaam;
echo "Alexandra ".$achternaam;
?>
Gebruik dit laatste voorbeeld en verander de voor- en achternaam in je eigen naam en verander de code zodat het volgende wordt afgedrukt.
Welkom jouw-voornaam jouw achternaam!
Ik ben blij om je te zien!
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 3 regels. Gebruik de string "<br>" om een regel over slaan.
Test je code uit!
Inleveren
- screenshot waarin je laat zien dat je code werkt.
- jouw code php05b-jouw-naam.php.
Strings 3
Opdracht
Bedenk nu zelf 2 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 een eigen voorbeeld met eigen variabelen.
Dit zijn de regels:
- Bedenk minimaal 2 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.
Getallen 1
Lees eerst de theorie.
Opdracht
Test de volgende code.
01 $a=20;
02 $b=8;
03
04 echo "$a - $b";
05 echo $a - $b;
Beschrijf 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.
Kom je er niet uit? Maak dan de volgende twee zinnen af.
Op regel 4 wordt ..... afgedrukt omdat ......
Op regel 5 wordt ..... afgedrukt omdat ......
(hint: denk aan variabele en strings)
Inleveren
Uitleg in online text
Getallen 2
Opdracht
Maak het bestand php06-jouw-naam.php.
Maak de variabele $mijnLeeftijd en geef de variabele de waarde die overeenkomt met je leeftijd.
Maak een variabele $vorigJaar en bereken met de variabele $mijnLeeftijd hoe oud je vorige jaar was.
Maak een variabele $overZesJaar en bereken met de variabele $mijnLeeftijd hoe oud je over zes jaar bent.
Druk de uitkomsten af met de volgende code
// maak hier je eigen code
//
//
echo "Ik ben $mijnLeeftijd jaar";
echo "<br>";
echo "Vorig jaar was ik $vorigJaar oud";
echo "<br>";
echo "Over 6 jaar ben ik $overZesJaar oud";
Test je code!
Inleveren (2 bestanden)
* php06-jouw-naam.php
* schermafdruk van je hele browser scherm, URL is zichtbaar, met output van je code
Conditions 1
Lees eerst de theorie.
Opdracht
Maak een nieuw bestand en noem dat php107a-jouw-naam.php
Maak de onderstaande code af op regel 4 (vervang de puntjes).
Plaats daar een vergelijking: 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
Bronnen
Jaap vd Veen - statements
W3 Schools - operators
W3 Schools - if else
Conditions 2
Opdracht
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 = 11;
if(.......) {
echo "De twee waarden zijn ongelijk";
}
Inleveren
-
php07b-jouw-naam.php
Bronnen
Jaap vd Veen - statements
W3 Schools - operators
W3 Schools - if else
Conditions 3
Opdracht
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 juiste tekst op het scherm wordt weergegegeven.
$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
Include
Lees eerst de theorie.
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
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.
Test of je code werkt voordat je het inlevert!
Inleveren
- php8a-jouw-naam.php
- php108a-footer-jouw-naam.php
Bronnen
Require
Opdracht
Ga naar W3 schools en zoek op hoe je include en require gebruikt.
Schrijf in de text box in je eigen woorden het antwoord op de volgende 3 items:
- Wat is het verschil tussen include en require ?
- Wanneer zou je require liever gebruiken dan include?
- Geef een praktijkvoorbeeld van wanneer je require zou gebruiken.
Bronnen
Logische operators 1
Lees eerst de theorie.
Neem onderstaande code over:
<?php
$werkdagVanDeWeek=[ 'ma','di','wo','do','vr'];
$vrijeDag=[ 'ja', 'nee'];
echo "<table border=1>";
echo "<tr><th>dag</th><th>vrije dag</th><th>advies</th></tr>";
foreach($werkdagVanDeWeek as $dag) {
foreach($vrijeDag as $vd) {
echo "<tr>";
echo "<td>$dag</td><td>$vd</td><td>";
// je moet vroeg opstaan op vrijdagen als het geen vrije dag is
if ( $dag .. .... && $vd.. .... ) {
echo "07:00 uur op staan";
} else {
echo "uitslapen";
}
echo "</td>";
}
}
echo "</table>";
Maak de conditie in het if-statement af door op de puntjes de code aan te vullen.
Je moet alleen vroeg opstaan op vrijdagen als het geen vrije dag is.
De output van de code moet er dus als volgt uit zien:
Inleveren (2 bestanden)
* Screenshot van de output inclusief de URL
* php01-conditions01-jouw-naam.php
Logische operators 2
Neem onderstaande code over:
<?php
$dagVanDeWeek=[ 'ma','di','wo','do','vr','za','zo' ];
$vrijeDag=[ 'ja', 'nee'];
echo "<table border=1>";
echo "<tr><th>dag</th><th>vrij dag</th><th>advies</th></tr>";
foreach($dagVanDeWeek as $dag) {
foreach($vrijeDag as $vd) {
echo "<tr>";
echo "<td>$dag</td><td>$vd</td><td>";
// je moet vroeg opstaan op elke doordeweekse dag (maandag, dinsdag, woensdag, donderdag of vrijdag)
if ( .... .. .... .. .... .. .... .. .... ) {
echo "06:30 uur op staan";
} else {
echo "uitslapen";
}
echo "</td>";
}
}
echo "</table>";
Maak de conditie in het if-statement af door op de puntjes de code aan te vullen.
Je moet vroeg opstaan op elke doordeweekse dag (maandag, dinsdag, woensdag, donderdag of vrijdag).
De output van de code moet er dus als volgt uit zien:
Inleveren
- Screenshot van de output inclusief de URL.
- Je code php01-conditions02-jouw-naam.php
Logische operators 3
Neem onderstaande code over:
<?php
$dagVanDeWeek=[ 'ma','di','wo','do','vr','za','zo' ];
$vrijeDag=[ 'ja', 'nee'];
echo "<table border=1>";
echo "<tr><th>dag</th><th>vrij dag</th><th>advies</th></tr>";
foreach($dagVanDeWeek as $dag) {
foreach($vrijeDag as $vd) {
echo "<tr>";
echo "<td>$dag</td><td>$vd</td><td>";
// je werkt op maandag en dinsdag; je moet dus vroeg opstaan op maandag of dinsdag als het geen vrije dag is.
if ( ......... ) {
echo "06:30 uur op staan";
} else {
echo "uitslapen";
}
echo "</td>";
}
}
echo "</table>";
Maak de conditie in het if-statement af door op de puntjes de code aan te vullen.
Let op dit is een lastige, controleer je antwoord goed!
Kom je er niet uit? Lees dan het stuk over " Logische operatoren en korte broeken " en dan vooral het stukje " haakjes in condities ".
Je moet alleen vroeg opstaan op maandagen als het geen vrije dag is.
De output van de code moet er dus als volgt uit zien:
Alleen op de maandag en dinsdag die geen vrije dagen zijn, moet je vroeg op staan.
Inleveren
- Screenshot van de output inclusief de URL.
- Je code php01-conditions03-jouw-naam.php
Eindopdracht coderen - deel 1
Wat ga je leren?
Met alles wat we hebben geleerd gaan we een PHP programma maken. Let's go! |
Een webshop geeft zomerse korting op alle artikelen als dit weekend bepaalde zomerse temperaturen worden bereikt.
De korting bepaal je in de code aan de hand van de temperatuur.
10%: boven de 21 graden, maar niet boven de 25 graden 15%: boven de 25 graden, maar niet boven de 30 graden 20%: boven de 30 graden |
Bezorgkosten
De bezorgkosten zijn standaard 4 euro per bestelling, maar als de prijs van de bestelling (na zomerse korting) meer dan 40 euro is dan zijn de bezorgkosten 0.
<?php
// vul waarden in voor de volgende variabelen
$temperatuur=
$prijsBestelling= // bepaal de korting
...
...
// bepaal de $bezorgkosten
...
...
// druk resultaat 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.
Inleveren
- code php10-jouw-naam.php
Eindopdracht testen - deel 2
Testen
In de code die je in deel één hebt gemaakt kun je met verschillende waarden testen. Laten we bijvoorbeeld testen wat er uit komt als de temperatuur 20 is, en de prijs van de bestelling 40.
Vul testwaarden in op regel 4 en 5 en test de code. Wat komt er uit jouw code en klopt dat?
Testlog
Maak een testlog . Dit is een kort documentje waarin je telkens als je test de testwaarden (gebruik handige waarden!) noteert en daarbij zet je het eindbedrag neer.
In het test documentje staat bijvoorbeeld het volgende:
temperatuur | prijsBestelling | Eindbedrag | Correct (ja/nee) |
20 | 40 | 44 | ja/nee |
20 | 42 | 42 | ja/nee |
22 | 42 | 41,8 | ja/nee |
30 | 10 | 12,5 | ja/nee |
50 | 5 | 8 | ja/nee |
In de laatste kolom moet je ja of nee invullen afhankelijk van het resultaat. Bepaal minimaal 10 test scenario's. Je hebt er al 5 (hierboven), dus je moet er zelf nog minimaal 5 bij bedenken. Je moet dus 10 combinaties kiezen, uitrekenen wat er uit moet komen, opschrijven en dan testen of dat er ook uit komt.
Inleveren
- testlog test10-jouw-naam.pdf (gebruik "save as" in MS Word en kies PDF als bestands type)
PHP Eindtest
PHP Eindtest. Je krijgt 5 willekeurige vragen. Je krijgt 6 minuten de tijd om de quiz te maken.
Je mag deze test maximaal 6x doen.