Probleme de cookie

Probleme de cookie - HTML/CSS - Programmation

Marsh Posté le 26-07-2007 à 11:47:17    

Bonjour,
 
Problème de cookie. J'ouvre une popup sur une page d'accueil, j'aimerais que cela ne se fasse qu'une seule fois (je vérifie si le cookie existe déjà, et si non j'ouvre la popup et je le crée). Or l'erreur javascript ressort : la variable enquête est indéfinie. Je ne comprends pas pourquoi. Voici mon code :
 

Code :
  1. <script language="JavaScript"><!--
  2.    
  3.    function cre_cook(nom,contenu,jours) {
  4.       var expireDate = new Date();
  5.       expireDate.setTime(expireDate.getTime() + jours*24*3600*1000);
  6.       document.cookie = nom + "=" + escape(contenu)
  7.          + ";expires=" + expireDate.toGMTString();
  8.       }
  9.    
  10.    function lit_cook(nom) {
  11.       var deb,fin,enquete
  12.       deb = document.cookie.indexOf(nom + "=" )
  13.       if (deb >= 0) {
  14.          deb += nom.length + 1
  15.          fin = document.cookie.indexOf(";",deb)
  16.          if (fin < 0) fin = document.cookie.length
  17.          //return unescape(document.cookie.substring(deb,fin))
  18.          enquete = unescape(document.cookie.substring(deb,fin))
  19.          return enquete;
  20.          }
  21.       return ""
  22.       }//fin litcook
  23. var test;
  24. test = lit_cook(enquete);
  25. if (test == null)
  26. {
  27. cre_cook(enquete,1,6);
  28. var gauche=(screen.width-790)/2;
  29.   var droite=(screen.height-600)/2;
  30. window.open('mapopup.asp','enquete','top='+droite+',left='+gauche+',width=790,height=600,scrollbars=yes,status=yes,resizable=no');
  31. }//si
  32. --></script>


Avez-vous une idée ?
Merci

Reply

Marsh Posté le 26-07-2007 à 11:47:17   

Reply

Marsh Posté le 26-07-2007 à 11:55:39    

Code :
  1. test = lit_cook('enquete');


enfin si enquete est bien le nom de ton cookie :o

Reply

Marsh Posté le 26-07-2007 à 12:05:36    

En fait j'avais confondu la variable et son contenu...
Mais cette fois-ci, même en réglant cela, ça ne crée pas de cookie et ma popup ne s'ouvre plus du tout...
Une idée ?

Reply

Marsh Posté le 26-07-2007 à 12:16:26    

normal...
ta fonction lit_cook renvoie au choix:

Code :
  1. return enquete; //unescape d'un string
  2. /** ou **/
  3. return "";


et tu fais ton test ainsi:

Code :
  1. if (test == null)


ce qui ne peut se produire...


Message édité par anapajari le 26-07-2007 à 12:16:38
Reply

Marsh Posté le 26-07-2007 à 13:52:00    

Merci de m'avoir répondu, à présent j'ai mis ceci, sans plus de succès, plus d'erreur mais rien ne se produit à présent (pas de cookie, pas d'erreur) :
 

Code :
  1. <script language="JavaScript"><!--
  2. function cre_cook(nom,contenu,jours) {
  3. var expireDate = new Date();
  4. expireDate.setTime(expireDate.getTime() + jours*24*3600*1000);
  5. document.cookie = nom + "=" + escape(contenu)
  6. + ";expires=" + expireDate.toGMTString();
  7. }
  8. function lit_cook(nom) {
  9. var deb,fin;
  10. deb = document.cookie.indexOf(nom + "=" )
  11. if (deb >= 0) {
  12. deb += nom.length + 1;
  13. fin = document.cookie.indexOf(";",deb);
  14. if (fin < 0) fin = document.cookie.length
  15. return unescape(document.cookie.substring(deb,fin));
  16. }
  17. return "";
  18. }//fin litcook
  19. var test;
  20. test = lit_cook('enquete');
  21. if (test == null)
  22. {
  23. cre_cook("enquete",1,6);
  24. var gauche=(screen.width-790)/2;
  25. var droite=(screen.height-600)/2;
  26. window.open('mapopup.asp','enquete','top='+droite+',left='+gauche+',width=790,height=600,scrollbars=yes,status=yes,resizable=no');
  27. }//si
  28. --></script>


Reply

Marsh Posté le 26-07-2007 à 13:55:52    

oui c'est toujours du au problème que je décris dans mon poste précédent.

Reply

Marsh Posté le 26-07-2007 à 14:53:12    

Ok d'accord, ça marche !!!!
C'était probablement pas compliqué mais comme je suis vraiment débutante et que j'ai du mal à y voir clair dans les codes de cookies...
 
Merci d'avoir pris le temps de m'aider, c'est assez rare sur ce forum.

Reply

Sujets relatifs:

Leave a Replay

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