Sessie variabele wordt niet bewaard

Status
Niet open voor verdere reacties.

mvdleeuw

Gebruiker
Lid geworden
13 sep 2007
Berichten
58
Hallo allemaal,

Mijn pagina begint met het volgende:
PHP:
	session_start();
	
	if (isset($_SESSION['volgnr']))
	{
	echo "volgnr bestaat al";
	}
	else
	{
	echo "volgnr bestaat niet";
	  $_SESSION['volgnr'] = 0;
	}
Bij het opstarten van de pagina zegt hij keurig: "volgnr bestaat niet", maar als ik (verderop op de pagina) op de submit-knop druk (waardoor de pagina opnieuw geladen wordt) zegt hij weer "volgnr bestaat niet" terwijl ik zou verwachten dat hij nu wel het volgnr kende.

Hoe kan dit? (Register globals staat uit, overigens).

Michiel
 
Laatst bewerkt:
PHP:
session_start();
    
    if ($_SESSION['volgnr'] == 1)
    {
    echo "volgnr bestaat al";
    }
    else
    {
    echo "volgnr bestaat niet";
      $_SESSION['volgnr'] = 1;
    }
 
Laatst bewerkt:
Helaas, dat helpt niet.

Het volgnr wordt in de loop van het programma ook nog verhoogd. Ik heb het ook geprobeerd met volgnr > 0, maar ook dat werkt niet.
 
Bij het opstarten van de pagina zegt hij keurig: "volgnr bestaat niet", maar als ik (verderop op de pagina) op de submit-knop druk (waardoor de pagina opnieuw geladen wordt) zegt hij weer "volgnr bestaat niet" terwijl ik zou verwachten dat hij nu wel het volgnr kende.
Als bovenstaande code op dezelfde pagina als het formulier staat dan is dat niet zo heel vreemd. De sessie wordt immers weer opnieuw opgestart door session_start(); Zonder volgnr.

EDIT: Dit zou volgens mij wel moeten werken.
PHP:
if (isset($_SESSION['volgnr']))
    {
    echo "volgnr bestaat al";
    }
    else
    {
      session_start();
      echo "volgnr bestaat niet";
      $_SESSION['volgnr'] = 0;
    }
 
Laatst bewerkt:
Die code gaat "headers already sent" opleveren. Session_start begint niet alleen een sessie maar kan ook doorgaan met de huidige sessie. Accepteer je cookies? Zet anders eens
PHP:
print_r($_SESSION);
ergens onder "session_start();". Dan kan je zien wat er allemaal in $_SESSION zit.
 
Sessio_start had natuurlijk voor de echo moeten staan :o (tenzij hij output buffering gebruikt natuurlijk, dan maakt het volgens mij niet uit)
 
Het is (min of meer) opgelost. Op mijn lokale PC werkte het niet, maar bij mijn host wel.

Ik ga wel eens uitzoeken wat er in mijn configuratie niet goed zat, maar ik kan in ieder geval verder.

Bedankt voor het meedenken!

Michiel
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan