[PHP] session variabele word niet gewist

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • OVERLORD_1982
  • Registratie: Juni 2001
  • Laatst online: 21-06 10:31
Ik heb een probleem met het leegmaken van een session variabele, het lukt namelijk niet :)

Het ging in eerste instantie goed, maar nu wil hij voor geen mogelijkheid meer een sessievariabele leegmaken, sterker nog, hij maakt ook geen post variabelen meer leeg.

Het onderstaande stukje code zou het formulier leeg moeten maken, maar deze laat de variabelen kiehard staan.

functies zoals: unset(), unregister_session() en session_destroy() heb ik al geprobeerd, maar dit mag allemaal niet baten.

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
<?php
session_cache_limiter ('private');
session_start();

if ($_POST[Reset] == "Wissen") {
    $_SESSION[NaamGebruiker] = "";
    $_SESSION[Functie]       = "";
    $_SESSION[Kamer]         = "";
    ........
    $_POST[Reset]            = "";
}
?>


sessions zijn toch enkel server side? Als ik namelijk fysiek de sessie weggooi en weer naar de pagina ga, staat alles nog ingevuld.

Ben er nu uren mee bezig, maar ik zie het echt niet meer.

Iemand enig idee?

Acties:
  • 0 Henk 'm!

Verwijderd

Misschien wordt je pagina gecached? Stuur eens expire headers mee met je pagina, wellicht dat dat wat scheelt...

Acties:
  • 0 Henk 'm!

  • megamuch
  • Registratie: Februari 2001
  • Laatst online: 08-12-2024

megamuch

Tring Tring!

Maak ten eerste overal is van
PHP:
1
2
$_POST['Reset']
$_SESSION['NaamGebruiker']

[ Voor 11% gewijzigd door megamuch op 19-11-2004 14:55 ]

Verstand van Voip? Ik heb een leuke baan voor je!


Acties:
  • 0 Henk 'm!

Verwijderd

als je met print_r(); je $_POST en $_SESSION variabelen afdrukt kan je zien wat er in zit. aan begin en eind van je code.

Hebben de array keys daarin niet toevallig dezelfde naam? Dat je het formulier vult met $_POST values i.p.v. $_SESSION values??

Acties:
  • 0 Henk 'm!

  • OVERLORD_1982
  • Registratie: Juni 2001
  • Laatst online: 21-06 10:31
Met dank aan de print_r tip kwam ik erachter waar het probleem ligt. Als men op de wissen knop drukt, worden alle variabelen leeggemaakt inclusief de $_POST[Reset].
Het legen van deze variabele is van belang aangezien er verderop in de code word gekeken of deze leeg is. Indien dat zo is, worden de session variabelen weer gevuld.

Nu blijkt het dat $_POST[Reset] in eerste instantie de waarde "Wissen" bevat. Vlak voordat hij bij de tweede check aankomt, staat deze nog steeds op "Wissen". Aan het einde van deze pagina is deze wel leeg, maar dan is het kwaad dus al geschiet.

Is het normaal dat het dus eventjes duurt voordat de waarde is geleegd? Heeft iemand anders dit al gehad? Lossen we dit op met een timer, of is er gewoon iets anders mis wat dit veroorzaakt?

Acties:
  • 0 Henk 'm!

  • OVERLORD_1982
  • Registratie: Juni 2001
  • Laatst online: 21-06 10:31
Het is al niet meer van toepassing, liet hem checken op de form aktie ipv. op het verzend veld, hierdoor moest ik een extra check inbouwen, welke dus fout ging.

Bedankt voor de hulp!

Acties:
  • 0 Henk 'm!

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

NMe

Quia Ego Sic Dico.

Lees dit eens:
megamuch schreef op vrijdag 19 november 2004 @ 14:55:
Maak ten eerste overal is van
PHP:
1
2
$_POST['Reset']
$_SESSION['NaamGebruiker']
En doe dat dan ook, want wat je nu doet is lelijk en kan ook voor problemen zorgen.

'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