Perte de cookie

Perte de cookie - PHP - Programmation

Marsh Posté le 11-01-2007 à 09:40:08    

J'ai développé un Intranet et avant je sauvegardais les identifiant et mot de passe dans un cookie pour éviter de devoir les remettres à chaque fois.
Mais depuis peut je n'arrive plus à conserver les cookies.
 
S'avez-vous pourquoi ?
 
D'avance merci


---------------
Le problème avec les idées derrière la tête c'est qu'on ne peut pas les voir :??:
Reply

Marsh Posté le 11-01-2007 à 09:40:08   

Reply

Marsh Posté le 11-01-2007 à 11:25:28    

c'est à dire tu n'y arrive plus ?
tu as vérifié les durées de validité de tes cookies ?
Les clients accepte toujours les cookies ?

Reply

Marsh Posté le 11-01-2007 à 12:26:15    

Peut-être que tu as modifier ton code et certain paramètre ne fonctionne plus.
Il n'y a pas d'erreur lors de l'execution de ton script ?

Reply

Marsh Posté le 11-01-2007 à 12:53:34    

chani_t a écrit :

c'est à dire tu n'y arrive plus ?
tu as vérifié les durées de validité de tes cookies ?
Les clients accepte toujours les cookies ?


 
Quand je cherche le cookie il est introuvable.
Validité OK puisque cela à fonctionné 2 ans et je les ais mis à 24h et 1 mois.
Les clients n'ont pas été modifié, j'ai ce problème avec Firefox et IE, je dois regarder où pour voir cela sur FireFox et IE


---------------
Le problème avec les idées derrière la tête c'est qu'on ne peut pas les voir :??:
Reply

Marsh Posté le 11-01-2007 à 13:28:25    

FF : Outils/options/vie privée/cookie.
IE : Outils/options internet/confidentialité

Reply

Marsh Posté le 11-01-2007 à 13:54:32    

Les données sont crypter dans les cookies j'espère , car un password en clair, dans un cookie, ça se récupère en moins de 2...

Reply

Marsh Posté le 12-01-2007 à 13:22:40    

chani_t a écrit :

FF : Outils/options/vie privée/cookie.
IE : Outils/options internet/confidentialité


 
Les Cookies sont bien acceptés


---------------
Le problème avec les idées derrière la tête c'est qu'on ne peut pas les voir :??:
Reply

Marsh Posté le 12-01-2007 à 13:26:25    

Un exemple :
 

Code :
  1. echo "Enregistrement";
  2. setcookie('cookie_name', 'blablabla', (time() + 3600));
  3. echo "1**".$_COOKIE['cookie_name'];
  4. echo "<br>2**".$cookie_name;
  5. echo "<br>2**".$HTTP_COOKIE_VARS['cookie_name'];


 
La variable $_COOKIE['cookie_name']  n'affiche rien alors quelle à été affecté à la ligne précédente.
 
Là je ne vois pas

Reply

Marsh Posté le 12-01-2007 à 13:26:48    

xtof_83 a écrit :

Les données sont crypter dans les cookies j'espère , car un password en clair, dans un cookie, ça se récupère en moins de 2...


 
Comment faire ?

Reply

Marsh Posté le 12-01-2007 à 13:34:19    

