Wat is PHP?

PHP is een programmeertaal die op de server draait. Het resultaat van PHP-code is altijd HTML (en/of tekst/JSON) die naar de browser wordt gestuurd. PHP wordt bijzonder veel gebruikt voor websites en webapplicaties, bv. WordPress.

Afkorting: PHP stond oorspronkelijk voor Personal Home Page. Vandaag is het een “recursieve” afkorting: PHP: Hypertext Preprocessor.
Wat betekent “recursief”?
Een recursieve afkorting is een afkorting die naar zichzelf verwijst.
  • PHP = PHP: Hypertext Preprocessor. Het eerste woord is opnieuw PHP zelf.
  • Dit is een soort programmeurshumor, ook wel “nerd-joke” genoemd.
  • Ander bekend voorbeeld: GNU = GNU’s Not Unix (waar “GNU” opnieuw in voorkomt).

➜ Onthoud: recursief = iets dat naar zichzelf verwijst.

1. Waarvoor wordt PHP gebruikt?

  • Dynamische HTML genereren: pagina’s opbouwen met gegevens (bijv. nieuws, producten…).
  • Formulieren verwerken: bv. een contactformulier uitlezen en bevestigen.
  • Data ophalen/bewaren: verbinding met een database (bijv. MariaDB) om data te lezen/schrijven.
  • Logica & veiligheid: inloggen, rechten controleren, foutafhandeling, cookies/sessies beheren.
  • Templating & hergebruik: onderdelen (header, footer, menu) één keer schrijven en overal insluiten.
Front-end vs. Back-end (terminologie):
  • Front-end = wat in de browser draait (HTML, CSS, JavaScript).
  • Back-end = wat op de server draait (PHP, database).
  • PHP is dus back-end. Het stuurt uiteindelijk HTML naar de front-end.

2. Hoe werkt PHP? (stap voor stap)

  1. Jij surft naar een adres zoals http://ip-van-de-klasserver/....
  2. De webserver (Apache op de klasserver) ontvangt de vraag.
  3. Apache geeft het .php-bestand door aan de PHP-interpreter.
  4. PHP voert de code uit (eventueel met database-opvragingen) en bouwt HTML.
  5. Die HTML wordt teruggestuurd naar jouw browser, die de pagina weergeeft.
Belangrijk: PHP werkt alleen via een http:// of https:// adres op de server. Als je een .php-bestand rechtstreeks opent als file://, wordt de code niet uitgevoerd. Gebruik dus steeds de klasserver (Raspberry Pi).

3. Waar plaats ik mijn bestanden?

In onze klasopstelling werken we met een Raspberry Pi als server. Je leerkracht bezorgt je de juiste map. Vaak zijn er twee opties:

  • Webroot: /var/www/html/ (voor klasdemo’s of gedeelde voorbeelden).
  • Persoonlijke home map: bv. /home/<gebruikersnaam>/public_html/
    URL wordt dan vaak http://ip-van-de-klasserver/~<gebruikersnaam>/.

Werkt /~<gebruikersnaam> niet? Gebruik dan het pad en de URL die je leerkracht doorgeeft.

VS Code tip: “Live Server” is handig voor HTML/CSS, maar voert geen PHP uit. Voor PHP bekijk je je pagina via de server-URL in de browser.

4. Eerste PHP-test

Maak een bestand index.php in jouw map op de klasserver en zet er dit in:

<?php
echo "Hallo wereld!";
?>

Surf naar http://ip-van-de-klasserver/index.php (of naar jouw persoonlijke URL, bv. http://ip/~gebruikersnaam/). Je ziet Hallo wereld!. Dan weet je dat PHP correct werkt.

Uitleg: echo schrijft tekst naar de uitvoer (de HTML-pagina). Elke PHP-opdracht eindigt met een puntkomma ;.

5. HTML en PHP combineren

In hetzelfde index.php bestand kan je HTML en PHP door elkaar gebruiken:

<!doctype html>
<html lang="nl">
<head>
  <meta charset="utf-8">
  <title>Eerste PHP test</title>
</head>
<body>
  <h1>Vandaag is het:</h1>
  <p><?= date('l') ?></p>
</body>
</html>

De PHP-functie date('l') geeft de dag van de week. Let op de korte echo-syntax <?= ... ?>: die is gelijk aan <?php echo ... ?> en wordt veel gebruikt.

Tip: PHP-code staat tussen <?php ... ?>, of de korte echo <?= ... ?>. Gebruik enkel rechte aanhalingstekens (" of '), geen “slimme” typografische quotes.

6. Veelgemaakte fouten (en snelle oplossingen)

  • Je ziet de PHP-code letterlijk in beeld: Je opent het bestand niet via de server. Gebruik http://..., niet file://.
  • Witte pagina / foutpagina: Vaak een vergeten ;. Controleer elke regel.
  • Niets gebeurt: Bestand per ongeluk als .html opgeslagen. Hernoem naar .php.
  • Speciale tekens verkeerd: Sla op als UTF-8 (VS Code statusbalk: “UTF-8”).
  • Foute URL/IP: Controleer het IP-adres van de klasserver en je map.
Debug tip: Voeg tijdelijk <?php error_reporting(E_ALL); ini_set('display_errors', 1); ?> bovenaan je bestand toe tijdens het oefenen. Verwijder dit weer in productiewerk.

7. Mini-oefeningen

  1. Pas echo "Hallo wereld!"; aan naar echo "Hallo, ik ben <jouw naam>";.
  2. Maak een variabele $klas = "5DA/CM"; en echo die achter je begroeting.
  3. Toon datum en tijd onder je begroeting met date('d-m-Y H:i') in een <p>-element.
  4. Verander de titel van de pagina (<title>) naar iets persoonlijks, bv. “Mijn eerste PHP-pagina”.

8. Waarom leren we dit als we met WordPress werken?

WordPress draait volledig op PHP en een database. Door de basis van PHP te leren, begrijp je:

  • hoe WordPress dynamische pagina’s opbouwt;
  • wat thema-bestanden en templates doen;
  • hoe data uit de database in HTML terechtkomt (posts, pagina’s, menu’s…);
  • en kan je later veilig kleine aanpassingen/snippets begrijpen of schrijven.

9. Vooruitblik

In de volgende lessen bouwen we verder:

  • Variabelen & arrays: data opslaan en doorlopen met foreach.
  • Logica: if/else om beslissingen te nemen.
  • Formulieren: gegevens versturen met GET/POST en verwerken met PHP.
  • Intro MariaDB: verbinden, data ophalen en tonen in HTML.

Terug naar boven