NOVINKA: Získej 40 hodin praktických dovedností s AI – ZDARMA ke každému akreditovanému kurzu!
Mezinárodní den IT společnosti je tady! Pouze nyní můžeš získat 90 % extra kreditů při nákupu od 1199 kreditů s promo kódem AJTACI90. Tak neváhej!

Diskuze: Nefunkční $_COOKIE, nevypíše data

V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.

Jak se ti líbí článek?
Před uložením hodnocení, popiš prosím autorovi, co je špatněZnaků 0 z 50-500
Jak se ti kurz líbí?
Tvé hodnocení kurzuZnaků 0 z 50-500
Aktivity
Avatar
StrangeR
Člen
Avatar
StrangeR:21.10.2015 22:48

Ahoj, poprvé zkouším použít cookies, ale nějak se nedaří...
Udělal jsem si post, který by měl zapsat data do cookie a pokud je cookie nalezeno, tak je načíst z cookie, ale ani po odeslání formu se nic nestane...

<?php
if ($_COOKIE["username-data"]) {
        loadMessageBox();
} else {
        if (!$_POST['username']) {
                requireName();
        } else {
                setcookie('username-data', $_POST['username'], 3600);
                loadMessageBox();
        }
}
?>

Zde by to mělo vypsat po vyplnění inputu a pak pokaždé po dobu 3600ms co dá uživatel refresh, aby nemusel vypsat jméno znovu.

echo "<p>Přeje: ".$_COOKIE["username-data"]."</p>";
 
Odpovědět
+1
21.10.2015 22:48
Avatar
shaman
Člen
Avatar
Odpovídá na StrangeR
shaman:22.10.2015 11:28

Priklad ti bude funguje ak si upravis cas pre platnost Cookie. Treti parameter v setcookie by mal byt UNIXovsky timestamp, kedy ma platnost vyprsat. 3600 sekund vyprsalo 01/01/1970 @ 1:00am (UTC). Takze vzdy ked ju nastavis je uz vlastne zastarala. Ak chces hodinu od teraz pouzi napr:

time()+3600

takze cely riadok bude vyzerat takto

setcookie('username-data', $_POST['username'], time()+3600);
Nahoru Odpovědět
22.10.2015 11:28
try {...} catch (Exception ignored) { echo " ¯\_(ツ)_/¯ "; }
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 2 zpráv z 2.