et avec $_COOKIE['cookie_name'] ? (bon je sais normalement il n'y a pas de différence.. mais bon
 
et pis quand tu fais un print_r ($_COOKIE); ?

Reply

Marsh Posté le 12-01-2007 à 13:34:19   

Reply

Marsh Posté le 12-01-2007 à 13:41:00    

chani_t a écrit :

et avec $_COOKIE['cookie_name'] ? (bon je sais normalement il n'y a pas de différence.. mais bon
 
et pis quand tu fais un print_r ($_COOKIE); ?


 
Ca donne Array ( [PHPSESSID] => cc95051762bf9165dfecfbca8850f16a )


---------------
Le problème avec les idées derrière la tête c'est qu'on ne peut pas les voir :??:
Reply

Marsh Posté le 12-01-2007 à 13:49:27    

est ce que tu bufferise ta page ? (utilise ob_start.. ?), car si tu l'utilise, le cookie n'est envoyé qu'a la fin  lors du ob_end_flush.. donc si tu vas le lire netre temps, il n'existe pas !

 

EDIT : dans le manuel PHP:

 

Erreurs communes :
Les cookies ne seront accessibles qu'au chargement de la prochaine page, ou au
rechargement de la page courante. Pour tester si un cookie a été défini avec succès, vérifiez
la présence du cookie au prochain chargement de la page avant que le cookie n'expire. Le
délai d'expiration est défini en utilisant le paramètre expire . Une façon simple de vérifier le
positionnement du cookie est d'utiliser print_r($_COOKIE); .

Message cité 1 fois
Message édité par chani_t le 12-01-2007 à 13:51:27
Reply

Marsh Posté le 12-01-2007 à 13:51:20    

snike a écrit :

Un exemple :
 

Code :
  1. echo "Enregistrement";
  2. setcookie('cookie_name', 'blablabla', (time() + 3600));
  3. echo "1**".$_COOKIE['cookie_name'];
  4. echo "<br>2**".$cookie_name;
  5. echo "<br>2**".$HTTP_COOKIE_VARS['cookie_name'];


 
La variable $_COOKIE['cookie_name']  n'affiche rien alors quelle à été affecté à la ligne précédente.
 
Là je ne vois pas


 
Ben forcément, tu affiches des trucs avant... tu dois pas afficher les erreurs Notice je suppose :/.
 
error_reporting(E_ALL) en haut de ton script (mieux, dans le php.ini si tu peux, même E_ALL | E_STRICT tant qu'à faire).


Message édité par sielfried le 12-01-2007 à 13:51:32

---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
Reply

Marsh Posté le 12-01-2007 à 14:19:53    

Est le code devrait marcher :  
 

Code :
  1. <?
  2.   error_reporting (E_ERROR|E_PARSE);
  3.   session_start();
  4. echo "1**".$_COOKIE['cookie_name'];
  5. echo "<br>2**".$cookie_name;
  6. echo "<br>2**".$HTTP_COOKIE_VARS['cookie_name'];
  7. setcookie('cookie_name', 'blablabla', (time() + 3600));
  8. ?>


 
Pourtant ça ne marche pas


---------------
Le problème avec les idées derrière la tête c'est qu'on ne peut pas les voir :??:
Reply

Marsh Posté le 12-01-2007 à 14:20:23    

chani_t a écrit :

est ce que tu bufferise ta page ? (utilise ob_start.. ?), car si tu l'utilise, le cookie n'est envoyé qu'a la fin  lors du ob_end_flush.. donc si tu vas le lire netre temps, il n'existe pas !
 
EDIT : dans le manuel PHP:
 
Erreurs communes :
Les cookies ne seront accessibles qu'au chargement de la prochaine page, ou au
rechargement de la page courante. Pour tester si un cookie a été défini avec succès, vérifiez
la présence du cookie au prochain chargement de la page avant que le cookie n'expire. Le
délai d'expiration est défini en utilisant le paramètre expire . Une façon simple de vérifier le
positionnement du cookie est d'utiliser print_r($_COOKIE); .


 
bufferise ta page ça veut dire ?

Reply

Marsh Posté le 12-01-2007 à 14:31:05    

snike a écrit :

Est le code devrait marcher :  
 

Code :
  1. <?
  2.   error_reporting (E_ERROR|E_PARSE);
  3.   session_start();
  4. echo "1**".$_COOKIE['cookie_name'];
  5. echo "<br>2**".$cookie_name;
  6. echo "<br>2**".$HTTP_COOKIE_VARS['cookie_name'];
  7. setcookie('cookie_name', 'blablabla', (time() + 3600));
  8. ?>


 
Pourtant ça ne marche pas


 
Pas de echo avant le setcookie. :o
 
Et c'est ni une error ni une parse error ce que ça doit t'afficher, mais une Notice. Utilise au moins E_ALL.

Message cité 1 fois
Message édité par sielfried le 12-01-2007 à 14:31:20

---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
Reply

Marsh Posté le 12-01-2007 à 14:31:16    

je te l'ais mis.. utilisation de ob_start... ou éventuellement utilisation de système de cache.

Reply

Marsh Posté le 12-01-2007 à 14:54:50    

sielfried a écrit :

Pas de echo avant le setcookie. :o
 
Et c'est ni une error ni une parse error ce que ça doit t'afficher, mais une Notice. Utilise au moins E_ALL.


 
Dans un fichier les setcookie et dans un autre un echo $_COOKIE['cookie_name'] ça marche
 
Encore merci

Reply

Sujets relatifs:

Leave a Replay

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