03.03.2015 17:37
1
Zdravím,
prosím o pomoc v následujícím javascriptu.

Mám url a na ní nastavím cookies. Př. Na straně se vše vypíše jak má.

Ale pokud nastavím cookies na straně , tak se mi na straně nevypíšou.

Mám js funkce
Kód:
function setCookie(cname, cvalue, exdays) {
    var d = new Date();
    d.setTime(d.getTime() + (exdays*24*60*60*1000));
    var expires = "expires="+d.toUTCString();
    document.cookie = cname + "=" + cvalue + "; " + expires + ' path=/';
}

function getCookie(cname) {
    var name = cname + "=";
    var ca = document.cookie.split(';');
    for(var i=0; i<ca.length; i++) {
        var c = ca[i];
        while (c.charAt(0)==' ') c = c.substring(1);
        if (c.indexOf(name) == 0) return c.substring(name.length,c.length);
    }
    return "";
}
Opravdu si s tím nevím rady.

Děkuju
03.03.2015 17:55
2
Protože path=/ povoluje cookies pro aktuální adresář + všechny pod ním, opačně to ale kvůli bezpečnosti pokud vím asi nepůjde
03.03.2015 18:25
3
Původně odeslal kubiro
Protože path=/ povoluje cookies pro aktuální adresář + všechny pod ním, opačně to ale kvůli bezpečnosti pokud vím asi nepůjde
Původně jsem tam to patch vůbec neměl. Myslel jsem, že by tohle tomu mohlo pomoci, protože by se cookies ukládalo na http://localhost/ . Copak si nemůžu v rámci jedné domény předávat cookies v adresářích? Nehledě na to, že ta cesta je Mod_rewrite.
03.03.2015 18:40
4
Myslím že na subdoménách to vpohodě funguje, ale na adresáře teda zřejmě ne
04.03.2015 12:56
5
Tohle by ti mohlo fungovat.
za expires ti chyběl ";" take path myslím ani nefungoval. ale s nastavení domain by to mělo jít.
Kód:
function setCookie(cname, cvalue, exdays) {
    var d = new Date();
    d.setTime(d.getTime() + (exdays*24*60*60*1000));
    var expires = "expires="+d.toUTCString();
    document.cookie = cname + "=" + cvalue + "; " + expires + ' ;domain=.example.com;path=/';
}