Problème lecture cookie :( [Résolu]

Signaler
Messages postés
192
Date d'inscription
jeudi 18 janvier 2007
Statut
Membre
Dernière intervention
19 octobre 2020
-
Messages postés
192
Date d'inscription
jeudi 18 janvier 2007
Statut
Membre
Dernière intervention
19 octobre 2020
-
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

Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
33
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]
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
33
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]
Messages postés
192
Date d'inscription
jeudi 18 janvier 2007
Statut
Membre
Dernière intervention
19 octobre 2020

Merci de ta réponse,

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

Merci

Nixeus'
Messages postés
192
Date d'inscription
jeudi 18 janvier 2007
Statut
Membre
Dernière intervention
19 octobre 2020

Merci beaucoup ! Cela fonctionne au poil ! :)

Nixeus'