[php] sessions

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik wil gebruikmaken van sessions.
Nu werk ik eigenlijk het liefst met $_SESSION['var'] etc.
Maar ik kom hier een probleem tegen.
Als ik unset($_SESSION['var']) doe, dan wordt de variabele alleen leeggemaakt.
Doe ik bijvoorbeeld op de volgende pagina:
print_r($_SESSION);
Dan staat 'var' er nog steeds tussen, maar zonder waarde.

Hoe kan ik op deze manier dan een variabele echt uit de session halen?

Ik heb het nu geprobeerd met:
$_SESSION['var']="";
empty($_SESSION['var']);
unset($_SESSION['var']);

Maar dat leegt dus de variabele alleen maar.


Als ik met het volgende werk:

$var = "blaat";
session_register('var');
en in de volgende pagina
session_unregister('var');
gebruik, dan wordt var wel netjes helemaal uit de session gehaald.

Nu vraag ik mij af:
ik gebruik php 4.2.3, wat heeft nu de voorkeur: session_register of $_SESSION gebruiken? Wat gaat er bijvoorbeeld veranderen in toekomstige versies van PHP, zodat ik niet mijn scripts hoef aan te passen?

Acties:
  • 0 Henk 'm!

  • curry684
  • Registratie: Juni 2000
  • Laatst online: 06-09 00:37

curry684

left part of the evil twins

Verwijderd schreef op 29 juli 2004 @ 10:47:
Nu vraag ik mij af:
ik gebruik php 4.2.3, wat heeft nu de voorkeur: session_register of $_SESSION gebruiken? Wat gaat er bijvoorbeeld veranderen in toekomstige versies van PHP, zodat ik niet mijn scripts hoef aan te passen?
Dat staat wel heel letterlijk in de handleiding he in 3 dikke CAUTION-blokken: http://www.php.net/manual/en/function.session-register.php

Professionele website nodig?


Acties:
  • 0 Henk 'm!

  • Banpei
  • Registratie: Juli 2001
  • Laatst online: 25-10-2022

Banpei

Hachiroku on this touge?

Even een domme vraag: heb je register_globals toevallig aan staan? Indien je namelijk register_globals aan hebt staan zal je bij toewijzing via $_SESSION de variabele meteen in de global scope gezet worden. Unset je deze in $_SESSION zal deze nog steeds als global bestaan. Vandaar dat jouw session_unregister wel de variabele compleet verwijdert. :)

AE86 gevonden! | So what I thought I'd do was, I'd pretend to be one of those deaf-mutes.


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Dat zal ik even na moeten gaan op de server ... denk het wel...

Acties:
  • 0 Henk 'm!

  • eborn
  • Registratie: April 2000
  • Laatst online: 18-09 19:03
Banpei schreef op 29 juli 2004 @ 11:00:
Even een domme vraag: heb je register_globals toevallig aan staan? Indien je namelijk register_globals aan hebt staan zal je bij toewijzing via $_SESSION de variabele meteen in de global scope gezet worden. Unset je deze in $_SESSION zal deze nog steeds als global bestaan. Vandaar dat jouw session_unregister wel de variabele compleet verwijdert. :)
Maar dan zou de variabele nog steeds bij de volgende pageview weg moeten zijn. En hij is nu dus nog wel aanwezig (al dan niet leeg).