Problème lecture cookie :(

Résolu
Nixeus Messages postés 192 Date d'inscription jeudi 18 janvier 2007 Statut Membre Dernière intervention 19 octobre 2020 - 15 nov. 2007 à 09:46
Nixeus Messages postés 192 Date d'inscription jeudi 18 janvier 2007 Statut Membre Dernière intervention 19 octobre 2020 - 15 nov. 2007 à 11:04
Bonjour à tous !

Je dois créer un cookie quand je rentre sur mon site, puis le lire ensuite, afin de savoir si la personne est déja venue.

Il s'agit donc de l'exemple le plus bateau !
Le problème est que, en utilisant les méthodes mises sur le net et sur ce forum, la fonction de lecture me renvoie toujours NULL, alors que le cooki est bien créer, et semble correcte.

Je me permet donc de vous donner mon bout de code :

ECRITURE DU COOKIE;

function ecrire_cookie(nom, valeur, expires) 

{

document.cookie=nom+"="+escape(valeur)+

((expires==null) ? "" : ("; expires="+expires.toGMTString()));

}

 

date=new Date;

date.setMonth(date.getMonth()+1); // expire dans un mois

ecrire_cookie("deja_venu", "oui", date);



LECTURE DU COOKIE ;

function arguments_cookie(offset)

{

var endstr=document.cookie.indexOf (";", offset);

if (endstr==-1) endstr=document.cookie.length;

return unescape(document.cookie.substring(offset, endstr)); 

}

function lire_cookie(nom)

{

var arg=nom+"=";

var alen=arg.length;

var clen=document.cookie.length;

var i=0;

while (i<999)

{

var j=i+alen;

if (document.cookie.substring(i, j)==arg)

return arguments_cookies(j);

i=document.cookie.indexOf(" ",i)+1;

if (i==0) break;

}

return null; 

}

var reponse;

reponse=lire_cookie("deja_venu");

window.alert(reponse);



Voila, donc la réponse est toujours NULL lors de la lecture de mon cookie !

Je vous fournis également une copie de mon cookie, qui est sur le disque dur !

deja_venu
oui
localhost/divalto/
1088
4272031232
29900533
106155296
29894499
*

Voila voila !
Je ne comprend vraiment pas :(

Merci beaucoup de votre aide, je vous souhaite une bonne journée

Nixeus'

4 réponses

cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
15 nov. 2007 à 10:57
il n'y a jamais qu'un seul cookie pour un même utilisateur.

c'est une chaîne de caractères pas plus.
on peut donc y mémoriser ce qu'on veut et étudier son contenu.
si c'est pour savoir si un internaute est déjà venue, la présence
    ou pas du cookie suffit

if  (!document.cookie)
            créer le cookie car jamais venu
else     déjà venu.

<hr />                Cordialement            Bul         [mon Site]     [M'écrire]
3
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
15 nov. 2007 à 10:34
Bonjour,

   c'est  uniquement pour savoir si une personne est déjà venue ?
    pourquoi toute cette gestion alors ?
   
                créer un cookie pour ~1 an :
var da = new Date();
var d=new Date(Date.parse(da)+(1000*60*60*24*365));
document.cookie="n'importe quoi ?" + ";expires=" + d.toGMTString() + ";" ;

                tester si cookie existe :
if ( document.cookie ) dèjà venu  else pas encore venu

<hr />                Cordialement            Bul         [mon Site]     [M'écrire]
0
Nixeus Messages postés 192 Date d'inscription jeudi 18 janvier 2007 Statut Membre Dernière intervention 19 octobre 2020
15 nov. 2007 à 10:46
Merci de ta réponse,

Cependant, comment if(document.cookie) va savoir quel cooki je veux détecter ?

Merci

Nixeus'
0
Nixeus Messages postés 192 Date d'inscription jeudi 18 janvier 2007 Statut Membre Dernière intervention 19 octobre 2020
15 nov. 2007 à 11:04
Merci beaucoup ! Cela fonctionne au poil ! :)

Nixeus'
0
Rejoignez-nous