[php] Sessies verliezen waardes...

Pagina: 1
Acties:

Onderwerpen


Verwijderd

Topicstarter
Ik heb een loginformulier met daarna een redirect naar de pagina waar de bezoeker vandaan kwam. De code van de redirect pagina eindigt op:

<?php
echo "<!--";
print_r($_SESSION);
echo "-->";

if (strpos($_SERVER['HTTP_REFERER'], "?") !== false){
echo "<META HTTP-EQUIV=refresh content=2;URL=" . $_SERVER['HTTP_REFERER'] . "&PHPSESSID=" . session_id() . ">";
}else{
echo "<META HTTP-EQUIV=refresh content=2;URL=" . $_SERVER['HTTP_REFERER'] . "?PHPSESSID=" . session_id() . ">";
}
?>

De output (broncode) is dan:

Array
(
[member] => Array
(
[0] => 151
[mId] => 151
[1] => Ludo
[mUsername] => Ludo
[2] => 7c12f01c7ac00a3aab30045d007c44c1
[mPassword] => 7c12f01c7ac00a3aab30045d007c44c1
[3] => info@site.be
[mEmail] => info@site.be
[4] => 0
[mEmailType] => 0
[5] => Ludo
[mFirstname] => Ludo
[mDateLastActive] => 0
[isLoggedIn] => 1
[isPM] => 0
)

)
<META HTTP-EQUIV=refresh content=2;URL=http://www.xales.be/?PHPSESSID=2650544bbc876ab5cc9226de31a4d2c4>

Dit is de COMPLETE broncode. In index.php, waar je naar toe wordt geredirect, staat HELEMAAL BOVENAAN de pagina dit:

<?php
$data .= "<!--";
$data .= print_r($_SESSION);
$data .= "-->";
?>

Vreemd genoeg is dit de enige output:

<!--Array
(
[member] => Array
(
[isPM] => 0
)

)
-->

Waar is de rest van de array gebleven? Het rare is dat ie dit probleem alleen bij bepaalde users heeft, op meerdere PC's. Ik kan met mijn eigen account prima inloggen, maar met een andere account niet. Het ligt dus niet aan mijn PC.

  • RwD
  • Registratie: Oktober 2000
  • Niet online

RwD

kloonikoon

session_start moet er ergens bij.

En hou je er rekening mee dat sommige mensen geen cookies accepteren?
Ik heb het zelfs gehad dat dezelfde security setting op IE op verschillende machines problemen gaf als het enige verschil tussen de IE versies de taal was :S

Maar hoe je een sessie in stand kunt houden staat ook op php.net
Denk dat het iets met SID te maken heeft, maar als je zoekt naar de functie session_start dan vindt je het vanzelf.