Autor Zpráva
Musilda
Profil
Zdravím

mám problém s aktualizací hodnoty uložené v cookie. Mám v ní uložené číslo, které potřebuji snížit o jednu. Funkci pro odečet volám pomocí ajaxu.

$minus = $_COOKIE['easy_popunder_daily'] - 1;
SetCookie('easy_popunder_daily', $minus, time()+10*60, '/');

Bohužel se odečet provede pouze jednou a poté už ani po refreshi se hodnota nezmění.

Budu vděčný za každou radu.
Marti_n
Profil
Skús najprv cookie vymazať, teda nastaviť jej expiráciu na nulu.
setcookie('easy_popunder_daily', '', 0);
A potom jej pridať hodnotu.
nethor
Profil
Zkus to refreshnout víckrát za sebou, schválně, co to provede.
Podle scriptu zde by to ale chodit mělo.
Pokud $_COOKIE používáš dále ve scriptu je potřeba ji novou hodnotu předat manuálně.
používám k tomu fci:
function Cookie($key,$Value="",$expire=EXPIRECOOK,$dir = COOKIE_BASE){    
    setcookie($key, $Value, $expire,$dir); 
    $_COOKIE[$key] = $Value;
} 

Cookie("easy_popunder_daily" , intval($_COOKIE["easy_popunder_daily"]) - 1 )  ;
Tohle chodí.

Taky zkus, jestli Ti na výstup nevlítne něci před voláním SetCookie(), pak už cookie nejde poslat.

Pokud máš v php.ini vypnuté Warning takse to ani nemusíš dozvědět.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: