Cookie + Firefox

Cookie + Firefox - PHP - Programmation

Marsh Posté le 07-07-2006 à 10:29:16    

Bonjour à tous,
 
Cela va probablement vous faire rire, mais je crois que j'ai un souci avec Firefox.
 
J'utilise des cookies et j'utilise un lien vers une page pour supprimer le cookie. Sous IE aucun souci. En revanche sous firefox, il ne veut pas me supprimer le cookie.
 
Voici les différentes manipulations que j'ai essayé et qui se sont révélés en échec :

Code :
  1. setcookie('c_'.$id_event, '', time()-3600);
  2. unset($_COOKIE['c_'.$id_event]);


Code :
  1. setcookie('c_'.$id_event, '', -1);
  2. unset($_COOKIE['c_'.$id_event]);


Code :
  1. setcookie('c_'.$id_event, -1, 0);
  2. unset($_COOKIE['c_'.$id_event]);


 
J'ai également essayé SANS la seconde commande mais rien à faire. J'arrive toujours à accèder à la page concerné.
 
Si vous avez une solution qui marche à tout les coups, je la veux bien. Merci d'avance.

Reply

Marsh Posté le 07-07-2006 à 10:29:16   

Reply

Marsh Posté le 07-07-2006 à 10:32:47    

J'ai oublié de dire que j'ai également essayé cette syntaxe :

Code :
  1. setcookie('c_'.$id_event);

Reply

Marsh Posté le 07-07-2006 à 10:40:07    

J'viens de me rendre compte que cela ne fonctionnait pas sous IE. Pourtant en local, ca fonctionnait. Depuis qu'il est en ligne, ca ne fonctionne plus.  
Va donc savoir ce qui ne va pas. Foutu navigateur ! ^^

Reply

Marsh Posté le 07-07-2006 à 11:05:22    

et quand tu fais comme c'est marqué dans la doc???
 
http://www.php.net/setcookie:

Citation :

When deleting a cookie you should assure that the expiration date is in the past, to trigger the removal mechanism in your browser. Examples follow how to delete cookies sent in previous example:
 
Example 2. setcookie() delete example
<?php
// set the expiration date to one hour ago
setcookie ("TestCookie", "", time() - 3600);
setcookie ("TestCookie", "", time() - 3600, "/~rasmus/", ".example.com", 1);
?>

Reply

Marsh Posté le 07-07-2006 à 11:21:16    

Déjà testé.
 
Lors de mes tests, je procédais sous EasyPHP. Cependant le site est hébergé sur un serveur IIS et on a installé PHP et MySQL dessus.  
 
A mon avis, le problème ne viendrais pas de mon script PHP mais du serveur.
 
Si quelqu'un pouvait me solutionner ce problème ou si quelqu'un à déjà rencontré ce genre de problème et qu'il l'a résolu ?
 
Merci de vos aides.

Reply

Marsh Posté le 10-07-2006 à 03:02:03    

essaye  
 
- temps dans le passe
- pas de temps
- temps tres court

Reply

Marsh Posté le 10-07-2006 à 04:40:26    

ptêtre une différence de fuseau horaire entre l'utilisateur et le serveur, tu met 1h dans le passé du coté serveur, mais chez le client cette heure n'est pas encore passée. :??:


---------------
Me: Django Localization, Yogo Puzzle, Chrome Grapher, C++ Signals, Brainf*ck.
Reply

Marsh Posté le 10-07-2006 à 09:09:10    

J'ai résolu mon problème (en espérant qu'il le sera).
 
En fait, une fois le cookie détruit, j'appelais la fonction header().
En faisant afficher la valeur de ma variable de mon cookie avant et après, je voyais bien qu'elle était supprimée (J'avais mis en commentaire la fonction header()).  
 
Pour conclur, j'en ai déduis que le problème venait de mon header. Alors pour remèdier au problème, dans ma page logout, au lieu de faire une redirection, j'ai placé un lien pour retourner à la page d'accueil. C'est moin "automatique" mais ca fonctionne. Dommage quand même que cela ne fonctionne pas partout.
 
Merci à vous tous pour vos aides.

Reply

Marsh Posté le 11-07-2006 à 09:58:01    

Tu peux aussi ajouter un ligne $_COOKIE = array()
 
Comme ça, cette ligne te permet de supprimer le cookie sur la page de redirection et le setcookie te détruit le cookie réellement pour les pages suivantes.

Reply

Marsh Posté le 11-07-2006 à 11:41:05    

Merci naglafar ;)

Reply

Sujets relatifs:

Leave a Replay

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