Ik ben nu een tijdje bezig om te proberen een nieuwe session id te genereren zonder de browser te sluiten, maar dat lukt me niet.
Ik heb een vragenlijst die uit meerdere pagina's bestaat. Ik maak iedere keer sessie variabele ervan, zodat er ook weer een stap terug gedaan kan worden om toch nog wat te veranderen. Tussen door worden de gegevens iedere keer opgeslagen in de database waar de sessionid over eenkomt. Dit werkt allemaal.
Probleem nu is de lijst is ingevuld en klaar. Dan wil ik voorkomen dat als dan iemand anders die naast hem zit hem ook meteen in gaat vullen en dat alles onder dezelfde sessieid opgeslagen word.
Er zijn aan de hand van de vragen meerdere mogelijkheden van welke vervolg vragen vertoont worden. Als een vragenlijst voor iemand ophoud eindig ik met
session_unset();
session_destroy();
Als hij dan nog iets van vorige doet (in de browser) dan kan hij het niet meer opnieuw oppakken. Alle sessie data is leeg en word "af gevangen" met
if (empty($_SESSION['sessionid']))
{
echo'Uw sessie is verlopen. Begin opnieuw om de vragenlijst in te vullen';
}
Ik laat ze weer naar de begin pagina terug gaan waar ik boven aan het staan
session_start();
session_regenerate_id();
$_SESSION['sessionid']= session_id();
waarbij dit mijn laatste probeer versie is, want ik heb er al het nodige variaties op gehad. Ik had ook ergens gelezen dat er true moest staan tussen de haakjes bij session_regenerate_id() maar later begreep ik dat alleen de output daarvan true of false is als dat wel of niet lukt.
Heeft iemand een andere suggestie hoe ik dit het beste kan regelen, of hoe het werkend te krijgen? Want zo langzamerhand weet ik even geen nieuwe varianten te vinden.