Ecriture de cookie sous ie7

Résolu
Morphinof Messages postés 255 Date d'inscription vendredi 20 avril 2007 Statut Membre Dernière intervention 9 août 2013 - 1 févr. 2008 à 11:17
Morphinof Messages postés 255 Date d'inscription vendredi 20 avril 2007 Statut Membre Dernière intervention 9 août 2013 - 4 févr. 2008 à 16:12
Bonjour,

J'ai un petit problème d'écriture de cookie avec IE7, lorsque je j'essaye d'écrire dans un cookie quelquonque la chaine suivante :

01,02,03,04,05,06,07,08,09,10,11,12,13,14,15,16,17,18,19,21,22,23,24,25,26,27,28,
29,2A,2B,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53
,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,
81,82,83,84,85,86,87,88,89,90,91,92,93,94,95%

qui représente des numéros de département, document.cookie devient null à partir du 30 eme département, pourtant il ne semble pas que la chaîne soit trop longue j'ai testé avec une chaine de 1400 caractères sans virgules et la tout ce passe bien, j'ai l'impression que sa viendrai de l'encodage de la chaine par la fonction escape avant l'écriture du cookie mais je n'en suis pas certain.

Je ne comprends pas pourquoi IE7 n'arrive pas à écrire cette chaine alors que FireFox lui le fait sans souci.

Quelque chose cloche mais je ne vois pas du tout où, si vous avez une idée je suis tout ouïe !

34 réponses

Morphinof Messages postés 255 Date d'inscription vendredi 20 avril 2007 Statut Membre Dernière intervention 9 août 2013 4
4 févr. 2008 à 14:58
Problème résolu, de plus je me suis rendu compte que j'écrivais beaucoup trop de choses dans mes cookies et queje dépassais la limite de taille autorisée par ie.

Merci beaucoup de m'avoir aidé !
3
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
1 févr. 2008 à 12:14
Bonjour,
    tu fais quelque chose de particulier probablement (?)
    parce que avec ou sans escape, ça semble baigner

<script type="text/javascript">
    function ecr()
    {   var da = new Date();
        var d = new Date( Date.parse(da) + ( 1000*60*60*24*365 ) );
        document.cookie = escape("01,02,03,04,05,06,07,08,09,10,11,12,13,14,15,16,17,18,19,21,22,23,24,25,26,27,28,29,2A,2B,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95") +
                            ";expires=" + d.toGMTString() + ";" ;
    }
    function lir()
    {    alert(document.cookie);    }
</script>

           

