Periode 4 · Week 4

CRUD overzicht

Wat leer je deze week?#

In de afgelopen weken heb je geleerd hoe je:

Deze week breng je alles samen in één complete CRUD-app.

Je gaat beter begrijpen hoe alle onderdelen samenwerken en hoe een echte webapplicatie flow heeft tussen formulieren, PHP en de database.

Kernconcepten#

CRUD is eigenlijk de basis van bijna elke webapp.

Denk bijvoorbeeld aan:

Bijna overal gebeurt dit:

iets toevoegen
↓
iets bekijken
↓
iets aanpassen
↓
iets verwijderen

Dat noemen we CRUD.

CRUD staat voor:

Create
Read
Update
Delete

Oftewel:

Deze week draait vooral om:

“begrijpen hoe alles samenwerkt.”

Wat moet je kennen?#

1. Wat CRUD betekent

Uitleg
CRUD zijn de vier basisacties van een database-applicatie.

Wat moet je kennen

Overzicht

ActieSQLBetekenis
CreateINSERTNieuwe data toevoegen
ReadSELECTData ophalen
UpdateUPDATEData aanpassen
DeleteDELETEData verwijderen

Onthoud: Vrijwel elke database-app gebruikt CRUD.

2. De flow van een CRUD-app begrijpen

Uitleg
Een gebruiker doet iets in de browser.
PHP verwerkt die actie en praat met de database.

Wat moet je kennen

Voorbeeldflow

gebruiker vult formulier in
↓
formulier verstuurt data
↓
PHP ontvangt data
↓
query draait
↓
database verandert
↓
redirect
↓
nieuwe data zichtbaar

Onthoud: PHP zit eigenlijk tussen de gebruiker en de database in.

3. Verschillende pagina’s gebruiken

Uitleg
Grote applicaties bestaan meestal uit meerdere bestanden met verschillende verantwoordelijkheden.

Wat moet je kennen

Voorbeeldstructuur

/includes
    db.php
    header.php
    nav.php

index.php
create.php
edit.php
delete.php

Onthoud: Een duidelijke structuur voorkomt chaos.

4. Redirects gebruiken

Uitleg
Na CREATE, UPDATE of DELETE stuur je de gebruiker meestal terug naar het overzicht.

Wat moet je kennen

Voorbeeld

header('Location: index.php');
exit;

Onthoud: Redirects zorgen voor een prettigere flow en voorkomen rare refresh-problemen.

5. CRUD herkennen in een echte applicatie

Uitleg
CRUD zit letterlijk overal op internet.

Voorbeelden

SituatieCRUD actie
Nieuwe Instagram post makenCreate
Posts bekijkenRead
Profiel aanpassenUpdate
Bericht verwijderenDelete

Onthoud: CRUD is niet alleen een schoolding. Dit is hoe echte apps werken.

Veelgemaakte fouten (met voorbeelden)#

1. CRUD-acties door elkaar halen

Soms gebruiken studenten per ongeluk de verkeerde query voor een actie.

Fout

UPDATE items

om data op te halen.

Beter

SELECT * FROM items

2. Alles in één gigantisch bestand zetten

Dan wordt je project heel snel onoverzichtelijk.

Fout

index.php doet:
- create
- read
- update
- delete
- login
- alles 😭

Beter

index.php
create.php
edit.php
delete.php

3. Geen redirects gebruiken

Dan blijven gebruikers op rare tussenpagina’s hangen.

Fout

echo "Opgeslagen!";

Beter

header('Location: index.php');
exit;

4. GET en POST door elkaar halen

GET gebruik je meestal voor:

POST gebruik je meestal voor:

Fout

$title = $_GET['title'];

Beter

$title = $_POST['title'] ?? '';

5. Geen WHERE gebruiken bij UPDATE of DELETE

Dan verander of verwijder je ALLES.

Fout

DELETE FROM items

Beter

DELETE FROM items
WHERE id = ?

Snippets#

CREATE query

$stmt = $pdo->prepare("
    INSERT INTO items (title)
    VALUES (?)
");

$stmt->execute([$title]);

READ query

$stmt = $pdo->query("
    SELECT * FROM items
");

$items = $stmt->fetchAll(PDO::FETCH_ASSOC);

UPDATE query

$stmt = $pdo->prepare("
    UPDATE items
    SET title = ?
    WHERE id = ?
");

$stmt->execute([$title, $id]);

DELETE query

$stmt = $pdo->prepare("
    DELETE FROM items
    WHERE id = ?
");

$stmt->execute([$id]);

Redirect gebruiken

header('Location: index.php');
exit;