# 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. ![image-1655279215130.png](https://www.roc.ovh/uploads/images/gallery/2022-06/scaled-1680-/image-1655279215130.png) #### Bestandsoorten We kennen al HTML en CSS, later gaan we ons verdiepen in Javascript en PHP.
BestandssoortenFunctieWaar
HTMLBasis opmaak van een webpaginaFront-end / browser
CSSDetail opmaak van een webpaginaFront-end / browser
JavaScriptInteractie programmeren in de browserFront-end / browser
PHPInteractie programmeren op de serverBack-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.
6 Je krijgt je resultaten na een online quiz.
### Opdracht 2 Beantwoord de volgende vragen in eigen woorden - Wat wist je nog niet? - Waarom denk je dat er **zowel frontend als backend** nodig is? - Wat lijkt jou leuker om te maken? ### Inleveren Open het Word document [Opdracht Front-end backend.docx](https://www.roc.ovh/attachments/103) en beantwoord de vragen uit opdracht 1 en opdracht 2. Bewaar het bestand als PDF en lever dat in. - PDF document ## 2 Installeren XAMPP Wij hebben (nog) geen webserver in de cloud. In plaats daarvan gaan we een soort 'nep-server' gebruiken en hiervoor gaan we XAMPP installeren. ### Download de software Google of download de juiste versie van [apachefriends](https://www.apachefriends.org) ### Voer de installatie uit Je hebt alleen ***Apache*** en ***MySQL*** nodig, de andere opties kan je beter niet installern. Als er wordt gevraagd om *php.exe aan het path toe te voegen* dan kies je ja/yes. Alle andere opties kun je laten staan zoals ze *default* staan. ### Opstarten XAMPP Als het goed is, is er tijdens de installatie een short-cut gemaakt die heet *XAMPP Control.* Deze shortcut voert `C:\xampp\xampp-control.exe` uit. Druk op de eerste twee knopjes start naast Apache en MySQL. Hiermee start je de webserver en de database op. Als alles goed is dan zie je het volgende. ![](https://www.roc.ovh/uploads/images/gallery/2019-10/scaled-1680-/image-1570805605149.png) ### XAMPP Instellingen We gaan een paar dingen anders instellen. Allereerst gaan we de database als Windows-service laten draaien dat verhoogt de stabiliteit. #### 1 Stop XAMPP Stop XAMPP en als dat niet lukt, restart je machine of gebruik de Windows task manager om XAMPP te stoppen. #### 2 Properties xampp-controll.exe Ga via de file explorer naar c:\\xampp\\ en zoek naar xampp-controll.exe, selecteer met rechtermuis propertjes (of eigenschappen). #### 3 Compatibily 'Run this program as an administror' Selecteer onder het tabje Compatibily 'Run this program as an administror' #### 4 OK en klaar. .[![image-1671310391146.png](https://www.roc.ovh/uploads/images/gallery/2022-12/scaled-1680-/image-1671310391146.png)](https://www.roc.ovh/uploads/images/gallery/2022-12/image-1671310391146.png) #### 5 Start XAMPP Sluit XAMPP en start XAMPP opnieuw op. #### 6 Groen vinkje Druk op het rode kruisje links naast MySQL. Het kruisje wordt een groen vinkje. [![image-1687096321945.png](https://www.roc.ovh/uploads/images/gallery/2023-06/scaled-1680-/image-1687096321945.png)](https://www.roc.ovh/uploads/images/gallery/2023-06/image-1687096321945.png) #### 7 index.php weg Tenslotte, ga naar c:\\xampp\\htdocs\\ en gooi het bestand index.html weg. Waarom dat is dat zien we later als we met XAMPP gaan werken. ### Opdracht Voer ale 7 stappen uit. ### Inleveren 1. Screenshot van XAMPP Control panel met (minimaal) één groen vinkje en Apache en MySQL gestart. Er zijn geen rood gekleurde foutmeldingen te zien. ## 3 Installatie Visual Studio Code *In deze les leer je hoe je Visual Studio Code installeert, waarom we een code editor gebruiken, en hoe je PHP-bestanden opent vanuit de `htdocs`-map.* ### πŸ”° Wat gaan we doen? - We installeren Visual Studio Code (VSC) - We leggen uit waarom we een goede editor nodig hebben - We openen een PHP-bestand in de `htdocs`-map ### πŸ’‘ Waarom Visual Studio Code? - VSC is een gratis en krachtige code editor - Hij maakt je code overzichtelijk met kleuren, inspringing en suggesties - Hij helpt je fouten sneller te vinden en biedt slimme aanvulling - Het is de standaard editor voor veel professionele programmeurs **Zonder goede editor** werk je in Kladblok of iets simpels – dat is lastig lezen, foutgevoelig en traag werken. ### πŸ“š Installatie 1\. Ga naar de officiΓ«le website: [https://code.visualstudio.com/](https://code.visualstudio.com/) 2\. Klik op **Download for Windows** 3\. Start het installatieprogramma en kies de standaardinstellingen (volgende, volgende...) 4\. Vink aan: *"Add to PATH"* en *"Open with Code" in contextmenu* als dat wordt gevraagd ### πŸ“š Eerste keer openen Open Visual Studio Code. Je ziet een startscherm. Je hoeft je nergens aan te melden. ### πŸ› οΈ Openen van een PHP-bestand 1. Ga in VSC naar **File > Open Folder** 2. Navigeer naar de map `htdocs` op jouw computer (bijv. `C:\xampp\htdocs`) 3. Klik op **Select Folder** 4. In de linkerbalkmaak je nu een nieuw bestand en die noem je `test.php` 5. Klik op een bestand om het te openen en te bewerken

**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. ### πŸ› οΈ 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! ### 🧠 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 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 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.