PHP en dynamische websites

PHP voor beginners: maak je eerste PHP-pagina

Ontdek wat PHP op een webserver doet. Maak je eerste .php-bestand, oefen met variabelen en leer veilig werken met formuliergegevens.

Wat is PHP?

PHP is een programmeertaal die meestal op een webserver wordt uitgevoerd. De server verwerkt PHP-code en stuurt het resultaat — vaak HTML — naar de browser. Bezoekers zien daardoor normaal gesproken het resultaat, niet de PHP-broncode.

PHP wordt bijvoorbeeld gebruikt om webpagina’s samen te stellen, gegevens te verwerken of informatie uit een database op te vragen. Ook WordPress gebruikt PHP. De volledige naam wordt geschreven als PHP: Hypertext Preprocessor.

Voor een gewone informatieve website met vaste teksten is PHP niet nodig. Met HTML en CSS kun je al prima beginnen.

Verschil tussen HTML, CSS, JavaScript en PHP

TechniekWat doet het?Waar gebeurt het meestal?
HTMLBeschrijft inhoud en structuur.In de browser.
CSSRegelt kleuren, opmaak en indeling.In de browser.
JavaScriptMaakt interactieve functies mogelijk.Vaak in de browser; kan ook op servers.
PHPMaakt dynamische inhoud en verwerkt gegevens.Op de webserver.

Denk aan een contactformulier: HTML toont de invoervelden, CSS verzorgt de opmaak, JavaScript kan direct feedback geven en PHP kan de ingezonden gegevens op de server controleren. Dat betekent niet dat je alle vier altijd nodig hebt.

Wat gebeurt er als iemand een PHP-pagina opent?

  1. De browser vraagt een bestand zoals hallo.php aan via je domeinnaam.
  2. De webserver laat de PHP-code uitvoeren.
  3. PHP stelt de uitvoer samen, bijvoorbeeld een HTML-pagina.
  4. De browser ontvangt het resultaat en toont de pagina.

Een bestand met de extensie .php moet dus door een server met PHP-ondersteuning worden verwerkt. PHP-code die niet wordt uitgevoerd, is niet hetzelfde als een gewone HTML-pagina.

Wat heb je nodig om te beginnen?

Benodigdheden
  • Een hostingpakket met PHP-ondersteuning.
  • Toegang tot de websitebestanden, bijvoorbeeld via het bestandsbeheer van je hosting of SFTP.
  • Een eenvoudige tekst- of code-editor die bestanden als .php kan opslaan.
  • Een browser om het resultaat via je domeinnaam te bekijken.

Controleer in het hostingpaneel of PHP actief is en welke ondersteunde versie beschikbaar is. Je hoeft voor deze voorbeelden geen database of WordPress te installeren. Als je hostingpakket PHP niet ondersteunt, werken de opdrachten niet op dat pakket.

Nog geen geschikte hosting? Bekijk dan Hosting vergelijken en controleer bij aanbieders expliciet de PHP-ondersteuning, prijs na verlenging en mogelijkheden voor bestandsbeheer. Heb je al hosting? Kijk eerst of PHP daar beschikbaar is voordat je iets nieuws aanschaft.

Maak een aparte oefenmap op je hosting

Maak in de openbare webmap van je hosting een aparte map, bijvoorbeeld php-oefeningen. De openbare map heet bij veel hostingpakketten public_html of httpdocs, maar dat verschilt per aanbieder. Kijk in het hostingpaneel welke map bij jouw domeinnaam hoort.

Voorbeeld van de mappenstructuur
public_html/
├── index.html
└── php-oefeningen/
    └── hallo.php

De bestanden in een openbare webmap zijn meestal voor andere internetgebruikers bereikbaar. Gebruik daarom geen echte wachtwoorden, persoonlijke gegevens of geheime sleutels in je oefeningen. Verwijder de oefenmap wanneer je klaar bent. Test bij voorkeur op een apart (sub)domein of afgeschermde testomgeving als je hosting dat mogelijk maakt.

Een mapnaam als php-oefeningen vormt op zichzelf geen beveiliging; de bestanden kunnen nog steeds worden bezocht.

Je eerste PHP-pagina: hallo.php

Maak met je code-editor een bestand met de naam hallo.php en voeg onderstaande code toe:

<?php
echo "Hallo wereld!";

Upload het bestand naar de map php-oefeningen op je hosting. Open vervolgens in je browser een adres zoals https://jouwdomein.nl/php-oefeningen/hallo.php. Vervang jouwdomein.nl door je eigen domeinnaam.

