Toon posts:

[php] cookie & refresh

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik gebruik een inlog script dat gebruik maakt van cookies.

setcookie .......blablabla

dan krijg ik dus leuk op mijn site "welkom $user"

er is ook een button om uit te loggen, en dat werkt wel, alleen blijft er op mijn site nogsteeds de $user staan :( (ondanks dat het uitlog script de pagina geheel laat refreshen)

pas als ik 1x op F5 druk(of nog een keer op de uitlog button druk) ben ik die naam pas weer kwijt,

hoe kan ik dit oplossen? is het mogelijk om het refreshen 2sec te vertragen ofzo?

  • Juup
  • Registratie: Februari 2000
  • Niet online
Verwijder je (data uit) het cookie client-side of met PHP?

Een wappie is iemand die gevallen is voor de (jarenlange) Russische desinformatiecampagnes.
Wantrouwen en confirmation bias doen de rest.


Verwijderd

Topicstarter
setcookie("user",time()-43200);

zo zet ik de cookies weer uit, is dat PHP?

  • Grum
  • Registratie: Juni 2001
  • Niet online
[url="http://php.net/setcookie"]http://php.net/setcookie[/url]

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 28-08 12:00

Janoz

Moderator Devschuur®

!litemod

Cookies worden clientside opgeslagen en bij elk request meegestuurd. Waneer je op de uitloglink drukt zullen deze cookievars dus ook meegestuurd worden. Het cookie wordt bij het terugkrijgen van die pagina inderdaad weggehaald, maar omdat deze bij het opmaken van de 'uitlog pagina' nog wel bestond zal de user nog steeds worden ingevuld.

Oplossing 1:
Verwijder bij het uitloggen niet alleen de cookie, maar zet ook $user=""

Oplossing 2:
een redirect header naar de index waardoor het weghalen van de cookie gebeurt voordat de nieuwe pagina wordt opgehaald.

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


Verwijderd

Topicstarter
bedankt, ik heb nu dit:

if ($status == "logout") {

setcookie("name",Time()-0);
setcookie("pass",Time()-0);
header('location:index.php');
}
else{
}

  • kvdveer
  • Registratie: November 2000
  • Laatst online: 06-11-2025

kvdveer

Z.O.Z.

setcookie(...) en header('location:blaat') mengen niet, je zult dit dus anders op moeten lossen

De oplossing is:
code:
1
2
3
4
5
6
if ($status == "logout") {

setcookie("name",Time()-0);
setcookie("pass",Time()-0);
die('<HTML><SCRIPT>window.location="nieuwe url";</SCRIPT></HTML>');
}

Time()-0 kun je trouwens beter vervangen door Time()-10000, om tijdsverschillen tussen de client en server op te heffen.

Localhost, sweet localhost


Verwijderd

Topicstarter
Op dinsdag 23 juli 2002 17:07 schreef kvdveer het volgende:
setcookie(...) en header('location:blaat') mengen niet, je zult dit dus anders op moeten lossen
ik wil niet vervelend doen ofzo maar wat ik hierboven post dat werkt gewoon :? dus waarom zouden setcookie en header niet mengen?

maar toch bedankt voor je reply :P

  • pietje63
  • Registratie: Juli 2001
  • Laatst online: 13:49

pietje63

RTFM

werkt het niet om eerst de cookie leeg te maken, en hem daarna pas te verwijderen?

De grootste Nederlandstalige database met informatie over computers met zoekfunctie!!

Pagina: 1