<hr />                Cordialement            Bul         «mon Site»     «M'écrire»
0
Morphinof Messages postés 255 Date d'inscription vendredi 20 avril 2007 Statut Membre Dernière intervention 9 août 2013 4
1 févr. 2008 à 13:35
Justement rien de particulier j'écrit juste d'autres cookies avant, et si je supprime l'écriture ce ce cookie en particulier tout ce passe bien c'est pour sa que je bloque :(
0
Morphinof Messages postés 255 Date d'inscription vendredi 20 avril 2007 Statut Membre Dernière intervention 9 août 2013 4
1 févr. 2008 à 13:38
Je viens d'essayer avec ton code, même erreur. Je comprends plus rien ^^
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Morphinof Messages postés 255 Date d'inscription vendredi 20 avril 2007 Statut Membre Dernière intervention 9 août 2013 4
1 févr. 2008 à 13:42
Voila ce que contient mon document.cookie avant écriture si sa peu eclaircir les choses

se_activ_onglet_0=1; se_activ_onglet_1=0; selected_expert=null;
ss_activ_onglet_0=1; ss_activ_onglet_1=0; ss_activ_onglet_2=0;
ss_activ_onglet_3=0; selected_brochure_id=24; selected_brochure_number=3107;
array_liste_labels_cn_a_traiter=null; selected_csp_name=cadres;
selected_regime_name=prevoyance;
texte=Test%20sur%20brochure%203107%2C3107%2CCC%2Cjj/mm/aaaa%2Cjj/mm/aaaa%2Ctrue%2Cfalse%2Cfalse%2Cjj/mm/aaaa;
taux=null; application=null; syndicats=null; caisses=null;
01%2C02%2C03%2C04%2C05%2C06%2C07%2C08%2C09%2C10%2C11%2C12%2C13%2C14%2C15%2C16%2C17%2C18%2C19%2C21%2C22%2C23%2C24%2C25%2C26%2C27%2C28%2C29%2C2A%2C2B%2C30%2C31%2C32%2C33%2C34%2C35%2C36%2C37%2C38%2C39%2C40%2C41%2C42%2C43%2C44%2C45%2C46%2C47%2C48%2C49%2C50%2C51%2C52%2C53%2C54%2C55%2C56%2C57%2C58%2C59%2C60%2C61%2C62%2C63%2C64%2C65%2C66%2C67%2C68%2C69%2C70%2C71%2C72%2C73%2C74%2C75%2C76%2C77%2C78%2C79%2C80%2C81%2C82%2C83%2C84%2C85%2C86%2C87%2C88%2C89%2C90%2C91%2C92%2C93%2C94%2C95%25;
array_liste_id_cn_a_traiter=12%2C13%2C119%2C121%2C176%2C204%2C206%2C226%2C227%2C232%2C236%2C245%2C259%2C262%2C295%2C336%2C337%2C358%2C360%2C363%2C364%2C365%2C369%2C370%2C371%2C373;
array_liste_label_cn_a_traiter=01.25Z%20-%20Culture%20d%27autres%20fruits%20d%27arbres%20ou%20d%27arbustes%20et%20de%20fruits%20%E0%20coque%2C01.26Z%20-%20Culture%20de%20fruits%20ol%E9agineux%2C20.11Z%20-%20Fabrication%20de%20gaz%20industriels%2C20.14Z%20-%20Fabrication%20d%27autres%20produits%20chimiques%20organiques%20de%20base%2C24.46Z%20-%20%C9laboration%20et%20transformation%20de%20mati%E8res%20nucl%E9aires%2C27.12Z%20-%20Fabrication%20de%20mat%E9riel%20de%20distribution%20et%20de%20commande%20%E9lectrique%2C27.31Z%20-%20Fabrication%20de%20c%E2bles%20de%20fibres%20optiques%2C28.91Z%20-%20Fabrication%20de%20machines%20pour%20la%20m%E9tallurgie%2C28.92Z%20-%20Fabrication%20de%20machines%20pour%20l%27extraction%20ou%20la%20construction%2C29.10Z%20-%20Construction%20de%20v%E9hicules%20automobiles%2C30.11Z%20-%20Construction%20de%20navires%20et%20de%20structures%20flottantes%2C31.02Z%20-%20Fabrication%20de%20meubles%20de%20cuisine%20%2C33.15Z%20-%20R%E9paration%20et%20maintenance%20navale%2C33.19Z%20-%20R%E9paration%20d%27autres%20%E9quipements%2C45.40Z%20-%20Commerce%20et%20r%E9paration%20de%20motocycles%2C47.42Z%20-%20Commerce%20de%20d%E9tail%20de%20mat%E9riels%20de%20t%E9l%E9communication%20en%20magasin%20sp%E9cialis%E9%2C47.43Z%20-%20Commerce%20de%20d%E9tail%20de%20mat%E9riels%20audio%20et%20vid%E9o%20en%20magasin%20sp%E9cialis%E9%2C49.31Z%20-%20Transports%20urbains%20et%20suburbains%20de%20voyageurs%2C49.42Z%20-%20Services%20de%20d%E9m%E9nagement%2C50.20Z%20-%20Transports%20maritimes%20et%20c%F4tiers%20de%20fret%2C50.30Z%20-%20Transports%20fluviaux%20de%20passagers%2C50.40Z%20-%20Transports%20fluviaux%20de%20fret%20%2C52.21Z%20-%20Services%20auxiliaires%20des%20transports%20terrestres%2C52.22Z%20-%20Services%20auxiliaires%20des%20transports%20par%20eau%2C52.23Z%20-%20Services%20auxiliaires%20des%20transports%20a%E9riens%2C53.20Z%20-%20Autres%20activit%E9s%20de%20poste%20et%20de%20courrier;

j'ai juste enlevé le phpsesid
0
Morphinof Messages postés 255 Date d'inscription vendredi 20 avril 2007 Statut Membre Dernière intervention 9 août 2013 4
1 févr. 2008 à 13:52
J'ai fait un test en détruisant tout les cookies avant d'écrire celui la et sa marche mais il y à un os si sa viens de la taille de mon document.cookie parce que si j'enlève l'écriture du cookie qui fait planter sa marche bien et mon document.cookie est plus lourd que si j'ajoutait juste celui qui plante à la suite.
Apparement l'ordre d'écriture ne change rien j'ai essayé au cas ou mais ca ne change rien.
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
1 févr. 2008 à 15:20
et si tu remplaçais les ; par un autre caractère ( _  par exemple... )
<hr />                Cordialement            Bul         «mon Site»     «M'écrire»
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
1 févr. 2008 à 15:21
ah... je ne sais pas si je n'ai pas un souci pour recevoir les réponses....
j'ai changé d'adresse mail et certaines réponses me parviennent, pas toutes...
<hr />                Cordialement            Bul         «mon Site»     «M'écrire»
0
Morphinof Messages postés 255 Date d'inscription vendredi 20 avril 2007 Statut Membre Dernière intervention 9 août 2013 4
1 févr. 2008 à 15:49
J'ai essayé aussi j'ai même problème du moment que que met pas de ";" sa n'a aucune incidence l'érreur reste.

Sa à l'air d'être un problème de longeur et pourtant comme j'ai pu le tester ce n'est pas clairement sa si je suprimme l'écriture de ce cookie tout marche bien et la longeur totale de document.cookie dépasse les 4000 caractères.

Plusieurs de mes autres cookies on une structure bien plus complexe que celui la et s'enregistrent correctement.

Si j'essaye de n'enregistrer que ce cookie sa marche bien.
Si je détruit les autres cookie avant de l'écrire sa marche aussi.
Si j'écrit tout mes cookie sauf celui la sa marche.

Dès que j'essaye d'écrire ce cookie avec les autres c'est fini.
Et pourtant il n'as rien de bien sorcier et je ne dépasse pas la limite de taille d'un cookie.
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
1 févr. 2008 à 15:53
et bien chez moi  c'est les ; qui perturbaient. ( s'arrêtait au 1er ! )
la taile, pas de souci.
<hr />                Cordialement            Bul         «mon Site»     «M'écrire»
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
1 févr. 2008 à 15:56
je relis seulement ta réponse...
    Si j'essaye de n'enregistrer que ce cookie sa marche bien
