sessie gaat verloren na een redirect

Pagina: 1
Acties:

Onderwerpen

Vraag


Acties:
  • 0 Henk 'm!

  • lawkexarib
  • Registratie: Maart 2009
  • Laatst online: 08-03 23:59
Mijn vraag
Nadat een gebruiker zich heeft geregistreerd, wil ik dat hij automatisch wordt geredirected naar een andere pagina.
Hij komt op de pagina terecht, alleen is er nergens een sessie te bekennen.
Bovenaan de registratie pagina heb ik staan:
// Sessie starten
session_start();
Voor de redirect heb ik staan:
session_write_close();
header("Location: wachtkamer.php");
exit();
===================================
Op de wachtkamer pagina heb ik bovenaan staan:
session_start();

// Controleer of de gebruiker is ingelogd
if (!isset($_SESSION['user_id'])) {
header("Location: login.php");
exit();
}
=======================
Het vreemde is dat een sessie blijft bestaan, nadat ik als admin ben ingelogd op de inlog pagina en wordt netjes geredirect naar de index pagina.
Relevante software en hardware die ik gebruik
Ik zit bij Strato en gebruik PHP versie 8.3

Wat ik al gevonden of geprobeerd heb
.ipv exit(); functie heb ik die(); nogo
session_write_close(); toegevoegd net voor de redirect, nogo

op de wachtkamer pagina heb ik nog staan:
ini_set('display_errors',1);
error_reporting(E_ALL);
session_start();
print_r($_SESSION,true);
echo 'WACHTKAMER';
En het enig wat ik te zien krijg, is de string "WACHTKAMER"
Iemand een idee?

Alle reacties


Acties:
  • 0 Henk 'm!

  • Cartman!
  • Registratie: April 2000
  • Niet online
In de stukjes code staat ook nergens iets waar je iets in die sessie schrijft, dan is t logisch dat ie leeg is natuurlijk.

Waarom denk je precies die write close nodig te hebben?

Ps. Gebruik even code-tags om de boel leesbaar te maken.

Acties:
  • 0 Henk 'm!

  • lawkexarib
  • Registratie: Maart 2009
  • Laatst online: 08-03 23:59
Dankjewel voor jouw snelle reactie en het is opgelost
code:
1
2
3
4
5
6
session_start(); // Zorg dat de sessie gestart is
$_SESSION['user_id'] = $mysqli->insert_id; // Of de juiste ID
$_SESSION['voornaam'] = $voornaam;
session_write_close(); // Zorg dat de sessie wordt opgeslagen
header("Location: wachtkamer.php");
exit();

Blijkbaar moest ik nog :
code:
1
$mysqli->insert_id; // Of de juiste ID

toevoegen om de sessies te laten werken

Acties:
  • 0 Henk 'm!

  • Cartman!
  • Registratie: April 2000
  • Niet online
Je sessie deed het al gewoon maar als je er niks in schrijft zie je niks ;)

Die session_write_close() heb je echt niet nodig.