Partage
  • Partager sur Facebook
  • Partager sur Twitter

problèmes avec les cookies :o

Sujet résolu
    8 septembre 2010 à 15:11:52

    Bonjour tout le monde !

    Voila j'ai une fois de plus un problème en javascript, avec un fonction setCookie maintenant ;)

    function setCookie(sName, sValue)
    {
    	var today = new Date(), expires = new Date();
    	expires.setTime(3600000);
    	document.cookie = sName + "=" + encodeURIComponent(sValue) + ";expires=" + expires.toGMTString();
    }
    function getCookie(sName)
    {
    	var oRegex = new RegExp("(?:; )?" + sName + "=([^;]*);?");
    	if (oRegex.test(document.cookie))
    	{
    		return decodeURIComponent(RegExp["$1"]);
    	}
    	else
    	{
    		return null;
    	}
    }
    
    function testNbrActionsToday()
    {
    	if (getCookie('nbrActionsToday') == null)
    	{
    		alert("cookie inexistant");
    		setCookie('nbrActionsToday', 'coucou!');
    	}
    	else
    	{
    		alert(getCookie('nbrActionsToday'));
    	}
    }
    

    la fonction testNbrActionsToday() est appelée au chargement de la page.
    Problème :
    la fonction setCookie ne marche pas, a chaque chargement de page, un alert indique "cookie inexistant" :s
    Si quelqu'un veut bien m'aider je serais content ! merci d'avance :p
    • Partager sur Facebook
    • Partager sur Twitter
      8 septembre 2010 à 16:36:36

      1. Fait un alert(document.cookie) et regarde si ton cookie y est.
      2. return decodeURIComponent(RegExp["$1"]); me parait très louche;
      Utilise:
      return decodeURIComponent(oRegex.exec(document.cookie)[1]);
      • Partager sur Facebook
      • Partager sur Twitter
        8 septembre 2010 à 16:38:03

        c'est le code copié collé de la fonction du tuto de thunderseb et nesquik69 ;) je vais faire ce que tu dit !

        edit : document.cookie est vide ! si je met un setCookie('cooki','value'); dans ma fonction testNbrActionsToday idem, le cookie n'est pas crée :(
        • Partager sur Facebook
        • Partager sur Twitter
          8 septembre 2010 à 16:41:45

          En fait non, je dirais que le problème c'est :
          expires.setTime(3600000);

          Tu dois mettre :
          expires.setTime(today.getTime() + 3600000);
          • Partager sur Facebook
          • Partager sur Twitter
            8 septembre 2010 à 16:58:51

            a exact, j'ai fini par enlever le today.getTime() + a force de faire des calculs pour calculer dans combien de milisecondes il sera minuit ! --"

            problème en théorie résolu, je laisse le topic non résolu tant que je n'aurai pas réussi a faire ce que je voulais a la base ;)
            • Partager sur Facebook
            • Partager sur Twitter

            problèmes avec les cookies :o

            × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
            × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
            • Editeur
            • Markdown