c'est vrai que je n'ai essayé qu'avec 1 cookie, mais
    comment tu fais pour avoir plusieurs cookies ?
    un cookie est unique pour un site pour un visiteur.... non ?
<hr />                Cordialement            Bul         «mon Site»     «M'écrire»
0
Morphinof Messages postés 255 Date d'inscription vendredi 20 avril 2007 Statut Membre Dernière intervention 9 août 2013 4
1 févr. 2008 à 16:02
Ah ^^ sa voudrai dire qu'il y à quelque chose qui s'écrit mal et qu'il fusionnerai 2 cookie s ?
Je suis telement à cours d'idées la, surtout que sous FireFox tout se passe à merveille.
0
Morphinof Messages postés 255 Date d'inscription vendredi 20 avril 2007 Statut Membre Dernière intervention 9 août 2013 4
1 févr. 2008 à 16:04
Oui oui il n'y en à bien qu'un seul général en fait c'est juste que j'écrit dans document.cookie plusieures fois avec des noms différents, j'ai une fonction
writeCookie(name, value), et quand je dit que j'en ai plusieurs c'est juste le nom qui change ;)
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
1 févr. 2008 à 16:07
>>

Ah ^^ sa voudrai dire qu'il y à quelque chose qui s'écrit mal et qu'il fusionnerai 2 cookie s ?
    euh.. ??
    pas d'erreurs sous IE ?
