Zadejte hledaný výraz...

Cookies se vypíše až při dalším refresh

matata86
verified
rating uzivatele
(3 hodnocení)
23. 12. 2016 23:34:23
Ahoj, prosim o pomoc s tímto - mám tento kod:
$favID = $_GET;
$cookie = 'fav';
setcookie($cookie, $favID);
print_r($_COOKIE);
po zadání adresa.cz?favID=355
nevypise nic, az po dalsim refresh stranky vypise array.
Kdyz zadam dalsi stranku adresa.cz?favID=46546 vypise predchozi 355 ale aktualni 46546 ne.
Az po dalsim refresh je to ok.
Jak to vyvolat rovnou prosím?
23. 12. 2016 23:34:23
https://webtrh.cz/diskuse/cookies-se-vypise-az-pri-dalsim-refresh#reply1245316
Martin
verified
rating uzivatele
(62 hodnocení)
24. 12. 2016 00:03:28
To je normální chování vycházející z principu, jak cookies fungují. Nemá žádný význam zapisovat a pak hned číst z cookies v jednom scriptu.
24. 12. 2016 00:03:28
https://webtrh.cz/diskuse/cookies-se-vypise-az-pri-dalsim-refresh#reply1245315
David Musil
verified
rating uzivatele
(69 hodnocení)
24. 12. 2016 00:19:37
Pokud chces s tou promennou pracovat ihned, nemusi to byt cookies, ale staci k tomu bezna promenna.
Takhle to opravdu funguje.
24. 12. 2016 00:19:37
https://webtrh.cz/diskuse/cookies-se-vypise-az-pri-dalsim-refresh#reply1245314
Dominik Nguyen
verified
rating uzivatele
(36 hodnocení)
24. 12. 2016 09:08:36
Nicméně toho jde docílit pomocí js-cookie https://github.com/js-cookie/js-cookie
24. 12. 2016 09:08:36
https://webtrh.cz/diskuse/cookies-se-vypise-az-pri-dalsim-refresh#reply1245313
TomasX
verified
rating uzivatele
(4 hodnocení)
24. 12. 2016 10:13:16
w3Dominik: no fuj, cookies mají zůstat v moci serveru a mít nastavený flag http-only, jinak si je může měnit kdo chce, kdy chce.
Cookies se posílají do prohlížeče se samotnou stránku, tj. s php výstupem. Prohlížeč si je uloží a při dalším požadavku je pošle. Setcookies právě zajistí to poslání cookies prohlížeči, proměnná $_COOKIES obsahuje cookies získané od prohlížeče a je správně prázdná, protože jsi ještě při první návštěvě nic neposlal.
Řešení je jednoduché, $_COOKIES si naplnit sám.
if(isset($_GET)) {
$favID = $_GET;
$cookie = 'fav';
setcookie($cookie, $favID);
$_COOKIE = $favID;
}
print_r($_COOKIE);
24. 12. 2016 10:13:16
https://webtrh.cz/diskuse/cookies-se-vypise-az-pri-dalsim-refresh#reply1245312
Oleg
verified
rating uzivatele
(53 hodnocení)
24. 12. 2016 11:31:37
Napsal TomášX;1348538
w3Dominik: no fuj, cookies mají zůstat v moci serveru a mít nastavený flag http-only, jinak si je může měnit kdo chce, kdy chce.
Sam premyslim, zda u naseho noveho projektu ponechame cookie a GA - proste vsechny tyto sledovatka, nebo se na to vykasleme a udelame cely projekt cisty. BTW nelibi se mi to umisteni varovani o cookie na web takze GA planuji nahradit jinou analytikou (teda, pokud se ji nevzdame).
Nicmene pokud nekdo chce jeste vetsi horor, tak pouzije napriklad toto: http://samy.pl/evercookie/
24. 12. 2016 11:31:37
https://webtrh.cz/diskuse/cookies-se-vypise-az-pri-dalsim-refresh#reply1245311
TomasX
verified
rating uzivatele
(4 hodnocení)
24. 12. 2016 11:45:37
web je navržený jak bezstavový, není nutné špehovat pro jeho funkčnost, dostatek informací si můžeš přenášet v url (pod https), cookies mohou mít platnost jen do zavření stránky.
GA či obecně analytiku můžeš sbírat ze servových logů, unikátní návštěvy nepotřebuješ, stejně jsou nepřesné. Celkový počet page view je pro sledování vývoje dostatečný, v eshopu to můžeš zkorelovat s objednávkami a máš dobrý model pro sledování návštěvnosti.
Nadbytečné sledování je špatně, všichni se obhajují, že to bez toho nejde.
24. 12. 2016 11:45:37
https://webtrh.cz/diskuse/cookies-se-vypise-az-pri-dalsim-refresh#reply1245310
Oleg
verified
rating uzivatele
(53 hodnocení)
24. 12. 2016 11:56:24
Napsal TomášX;1348547
Nadbytečné sledování je špatně, všichni se obhajují, že to bez toho nejde.
No prave, obhajuji. GA je agresivni nastroj, a ve spojeni s AdWords se sleduji dost dobre nejen navstevnici ale i konkurence :) Potom jsou jeste takove jako woopra, kissmetrics... radost sledovat uzivatele :D
24. 12. 2016 11:56:24
https://webtrh.cz/diskuse/cookies-se-vypise-az-pri-dalsim-refresh#reply1245309
Pro odpověď se přihlašte.
Přihlásit