Wat moet je zien?

Als PHP correct wordt uitgevoerd, verschijnt Hallo wereld! op de pagina. Zie je een fout of wordt het bestand gedownload? Controleer dan of de map bij je domein hoort en of PHP op dat hostingpakket wordt verwerkt.

<?php begint de PHP-code. echo geeft tekst weer. De puntkomma ; sluit deze instructie af.

Waarom ontbreekt de afsluitende tag ?>?

Een PHP-bestand dat uitsluitend PHP-code bevat, hoeft niet te eindigen met ?>. Het is zelfs gebruikelijk om die afsluitende tag weg te laten. Zo voorkom je dat onbedoelde spaties of lege regels na de PHP-code worden meegestuurd. Combineer je PHP met gewone HTML na een PHP-blok, dan sluit je dat blok wél af met ?>.

Variabelen gebruiken

Met een variabele bewaar je een waarde die je later opnieuw kunt gebruiken. In PHP begint een variabelenaam met het teken $.

<?php
$naam = "Sam";
$onderwerp = "PHP";

echo "Hallo " . $naam . "! ";
echo "Je leert vandaag " . $onderwerp . ".";

Het resultaat is: Hallo Sam! Je leert vandaag PHP. De punt . verbindt tekst en variabelen. Verander zelf de namen en vernieuw de pagina in je browser.

HTML en PHP combineren

In een bestand dat door PHP wordt verwerkt, kun je gewone HTML en PHP-code combineren. Maak bijvoorbeeld welkom.php:

<!doctype html>
<html lang="nl">
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <title>Mijn PHP-pagina</title>
</head>
<body>
  <h1>Welkom op mijn website</h1>
  <p><?php echo "Deze zin is met PHP gemaakt."; ?></p>
</body>
</html>

PHP maakt de tekst in de alinea; je browser ontvangt gewone HTML. Wil je weten hoe je zelf de opmaak verzorgt? Bekijk dan HTML en CSS leren.

Beslissingen maken met if en else

Met if en else laat je PHP kiezen tussen twee uitkomsten:

<?php
$heeftAccount = false;

if ($heeftAccount) {
    echo "Welkom terug!";
} else {
    echo "Welkom op onze website!";
}

Omdat $heeftAccount op false staat, verschijnt Welkom op onze website! Dit is alleen een oefening; voor een echt inlogsysteem zijn veel aanvullende beveiligingsmaatregelen nodig.

Wat kun je met PHP en formulieren?

Een formulier met method="post" kan gegevens naar een PHP-bestand sturen. Daar kun je de invoer controleren en bijvoorbeeld een begroeting tonen. Dit is geen werkend contactformulier: er wordt niets opgeslagen en er wordt geen e-mail verstuurd.

Maak in dezelfde oefenmap eerst een bestand formulier.html:

<form action="verwerken.php" method="post">
  <label for="naam">Je naam</label>
  <input id="naam" name="naam" required maxlength="80">
  <button type="submit">Versturen</button>
</form>

Maak vervolgens verwerken.php:

<?php
if ($_SERVER["REQUEST_METHOD"] !== "POST") {
    http_response_code(405);
    exit("Verstuur eerst het formulier.");
}

$naam = $_POST["naam"] ?? "";
if (!is_string($naam)) {
    exit("Ongeldige invoer.");
}

$naam = trim($naam);
if ($naam === "" || strlen($naam) > 200) {
    exit("Vul een geldige naam in.");
}

echo "Hallo " . htmlspecialchars(
    $naam,
    ENT_QUOTES | ENT_SUBSTITUTE,
    "UTF-8"
) . "!";

Open https://jouwdomein.nl/php-oefeningen/formulier.html, vul een testnaam in en verstuur het formulier. De verwerking laat alleen een begroeting zien. Gebruik geen persoonsgegevens van anderen bij deze oefening.

htmlspecialchars() zorgt ervoor dat ingevoerde tekst bij uitvoer als HTML niet zomaar als HTML of JavaScript wordt geïnterpreteerd. Dit is één veiligheidsmaatregel; voor een echt formulier zijn onder meer meer invoercontrole, spambeperking en veilige verwerking nodig. Lees ook Contactformulier maken.

Wat is de rol van PHP bij WordPress?