¡————————¡——————————————————————————————————————————————————————————¡
|FireFox |regarder la "console d'erreurs" |
| | Outils / Console d'erreurs |
| | |
| | et mieux, télécharger FireBug |
¦————————¦——————————————————————————————————————————————————————————¦
|Internet|activer le deboggage : Outils/options Internet/Avancés |
|Explorer| dans la liste, sous "Navigation" : décocher |
| | ° Afficher une notification de chaque erreur de script |
| | ° Désactiver le débogage de Scripts (Internet Explorer) |
| | |
| | et mieux, télécharger le Debogger IE |
¦————————¦——————————————————————————————————————————————————————————¦
|K—Meleon|regarder la "console d'erreurs" |
| | Outils / Console d'erreurs |
¦————————¦——————————————————————————————————————————————————————————¦
|Opera |regarder la "console d'erreurs" |
| | utils / Asole d'erreurs |
¦————————¦——————————————————————————————————————————————————————————¦
|Safari |regarder Debug / Show JavaScript Console |
| | |
| |modif Fichier "Support:\Documents and Settings\utilisateur|
| |\Application Data\Apple Computer\Safari\Preferences.plist"|
| | y ajouter <key>IncludeDebugMenu</key> |
| | <true/> |
!————————!——————————————————————————————————————————————————————————!

curieux quand même que les réactions diffèrent...

<hr />                Cordialement            Bul         «mon Site»     «M'écrire»
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
1 févr. 2008 à 16:11
un cookie c'est un string. pas plus.
    après on y stocke ce qu'on veut ( possiblement en ajoutant des données
        mais après avoir relu le contenu "précédent" ! )
    et on réexploite comme il faut [ j'allais dire comme on peut ;o) ]

<hr />                Cordialement            Bul         «mon Site»     «M'écrire»
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
1 févr. 2008 à 16:13
à priori, souci avec IE dans la fonction writeCookie voir readCookie...
<hr />                Cordialement            Bul         «mon Site»     «M'écrire»
0
Morphinof Messages postés 255 Date d'inscription vendredi 20 avril 2007 Statut Membre Dernière intervention 9 août 2013 4
1 févr. 2008 à 16:14
Je m'exprime mal :p
Quand je parle de fusion de 2 cookies je voulais dire que quelque par il manquerai le ';' séparateur entre 2 cookies différents dans document.cookie.
>> pas d'erreurs sous IE ? Quésaquo ? ^^ J'ai dit pas d'erreur sous FireFox :p
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
1 févr. 2008 à 16:14
et chez moi.... les ; posent problème !
<hr />                Cordialement            Bul         «mon Site»     «M'écrire»
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
1 févr. 2008 à 16:17
>>J'ai dit pas d'erreur sous FireFox :p
    et alors.... il y a des différences entre IE et FF ( doux euphémisme )
    et un truc qui fonctionne chez l'un peut très bien queuter chez l'autre
    ( et lycée de versailles )
je suis de plus en plus persuadé qu'il y a des erreurs dans tes fonctions qui
    gèrent les cookies ( avec IE s'entend )
<hr />                Cordialement            Bul         «mon Site»     «M'écrire»
0
Morphinof Messages postés 255 Date d'inscription vendredi 20 avril 2007 Statut Membre Dernière intervention 9 août 2013 4
1 févr. 2008 à 16:17
Tout à fait d'accord mes cookie ne sotn que des chaines, je les split() ensuite selon certains séparateur pour en faire des tableaux que je pourrait exploiter d'ou les ',' et les '%'
Voici les 3 fonctions que j'utilise pour écrire mes cookies :

function writeCookie(name, value){   
    var argv=writeCookie.arguments;
    var argc=writeCookie.arguments.length;
    var expires=(argc > 2) ? argv[2] : null;
    var path=(argc > 3) ? argv[3] : null;
    var domain=(argc > 4) ? argv[4] : null;
    var secure=(argc > 5) ? argv[5] : false;
   
    document.cookie=name+"="+escape(value)+
    ((expires==null) ? "" : ("; expires="+expires.toGMTString()))+
    ((path==null) ? "" : ("; path="+path))+
    ((domain==null) ? "" : ("; domain="+domain))+
    ((secure==true) ? "; secure" : "");
}
function getCookieVal(offset)
{
    var endstr=document.cookie.indexOf (";", offset);
    if (endstr==-1) endstr=document.cookie.length;
    return unescape(document.cookie.substring(offset, endstr));
}
function readCookie(name)
{
    var arg=name+"=";
    var alen=arg.length;
    var clen=document.cookie.length;
    var i=0;
    while (i<clen)
    {
        var j=i+alen;
        if (document.cookie.substring(i, j)==arg) return getCookieVal(j);
        i=document.cookie.indexOf(" ",i)+1;
        if (i==0) break;
    }
    //alert('Le cookie '+name+' n\'existe pas');
    return null;
}
0
Rejoignez-nous