[php]Cookie verwijderen lukt niet

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • RvL
  • Registratie: Maart 2002
  • Laatst online: 13:18
Hallo allemaal,

ik heb ruzie met wat cookies, beter gezegd met het verwijderen ervan.

Wat is het geval. Ik ben een simpele EK-poule aan het opzetten voor een vriendenclub. Het hoeft niet superveilig te zijn, maar om te voorkomen dat niet zomaar iedereen er in kan schrijf ik na het inloggen de gebruikersnaam en een versleuteld wachtwoord weg in 2 cookies, userEKPoule en wwEKPoule. Bestaan die cookies dan wordt de inhoud van een pagina weergegeven. Bestaan ze niet, dan wordt er een foutmelding gegeven gevolgd door die();. Vrij simpel dus.

Nu worden deze standaard verwijderd als de browser afgesloten wordt, maar ik zou ze ook graag verwijderen na het uitloggen. Ik heb hier een prachtig boek liggen 'PHP, het complete handboek' dus ben eens aan het lezen gegaan. Dat zou helemaal niet moeilijk moeten zijn, dus ik probeer het volgende, naar het voorbeeld in het boek
PHP:
1
2
3
4
5
6
<?php
setcookie('userEKPoule');
setcookie('wwEKPoule');
?>
<p>U bent uitgelogd. Dit venster wordt automatisch afgesloten.
<META HTTP-EQUIV="REFRESH" CONTENT="2;URL=javascript: parent.window.close();">

Goed, die meta-tag had anders opgelost kunnen worden, maar het moet even snel gebeuren ;)

Er vanuitgaande dat de cookies verwijderd zijn, probeer ik een willekeurige pagina van de EK-poule te openen, wat zou moeten leiden tot een foutmelding dat de gebruiker niet ingelogd is. Maar dat gebeurd niet. In plaats daar van krijg ik gewoon de pagina te zien.

Nog een keer gelezen, enkele aanhalingstekens vervangen door dubbele, geen aanhalingstekens, maar het werkt allemaal niet. Toen ben ik eens gaan zoeken op GoT, via Google, want de search deed moeilijk en kwam een aantal links tegen, waaronder deze

Ook dat werkt niet. Mijn vraag is nu dus, wat doe ik in vredesnaam fout. Ik heb de voorbeelden precies gevolgd zoals ze er staan, maar het schijnt niet te werken. Ik heb ook verschillende plaatsen in het document geprobeerd. Middenin begonnen (in een else{}), toen helemaal bovenaan, zoals bij de declaratie, maar het schijnt allemaal niet uit te maken.

Waarschijnlijk doe ik iets heel doms fout, maar wie verteld me wat?

Liefde maakt een smal bed breed!
Nu de dekens nog...


Acties:
  • 0 Henk 'm!

  • MIster X
  • Registratie: November 2001
  • Laatst online: 16-01 09:39
Wat die site aangeeft, is wel de manier waarop ikzelf werk.
Dat zou bij jou iets moeten worden als:
PHP:
1
setcookie("userEKPoule", "", time()-60);

Als dat niet werkt, probeer dan gewoon eens de inhoud van het cookie te veranderen en te kijken of de inhoud werkelijk verandert is door in je map met cookies zelf te kijken.

Bij het debuggen van cookie-problemen is het misschien ook makkelijk om bij Internet Options > Privacy > Advanced de cookie-handling tijdelijk op promt te zetten. (Als je dat nog niet deed.) (En niet dat je er hier veel aan zult hebben, maar anyway.) (Ik zit weer uit m'n nek te kletsen.) ( ;) )

Acties:
  • 0 Henk 'm!

  • Engineer
  • Registratie: Juni 2001
  • Laatst online: 03-07 23:56

Engineer

Software

.

[ Voor 99% gewijzigd door Engineer op 13-10-2018 10:53 ]


Acties:
  • 0 Henk 'm!

  • Wolfboy
  • Registratie: Januari 2001
  • Niet online

Wolfboy

ubi dubium ibi libertas

setcookie(naam,inhoud,vervaldatum);
als je dus de 2e waarde veranderd naar '' dan weet je zeker dat de cookie leeg is

Blog [Stackoverflow] [LinkedIn]