Week 7 – Sessions & Feedback;

In week 7 leer je hoe je tijdelijk data opslaat tussen pagina's.
HTTP is stateless: elke request staat op zichzelf. Sessions lossen dat op.

Wat moet je kennen (samenvatting)

  • Wat stateless betekent
  • session_start() bovenaan je bestand
  • Data opslaan in $_SESSION
  • isset() controleren
  • unset() opruimen
  • Flash messages (set → redirect → show → unset)

1. Wat is stateless?

Uitleg
HTTP onthoudt niets tussen requests.
Zonder sessions weet je applicatie niet wat er eerder is gebeurd.

Wat moet je kennen

  • Elke pagina is een nieuwe request
  • Data gaat verloren zonder opslag
  • Sessions onthouden tijdelijk data
Onthoud:

Zonder session_start() bestaat $_SESSION niet.

2. Session starten

Uitleg
Je moet een session starten voordat je $_SESSION gebruikt.
Dit doe je helemaal bovenaan je PHP-bestand.

Wat moet je kennen

  • session_start();
  • Geen output vóór session_start()

Voorbeeld

<?php
session_start();

$_SESSION['success'] = "Item toegevoegd!";
header("Location: index.php");
exit;
Onthoud:

session_start() komt vóór alle HTML.

3. Flash message tonen

Uitleg
Een flash message is een tijdelijke melding.
Je toont hem één keer en verwijdert hem daarna.

Wat moet je kennen

  • isset()
  • unset()
  • Melding tonen in HTML

Voorbeeld

<?php
session_start();

if (isset($_SESSION['success'])) {
    echo "<p>" . $_SESSION['success'] . "</p>";
    unset($_SESSION['success']);
}
?>
Onthoud:

set → redirect → show → unset.

Veelgemaakte fouten (kort)

1. session_start vergeten

$_SESSION['success'] = "Gelukt!";
session_start();
$_SESSION['success'] = "Gelukt!";

2. session_start onder HTML zetten

<h1>Welkom</h1>
<?php session_start(); ?>
<?php session_start(); ?>
<h1>Welkom</h1>

3. unset vergeten

❌ Melding blijft steeds terugkomen

✅ Na tonen meteen unset($_SESSION['success']);

Video

Uitleg volgt hier.