WordPress gebruikt PHP om onder meer inhoud op te halen en pagina’s op te bouwen. Je hoeft zelf geen PHP te schrijven om WordPress te gebruiken. Voor maatwerk, thema-ontwikkeling of eigen plugins kan PHP-kennis later wel helpen.

Lees WordPress voor beginners als je liever een website beheert zonder telkens code te schrijven.

Veilig oefenen met PHP

  • Gebruik een ondersteunde PHP-versie. Vraag je hostingprovider hoe updates worden geregeld.
  • Controleer invoer altijd op de server. HTML-validatie alleen is niet genoeg.
  • Toon gebruikersinvoer veilig. Bijvoorbeeld met htmlspecialchars() bij HTML-uitvoer.
  • Publiceer geen gevoelige gegevens. Sla geen wachtwoorden of API-sleutels op in publiek bereikbare voorbeelden.
  • Gebruik HTTPS. Vermijd formulieren die gegevens onbeveiligd versturen.
  • Werk niet rechtstreeks in je belangrijke bestanden. Gebruik een aparte testmap en maak waar nodig back-ups.
  • Verwijder de oefenbestanden na afloop. Laat onnodige scripts niet publiek bereikbaar staan.

Voor databases zijn voorbereide queries nodig; voor echte gebruikersaccounts onder andere veilige sessies en wachtwoordhashing. Die onderwerpen vallen buiten deze eerste handleiding.

Veelgemaakte fouten en oplossingen

De PHP-code verschijnt als tekst of het bestand wordt gedownload

Controleer of je een .php-bestand via je domeinnaam opent en of de hostingomgeving PHP verwerkt. Kijk zo nodig in het hostingpaneel of vraag de provider om hulp. Publiceer geen gevoelige PHP-code zolang dit niet goed werkt.

Ik krijg een 404-melding

Controleer de naam hallo.php, de map php-oefeningen en of je naar de juiste webmap hebt geüpload.

Ik krijg een foutmelding na het aanpassen van de code

Controleer de puntkomma's, haakjes en aanhalingstekens. Probeer eerst opnieuw het korte voorbeeld met echo.

Mijn formulier verstuurt geen e-mail

Dat klopt: het voorbeeld toont alleen een begroeting. Voor het versturen van e-mail heb je aanvullende, veilig ingerichte verwerking nodig.

Praktische oefening: je eigen begroeting

Maak in je oefenmap het bestand begroeting.php met deze code:

<?php
$naam = "Sam";
$onderwerp = "PHP";
$website = "Mijn eerste website";

echo "Hallo " . $naam . "! ";
echo "Welkom bij " . $website . ". ";
echo "Vandaag leer je " . $onderwerp . ".";
  1. Vervang Sam door een fictieve naam.
  2. Pas de naam van de website aan.
  3. Upload het bestand naar je oefenmap en open het via je domeinnaam.
  4. Verander één variabele en controleer de uitvoer opnieuw.
  5. Voeg als extra uitdaging een eigen HTML-kop toe.

Het doel is dat je begrijpt hoe de waarden van variabelen terugkomen in de uitvoer. Verwijder je testbestanden wanneer je er niet meer mee oefent.

Veelgestelde vragen over PHP

Is PHP gratis?

Ja, PHP zelf is gratis en open source. Voor webhosting kun je wel betalen.

Heb ik PHP nodig voor een gewone HTML-website?

Nee. Een informatieve website kan volledig met HTML en CSS worden gemaakt.

Hoe weet ik of mijn webhosting PHP ondersteunt?

Kijk in de hostingvoorwaarden of het controlepaneel naar PHP-ondersteuning en beschikbare versies. Vraag bij twijfel de aanbieder om bevestiging.

Moet ik PHP kunnen om WordPress te gebruiken?

Nee. Gewone pagina's en berichten beheren kan zonder eigen PHP-code te schrijven.

Waarom kan ik mijn PHP-bestand niet als gewone HTML openen?

PHP moet op de webserver worden uitgevoerd. Bezoek het bestand daarom via de URL van je hosting, niet alsof het een gewoon HTML-document is.

Volgende stap

Je eerste PHP-pagina werkt

Je hebt gezien hoe PHP tekst maakt, variabelen gebruikt en formulierinvoer kan ontvangen. Begin met kleine oefeningen en bouw pas verder als je de uitvoer begrijpt.

Wil je hosting kiezen? Bekijk onze onafhankelijke hostingkeuzehulp. Wil je verder bouwen zonder zelf servercode te schrijven? Lees WordPress voor beginners.

Hosting vergelijken →