Wat leer je deze week?

In de afgelopen weken heb je geleerd hoe je:

  • data toevoegt
  • data uitleest
  • data aanpast
  • data verwijdert

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 (in normale mensentaal)

CRUD is eigenlijk de basis van bijna elke webapp.

Denk bijvoorbeeld aan:

  • een to-do app
  • Instagram posts
  • Netflix profielen
  • een webshop
  • een agenda

Bijna overal gebeurt dit:

iets toevoegen
↓
iets bekijken
↓
iets aanpassen
↓
iets verwijderen

Dat noemen we CRUD.

CRUD staat voor:

Create
Read
Update
Delete

Oftewel:

  • iets maken
  • iets lezen
  • iets aanpassen
  • iets verwijderen

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

  • Create
  • Read
  • Update
  • Delete
  • welke SQL-query bij elke actie hoort

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

  • formulieren
  • GET en POST
  • queries uitvoeren
  • redirects gebruiken

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

  • overzichtspagina
  • createpagina
  • editpagina
  • deletepagina
  • includes gebruiken

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

  • header()
  • exit
  • redirect flow

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:

  • pagina’s openen
  • ids meesturen

POST gebruik je meestal voor:

  • data aanpassen
  • formulieren versturen

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;

Video (coming soon)

Video komt eraan

Zodra de uitlegvideo beschikbaar is, wordt alleen de YouTube-ID vervangen.