PHP: Funkce setcookie() při volání přes AJAX nevytvoří požadovanou cookie
Pokud přes AJAX voláte PHP skript, kde pomocí funkce setcookie() chcete vytvořit/nastavit cookie, ale cookie se nevytvoří, zkontrolujte čtvrtý parametr – path:
setcookie('nazev_cookie', $json, time()+28800, '/');
Při volání skriptu přes AJAX se bez zadání čtvrtého parametru cookie vytvoří v adresáři volaného skriptu (ten, který voláte AJAXem), tedy třeba v adresáři /ajax/ajax.php. Když ale ostatní části webu fungují na rootu domény /, cookie nebude dostupná. Jako čtvrtý parametr funkce setcookie() zadejte lomítko, kterým řeknete, že chcete mít cookie dostupnou pro celou doménu.