[PHP] Mijn object inhoud raak ik kwijt via de session

Pagina: 1
Acties:
  • 104 views sinds 30-01-2008
  • Reageer

Onderwerpen


Acties:
  • 0 Henk 'm!

  • exyll
  • Registratie: Januari 2002
  • Laatst online: 14-04 14:45
Ik ben met een webapplicatie bezig in php. Het dev doosje draait onder windows met xampp. Het echt doosje draait bij flexwebhosting.

Ik heb een class Identity die ik in de session stop via $_SESSION["identity"] en ook op soortgelijke wijze er weer uit haal.

Dit werkt perfect op m'n dev doos.. maar niet op die van de isp. Na 1 roundtrip (inloggen via post) krijg ik nog een valide object terug. Na de tweede rounttrip (GET) krijg ik nog wel een object terug maar inhoud loos. De isset() method geeft true terug.

Met phpinfo() heb ik naar de session config settings gekeken en die verschillen niet. Behalve het temp path.

Nogmaals... het werkt perfect op m'n windows xampp installatie maar niet op die van m'n isp.

Iemand een idee wat ik hier fout doe of misschien weet wat er in de configuratie verkeerd zit?

Ramon Smits


Acties:
  • 0 Henk 'm!

  • exyll
  • Registratie: Januari 2002
  • Laatst online: 14-04 14:45
Ik heb nog een verschil gevonden. Op m'n dev bak staat "register_globals" OFF en op de isp bak op ON.

Maar aangezien in $_SESSION gebruik heeft deze setting volgens geen gevolgen hiervoor.

Ramon Smits


Acties:
  • 0 Henk 'm!

  • exyll
  • Registratie: Januari 2002
  • Laatst online: 14-04 14:45
Na flink ploeter werk blijkt dat die register_globals dus WEL wat uitmaakt :-(

Gelukkig had de volgende post de oplossing : [PHP] $_SESSION\['bla'] blijft leeg

Wijzigen .htaccess, namelijk het volgende toevoegen:

code:
1
php_flag register_globals 0

Ramon Smits


Acties:
  • 0 Henk 'm!

  • Voutloos
  • Registratie: Januari 2002
  • Niet online
Sowieso, als je devt zonder register_globals en je site op die manier werkt, kan het maar beter ook gewoon uit op de andere locaties. :Y)

{signature}


Acties:
  • 0 Henk 'm!

Anoniem: 26306

Voutloos schreef op vrijdag 27 oktober 2006 @ 21:59:
Sowieso, als je devt zonder register_globals en je site op die manier werkt, kan het maar beter ook gewoon uit op de andere locaties. :Y)
Sterker nog, in elke PHP applicatie kun je het best gewoon helemaal als eerste op dat soort instellingen controleren en dikke waarschuwingen uitspugen of gewoon meteen het script stoppen. Ongelofelijk dat dat nog steeds heel vaak aanstaat terwijl het niet nodig is voor backward compatibility.