Dit keer heb ik echt totaal geen idee hoe dit kan. Ik heb zelf een login systeem gemaakt met sessions. Als je ingelogd bent, wordt de sessie gemaakt. Op alle pagina's wordt gecontroleerd of de sessie bestaat en wie je bent wordt bekeken aan de hand van de sessie.

Op een na werken alle pagina's goed. Als je een bepaalde tijd niet actief bent wordt de sessie wel automatisch ge-unset.

Maar op een pagina wordt de sessie ge-unset als je 2 of 3 x achter elkaar op die pagina bent. Het enige wat de pagina doet is je kan een getal invullen en vervolgens worden er gegeven uit de database gehaalt op basis van dat getal. Als je dan nog een keer een nieuwe getal invult, wordt de sessie ge-unset. En dus de volgende pagina die je bezoekt zegt dat je bent uitgelogd.

Wie weet hoe het mogelijk is dat de sessie wordt ge-unset?
stukje relevante code misschien?
Hmm, ik ben even aan het testen geweest. (Een oudere versie van de pagina deed het namelijk wel.)

En ik heb ontdekt dat het aan het volgende stuk ligt:

<?php

echo "
<tr>
<td width=\"100%\" align=\"center\">
<img src=\"$image\">
</td>
</tr>";

?>

Waar slaat dit op? Dit heb ik nog nooit meegemaakt, waarom zou het invoegen van een plaatje de sessie verwijderen?
Nou, ik weet nu in elk geval de reden waarom het fout gaat. Het gaat mis op het moment dat de $image geen waarde heeft.

Blijkbaar ziet php een reden om maar meteen de hele sessie te verwijderen wanneer de pagina zegt: <img src=\"\">.

Weet iemand ook waarom php deze grap uithaalt, en hoe je het kunt oplossen?

Reageren