Nixeus
Messages postés192Date d'inscriptionjeudi 18 janvier 2007StatutMembreDernière intervention19 octobre 2020
-
15 nov. 2007 à 09:46
Nixeus
Messages postés192Date d'inscriptionjeudi 18 janvier 2007StatutMembreDernière intervention19 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 !
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 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.
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 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