Suppression de cookies

Suppression de cookies - PHP - Programmation

Marsh Posté le 01-06-2008 à 10:44:54    

Hello all,
 
Pour supprimer un cookie en PHP, je fais (et cela semble etre la pratique courante):
 
setcookie("cookie_region", "", time() - 3600, '/',$CONF['cookie_domain']);
 
Et ça fonctionne casiment tout le temps.
Mais j'ai eu le cas d'un utilisateur qui a changé sa date sur son ordi (il s'est mis en l'an 2000). Et là plus moyen de supprimer le cookie.
 
En effet, time() est la date du serveur pas celle de l'utilisateur. Donc si la date de l'utilisateur est inférieure à "time() - 3600", la date est toujours dans le futur pour le navigateur et il concerve le cookie ?
 
Est-ce que mon raisonnement est correct ou est-ce que j'ai loupé un truc ?
Quand est-il pour les visiteurs n'etant pas dans le meme fuseau horaire que le serveur ?
 
Merci d'avance pour vos reponses
 
Fluminis


---------------
http://poemes.iceteapeche.com - http://www.simuland.net
Reply

Marsh Posté le 01-06-2008 à 10:44:54   

Reply

Marsh Posté le 01-06-2008 à 11:29:43    

Tu crées ton cookie comme ca :

Code :
  1. <?php setcookie('cookie_region','valeur:'.time()+3600,time()+3600,'/',$CONF['cookie_domain']); ?>


 
Tu le récupère comme çà :

Code :
  1. $val=explode(':',$_COOKIE['cookie_region']);
  2. if($val[1]<time())
  3. {
  4.    //ton code qui utilise le cookie
  5. }
  6. else
  7. {
  8.    setcookie('cookie_region',FALSE);
  9. }


 
Du coup, la durée de vie se trouve dans la valeur du cookie et le test de validité est fait côté serveur.


Message édité par Profil supprimé le 01-06-2008 à 11:31:59
Reply

Marsh Posté le 01-06-2008 à 11:41:54    

Pas bete comme idée, je vais essayer.
 
setcookie('cookie_region',FALSE); => ça efface le cookie ?


---------------
http://poemes.iceteapeche.com - http://www.simuland.net
Reply

Marsh Posté le 01-06-2008 à 11:45:49    

oui, je mets FALSE parce que du coup avec le plugin WebDevelopper le cookie ne s'affiche plus, ce qui n'est pas le cas si on transmets un 2eme param vide (setcookie('truc',''))

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed