[PHP] Sessies werken lokaal niet

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Goed, zoals de topictitel al zegt werken m'n sessies lokaal niet meer ;) Om wat duidelijker te zijn, hieronder even twee testscripts (met de bovenste creeer ik de sessies, met de onderste lees ik ze uit):


code:
1
2
3
4
5
6
<?php session_start();

$_SESSION['product1'] = 1;
$_SESSION['product2'] = 2;

?>


code:
1
2
3
4
5
6
<?php session_start();

echo $_SESSION['product1'];
echo $_SESSION['product2'];

?>


Aan de scriptjes ligt het niet, als ik deze op mijn hosting gooi dan werkt het prima (meerdere servers geprobeerd). Lokaal dus niet... Wat lokaal wel lukt, is de sessie uitlezen op dezelfde pagina waar hij gemaakt is. Het volgende werkt dus wel:

code:
1
2
3
4
5
6
7
8
9
<?php session_start();

$_SESSION['product1'] = 1;
$_SESSION['product2'] = 2;

echo $_SESSION['product1'];
echo $_SESSION['product2'];

?>


Hieronder nog ff een screen van phpinfo(), misschien zien jullie iets staan wat niet klopt. Die session.save_path is iig goed. Ik zie ook dat er in die map bestanden worden aangemaakt als ik een sessie script run.

Afbeeldingslocatie: http://haze.stoner.nl/stuff/pics/phpinfoscr.JPG

Ik run php onder apache webserver en Win XP. Het is puur een ontwikkelomgeving. Ik moet ook even melden dat sessies in het verleden wel hebben gewerkt. Ik heb ook al uit 'wanhoop' apache en php opnieuw geinstalleerd, maar het werkte toen nog steeds niet. Overigens werkt het in zowel Firefox als IE niet.

Ik hoop dat m'n probleem een beetje duidelijk is. Misschien is het echt iets stoms waar ik overheen kijk... :X

BVD!

Acties:
  • 0 Henk 'm!

  • frickY
  • Registratie: Juli 2001
  • Laatst online: 18-09 14:42
De server weet welke sessie variabelen bij welke bezoeker hoort, dank het sessie ID.
Het sessie ID kan worden meegegeven in de URL, of de browser kan elke keer een cookie meesturen waairn het sessie ID staat

Aan je screenshot te zien staat PHP ingesteld om de sessievariabelen op te slaan in C:\Webserver\PHP\tmp. (ik mis hier de trailing slash?). Vind je in deze map wel bestanden? Dan worden de sessies gewoon aangemaakt en is het waarschijnlijk een browser probleem
Controleer of je een cookie in je browser kunt vinden met de naam PHPSESSID.

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Jep, in die map vind ik gewoon de bestanden. Ik heb zojuist nog ff dat bovenste scriptje (sessies aanmaken) gerund, en dan verschijnen er bestanden in die map. Als ik (in FF) bij Cookies kijk, dan zie ik in de map localhost PHPSESSID. Overigens werkt het in IE ook niet, terwijl er ook daar een sessid in de tmp map komt te staan als ik de sessie via het bovenste script aanmaak...

Onder trailingslash versta je toch nog een slash op het eind? Dus "C:\Webserver\php\tmp\"? Heb ik ook geprobeerd, maar werkt ook niet.

Thnx voor de vlotte reply iig ;)

[ Voor 15% gewijzigd door Verwijderd op 07-04-2006 20:55 ]


Acties:
  • 0 Henk 'm!

  • frickY
  • Registratie: Juli 2001
  • Laatst online: 18-09 14:42
Dat de bestanden in die map verschijnen geeft al aan dat die slash het probleem niet was.
Probleem is blijkbaar dat PHP niet ziet dat je al een sessie hebt, en dus een nieuwe voor je aanmaakt.

Plaats eens een linkje op pagina 1 in de trant van
code:
1
<a href="pagina2.php?<?=SID%>">Pagina 2</a>


SID is een contstante welke het sessie ID bevat. Je bent dan dus niet afhankelijk van een cookie. Werkt dit wel, zijn de cookies je probleem.

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Oke. Ik heb op pagina 1 (waar de sessie wordt aangemaakt), de link geplaatst. Ziet er nu zo uit:

code:
1
2
3
4
5
6
7
<?php session_start();

$_SESSION['product1'] = 1;
$_SESSION['product2'] = 2;

?>
<a href="test2.php?<?=SID%>">Pagina 2</a>


Als ik die pagina open, dan zie ik een sessie verschijnen in de tmp map. Vervolgens klik ik op die link en dan gaat ie naar de pagina waar ie de sessie hoort uit te lezen. In de url-balk verschijnt dan: http://localhost/haze/scripts/admin/test2.php?%3C?php=SID?%3E. In die pagina heb ik ff echo SID; gezet. In de tmp map zie ik dat er nog een sessie is bijgekomen, en deze echo'ed ie ook (bij echo SID). Kan ik hieruit opmaken dat cookies m'n probleem zijn? En zo ja...wat is dan een eventuele oplossing?

[ Voor 10% gewijzigd door Verwijderd op 07-04-2006 21:44 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Oke het werkt weer.... In m'n php.ini stond:

session.cookie_path = \

Die backslash heb ik verandert naar een /.

stom stom stom 8)7 ! Thnx iig voor de replys frickY!

Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Configuratieproblemen horen hier niet. Zie ook Waar hoort mijn topic?. :)

PRG>>DTE

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.

Pagina: 1