# PHP Intro
## 1 Front-End en Back-End
### **π―** Leerdoelen
- Je weet wat frontend en backend zijn.
- Je kunt het verschil uitleggen in je eigen woorden.
- Je kunt bij een website aanwijzen wat frontend is en wat backend is.
#### Wat is frontend?
- **De voorkant** van een website: alles wat de gebruiker ziet.
- Wordt gemaakt met HTML, CSS, JavaScript.
- Denk aan knoppen, kleuren, tekst, afbeeldingen.
π Vergelijking: de menukaart en bediening van een restaurant.
#### Wat is backend?
- **De achterkant** van een website: alles wat op de server gebeurt.
- Zorgt voor berekeningen, het opslaan van gegevens, inloggen, bestellingen verwerken.
- Wordt vaak gemaakt met talen zoals PHP, Python, Node.js.
π Vergelijking: de keuken van een restaurant.
#### Client en server
De computer is geen restaurant, maar je kunt het er wel mee vergelijken: de webbrowser waar de bestellingen worden opgenomen en de webserver (ergens in de cloud) is de keuken.

#### Bestandsoorten
We kennen al HTML en CSS, later gaan we ons verdiepen in Javascript en PHP.
Bestandssoorten
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
### Opdracht 1
Geef van elk van de onderstaande situatie wat het is:
**front-end, back-end of beiden?**
Licht elk antwoord in eigen woorden toe.
**Situatie**
**Front-end, back-end, beiden**
**Toelichitng**
1
Je klikt op een knop om een filmpje te starten.
2
Je stuurt een contactformulier in en krijgt βBedankt voor je bericht!β.
3
Een webwinkel controleert of er nog voorraad is.
4
Je ziet de kleuren en lettertypes van een website veranderen.
5
Een systeem herkent of je het juiste wachtwoord hebt ingevuld.
**Tip:** Klik met rechts op het bestand en kies "Reveal in File Explorer" als je het ook in Verkenner wil zien.
### π‘ Extra VSC Tips
- Installeer de **PHP Intelephense**-extensie voor slimme PHP-hulp
- Gebruik **Ctrl + S** om op te slaan
- Als je veel bestanden hebt, gebruik dan **Ctrl + P** om snel te zoeken
### Opdracht
Zet dit in het bestand `test.php`
```php
```
Toont de tekst "Hallo wereld!" in je browser.
#### Voorbeeld 2: HTML + PHP
```php
Welkom
```
Hierin zie je dat je PHP kunt combineren met gewone HTML.
### π οΈ Opdracht 3A
Maak een bestand `intro.php` in de map `htdocs` en zet daarin:
```php
Over mij
```
- Vervang `[jouw naam]` door je eigen naam
- Open in de browser via: `http://localhost/intro.php`
### π οΈ Opdracht 3B β Extra
Laat meer zinnen zien met meerdere `echo`-regels en gebruik ` ` om af te breken:
```php
";
echo "Mijn favoriete kleur is blauw. ";
echo "PHP is best leuk!";
?>
```
π Tip: combineer dit in een klein "dagboekje over jezelf".
### π§ Afsluiting
- Wat gebeurt er als je een PHP-bestand opent door erop te dubbelklikken in Verkenner?
- Stel je maakt een folder in htdocs en zet in deze fodler een .php bestand, hoe kan je dat dan via localhost in de browser openen?
### π€ Inleveren
1. Screenshot van de pagina in je browser met jouw naam zichtbaar
## 5 Variabelen en Strings in PHP
*In deze les leer je hoe je gegevens kunt opslaan in variabelen, hoe je met tekst (strings) werkt, en hoe je deze informatie kunt tonen op je website met PHP.*
### π° Wat gaan we doen?
- We leren wat een variabele is
- We maken een paar variabelen aan in PHP
- We tonen informatie op het scherm met `echo`
- We combineren tekst met variabelen (string **concatenatie**)
### π‘ Wat is een variabele?
- Een variabele is een soort doosje waarin je informatie kunt stoppen
- Je geeft het doosje een naam, zoals `$naam` of `$leeftijd`
- Je kunt de waarde later gebruiken of aanpassen
#### Voorbeeld
```php
```
**Resultaat:** Hallo, mijn naam is Fatima en ik ben 16 jaar oud.
##### String concatetation
Je ziet dat de . (punt) een verbinding maakt tussen de teksten en de variabelen. Het plakt alle aan elkaar. Dit heet string concatenation.
String concatenation in PHP doe je met een . (punt)
### π οΈ Opdracht β Toon jouw info
Maak een bestand `opdracht5.php` in je `htdocs`-map.
Vul dit in met jouw eigen gegevens:
```php
Over mij";
echo "
Ik ben " . $naam . " en ik ben " . $leeftijd . " jaar oud.
";
echo "
Ik zit op " . $school . ".
";
?>
```
- Vervang de waarden door je eigen gegevens
- Open het bestand via `http://localhost/opdracht5.php`
### π οΈ Opdracht β Extra uitdaging
- Voeg een variabele toe voor je favoriete hobby
- Toon dit op een derde regel met:
`Mijn hobby is muziek maken.`
### βΉοΈ Uitleg
- In PHP begint een variabele altijd met een `$`-teken
- Tekst noemen we een **string** (tussen aanhalingstekens)
- Als je tekst en variabelen combineert, gebruik je `.` (punt) om aan elkaar te plakken
### π§ Reflectie
- Wat is het verschil tussen een tekst en een getal in PHP?
- Waarom is het handig om gegevens op te slaan in variabelen?
- Kun je bedenken hoe je variabelen later zou gebruiken in een formulier of website?
### π€ Inleveren
1. Lever je het bestand `opdracht.php5`i n.
Je tekst moet minimaal 3 variabelen gebruiken
## 6 Strings en Getallen in PHP
*In deze les leer je het verschil tussen tekst (strings) en getallen (integers) in PHP. Je leert ook wat er gebeurt als je probeert te rekenen met tekst of tekst toevoegt aan een getal.*
### π° Wat gaan we doen?
- We leggen het verschil uit tussen strings en getallen
- We oefenen met optellen en tekst plakken
- We maken een mini-rekenmachine
### π‘ Wat is het verschil?
- **String** = tekst, tussen aanhalingstekens: `"Hallo"`
- **Getal**= nummer, zonder aanhalingstekens: `5`
- Als je twee strings met `.` (punt) combineert, dan βplakβ je tekst aan elkaar
- Als je twee getallen met `+` optelt, dan krijg je de som
#### Voorbeeld
```php
";
echo $getal1 + $getal2; // 15
?>
```
### π οΈ Opdracht β Reken met getallen
Maak een nieuw bestand aan in je `htdocs`-map: `rekenen.php`
Schrijf een script dat dit doet:
- Maakt twee variabelen met getallen
- Toont het resultaat van **optellen**, **aftrekken**, **vermenigvuldigen** en **delen**.
#### Voorbeeldcode
```php
Prijs per stuk: β¬" . $prijs . "";
echo "
Aantal: " . $aantal . "
";
echo "
Totaalprijs: β¬" . $totaal . "
";
?>
```
### π‘ Let op met aanhalingstekens!
Als je een getal tussen aanhalingstekens zet, wordt het een **string** en kun je er niet goed mee rekenen:
```php
$getal1 = "10"; // string
$getal2 = 5; // integer
echo $getal1 + $getal2; // dit werkt, maar PHP zet de string stilletjes om naar een getal
```
**Tip:** Probeer getallen **zonder aanhalingstekens** te houden als je ermee rekent!
### π¬Voorbeeld
[https://www.youtube.com/watch?v=przRGJtl0HY](https://www.youtube.com/watch?v=przRGJtl0HY)
### π§ Reflectie
- Wat gebeurt er als je probeert te rekenen met een string zoals `"hallo"`?
- Waarom is het handig dat PHP automatisch strings soms omzet naar getallen?
- Wat zou er gebeuren als je `$prijs` een tekst maakt in plaats van een getal?
### π€ Inleveren
1. Lever een screenshot in van jouw `rekenen.php` in de browser
Je code moet verschillende berekningen laten zien.
## 7 Leeftijd check met formulier
*In deze les leer je hoe je een formulier maakt dat gegevens doorstuurt naar een PHP-script, en hoe je met if-statements reageert op die gegevens.*
### π― Leerdoelen
- Je maakt een [formulier ](https://www.roc.ovh/link/902#bkmrk-6-formulieren-in-html)dat gegevens verzendt naar een PHP-bestand
- Je kunt een `if` gebruiken om iets te controleren
- Je reageert in de browser op wat de gebruiker heeft ingevuld
### π οΈ Formulier maken
Maak een bestand `formulier.html` aan in je `htdocs`-map. Zet hierin de volgende code:
```html
Hoe oud ben jij?
```
#### Uitleg
Dit is een eenvoudig[ HTML-formulier](https://www.roc.ovh/link/902#bkmrk-6-formulieren-in-html) dat de leeftijd vraag en die deze waarde dan opstuurd naar het bestand `leeftijd.php`.
### π οΈ leeftijd.php
Maak nu een bestand `leeftijd.php` en voeg dit toe:
```php
Jouw leeftijd is: " . $leeftijd . "";
if ($leeftijd >= 18) {
echo "Je bent volwassen.";
} else {
echo "Je bent nog geen 18.";
}
?>
```
#### Uitleg
**Op regel 2** wordt de $leeftijd uit de formulier variable gehaald.
**Regel 6 t/m 10** laten zien hoe je een conditiemet een **if-then-else** in PHP maakt.
### π οΈ Opdracht β Zelf uitbreiden
- Voeg een extra if-statement toe die controleert of iemand jonger is dan 12: ```php
if ($leeftijd < 12) {
echo " Je bent nog een kind.";
}
```
- Voeg ook een if-statement toe die een compliment geeft bij een mooie leeftijd (bijvoorbeeld 16 of 21)
- **Bedenk zelf een leuke uitbreieding** of verander het programma. De code moet wel:
- minimaal **3 if-statements** bevatten en minimaal **1 if-then-els**e.
- **Test je code**
### π Tip
- Gebruik `$_GET["veldnaam"]` om iets op te halen uit een formulier
- Gebruik `if`, `else` of `elseif` om verschillende reacties te geven
### π§ Reflectie
- Kun je bedenken hoe je dit formulier zou kunnen gebruiken voor een login of een quiz?
### π€ Inleveren
1. Lever een screenshot in van `leeftijd.php` met een ingevuld formulier en meerdere testleeftijden
Je code moet minstens 3 `if`-statements bevatten waarvan minimaal 1 `if-then-else`.
## 8 Kortingscalculator met formulier
*In deze les maak je een eigen kortingscalculator. Je vult een bedrag en een kortingspercentage in, en de PHP-code berekent de prijs na korting.*
### π― Leerdoelen
- Je gebruikt een formulier met meerdere invoervelden
- Je rekent in PHP met getallen die uit een formulier komen
- Je maakt zelf een praktische webpagina
### π οΈ Stap 1 β Pas je formulier aan
Pas het formulier uit `formulier.html` aan zodat het er zo uitziet:
```html
Kortingscalculator
```
### π οΈ Stap 2 β Maak `korting.php`
Maak een nieuw bestand aan in je `htdocs`-map met de naam `korting.php` en plak daarin de volgende code:
```php
Resultaat";
echo "
Oorspronkelijk bedrag: β¬" . $bedrag . "
";
echo "
Korting: " . $korting . "%
";
echo "
Korting in euro: β¬" . round($kortingBedrag, 2) . "
";
echo "
Bedrag na korting: β¬" . round($nieuwBedrag, 2) . "
";
?>
```
### π Uitleg berekening
- Voorbeeld: je voert in β¬100 en 20% korting
- PHP rekent uit: `100 * (20 / 100) = 20`
- Nieuwe prijs = `100 - 20 = 80`
### π οΈ Opdracht 1
- Laat een extra bericht zien met `if`:
- Bij een korting van 50% of meer: `"Wat een superdeal!"`
- Bij minder dan 10%: `"Dat is maar een klein beetje korting."`
### π οΈ Opdracht 2
Maak een .txt. of PDF en geef antwoord op de volgende vragen.
##### Vraag 1
In het formulier staat: `
`
Wat doet `step="0.01"`; wat gebeurt er als je `step ="1"` gebruikt?
##### Vraag 2
In het formulier staat: `
`
Wat doet `required`; wat gebeurt er als je dit weglaat?
##### Vraag 3
In het formulier staat: `
`
Verander name="bedrag" naar name="prijs". Test of de berekening nog werkt.
Leg uit wat je moet aanpassen in de code korting.php om de berekning weer te laten werken na deze aanpassingen.
### π§ Reflectie
- Wat gebeurt er als je 0% korting invoert?
- En als je 100% korting invoert?
- Zou je dit op een echte webshop kunnen gebruiken?
### π€ Inleveren
1. Het php bestand korting.php
2. PDF of txt-bestand met de antwoorden op de drie vragen in eigen woorden.