Autor | Zpráva | ||
---|---|---|---|
Jur Profil * |
#1 · Zasláno: 10. 5. 2012, 21:29:30
Ahoj,
Co se týče PHP, jsem v tom absolutní začátečník. Mám problém s jedním kodem Do inputu se zadá nějaký řetězec, který by se měl automaticky uložit do COOKIE. (a vypíše ho) Představoval jsem si to nějak takhle: <form method="get"> <input type="text" name="name"> <input type="submit" name=" send "> </form> if (!isset($_COOKIE["id"])){ SetCookie("id","",time()+10*60); } if (isset($_GET["name"])){ $_COOKIE["id"] .= $_GET["name"]; echo $_COOKIE["id"]; } ?> |
||
Radek9 Profil |
Jur:
Zhruba takhle se pracuje se sessionama, cookie musíš přepsat pomocí setCookie. Tzn., že tam dáš starou hodnotu a přidáš to $_GET["name"]: setCookie("id", $_COOKIE["id"].$_GET["name"], time()+600); |
||
Jur Profil * |
#3 · Zasláno: 10. 5. 2012, 22:06:18
Děkuju,
tak jsem si to představoval, ale znaky vypisuje opožděně, proč? code if (!isset($_COOKIE["id"])){ SetCookie("id","",time()+600); } if (isset($_GET["name"])){ setCookie("id", $_COOKIE["id"].$_GET["name"], time()+600); echo $_COOKIE["id"]; } |
||
Radek9 Profil |
#4 · Zasláno: 10. 5. 2012, 22:09:32
Jur:
Cookie se projeví až po aktualizaci stránky. Zkus místo toho použít session. To se na tohle hodí víc. |
||
Jur Profil * |
#5 · Zasláno: 10. 5. 2012, 22:10:02 · Upravil/a: Jur
*znaky se vypisují opožděně. (tj když se poprvé načtne stránka, já vypíšu nějakou hodnotu do inputu, následně kliknu na submit, tak se nic nestane, při druhým kliknutí se ale už vypíše požadovaná hodnota)
U session už jsem to dělal, něco takového session_start(); if (isset($_GET["name"])){ $_SESSION[id] .= $_GET["name"]; echo $_SESSION[id]; } |
||
Someone Profil |
#6 · Zasláno: 10. 5. 2012, 22:12:11
Jur:
Refreshuj pomocí Headeru.: Header("Location: neco.php"); |
||
Ugo Profil |
#7 · Zasláno: 11. 5. 2012, 07:52:19
podle mě není třeba 10x refreshovat. Přesvědči se, zda nastavuješ cookie na správném místě (před výpisem) a k setCookie přidej ještě klasické nastavení proměnné, cookies moc nepoužívám, ale tohle fungovat jednoduše musí i kdyby tam bylo něco navíc
setCookie("id", $_COOKIE["id"].$_GET["name"], time()+600); $_COOKIE["id"] = $_COOKIE["id"].$_GET["name"]; echo $_COOKIE["id"]; |
||
Časová prodleva: 12 let
|
0