Ik krijg mijn sessions niet aan de praat en ik weet niet wat ik fout doe.
Ik heb 3 bestanden: registreer.php, login.php en profiel.php (ze beginnen allemaal met de regel session_start();
In login.php is er een query die kijkt of de ingevoerde formdata klopt, en maakt een sessie. Om dit te controleren staat hier bovenaan in het bestand (tijdelijk, na session_start();):
if (isset($_SESSION['id'])) {
print 'LOGIN.PHP: SESSIE ID GEMAAKT, INGELOGD!';
exit();
} else {
print 'LOGIN.PHP: GEEN SESSIE ID, NIET INGELOGD!';
// exit();
}Aangezien de gebruiker enkel profiel.php mag zien wanneer hij ingelogd is, heb ik dit soort "if" nodig.
Om te testen bij profiel.php, staat hier bovenaan in het bestand (ook tijdelijk, na session_start();
if (!(isset($_SESSION['id']))) {
print 'PROFIEL.PHP: GEEN SESSION ID: NIET INGELOGD!';
exit();
} else {
print 'PROFIEL PHP: SESSION ID: INGELOGD!';
exit();
}En ook bij registreer.php:
if (isset($_SESSION['id'])) {
print 'REGISTREER.PHP: INGELOGD!';
exit();
} else {
print 'REGISTREER.PHP: NIET INGELOGD!';
exit();
}De session id registreren in login.php werkt, bij refresh zegt hij dan ook dat ik ingelogd ben. Echter profiel.php en registreer.php zeggen dat ik NIET ingelogd ben. Ik weet echt niet wat ik fout doe. Alle pagina's beginnen met
session_start();. Weet iemand het?