Autor | Zpráva | ||
---|---|---|---|
marinta Profil * |
#1 · Zasláno: 4. 10. 2013, 10:01:07
Ahoj
mám $cookie = "site_$id"; if(isset($_COOKIE[$cookie])) { echo "<p>Omlouváme se, ale již jste hlasoval.</p>"; } else{ // $expire = time()+60*60*24*30; setcookie($cookie); mysql_query ("UPDATE table SET ratings = hlasovani+$hlasovani, hlasy = hlasy+1 WHERE id = $id") or die(mysql_error()); echo "<p>Váš hlas byl úspěšně zaznamenán</p>"; } Ale vůbec to na to cookie nereaguje a hlasovat se může pořád. V prohlížeči je uložená. |
||
DJ Miky Profil |
#2 · Zasláno: 4. 10. 2013, 11:00:24
Funkce setcookie() má více parametrů, v tomto případě bys měl nastavovat ještě hodnotu (druhý parametr) třeba na
"1" a čas expirace (třetí parametr) na nějaký čas v budoucnosti, třeba měsíc, jako máš v zakomentované proměnné $expire .
|
||
marinta Profil * |
#3 · Zasláno: 4. 10. 2013, 12:00:33
Tak jsem tam přidal
$expire = time()+60*60*24*30; setcookie($cookie, $id, $expire); a je to pořád stejné. Hlasovat se může pořád. |
||
Borius Profil |
marinta:
„Ale vůbec to na to cookie nereaguje a hlasovat se může pořád. V prohlížeči je uložená.“ Ten kód je napsaný správně a je funkční. Hledal bych chybu někde úplně jinde. ;-) Třeba, co mě napadá – nemění se pokaždé hodnota proměnné ‘$id’? DJ Miky: „Funkce setcookie() má více parametrů“ Povinný parametr je pouze název, ostatní jsou nepovinné. |
||
marinta Profil * |
#5 · Zasláno: 4. 10. 2013, 12:34:34 · Upravil/a: marinta
Opraveno, díky.
Borius: chyba tam sice nebyla, ale jak jsem právě zjistil, některé prohlížeče mají problém s podtržítkem v názvu cookie. Takže stačilo odstranit podtržítko. ufff díky :D Jinak problémy s podtržítkem v názvu cookie má podle googlu IE_7 a podle mé nynější zkušenosti i firefox v xubuntu s tím má problémy. To jen tak mimochodem pro další generace. :) |
||
DJ Miky Profil |
#6 · Zasláno: 4. 10. 2013, 12:59:45
„Povinný parametr je pouze název, ostatní jsou nepovinné.“
Ano, ale v tomto případě se více než hodí nastavit alespoň platnost, jinak se po zavření prohlížeče cookie ztratí. |
||
Borius Profil |
#7 · Zasláno: 4. 10. 2013, 13:26:17
DJ Miky:
„Ano, ale v tomto případě se více než hodí nastavit alespoň platnost, jinak se po zavření prohlížeče cookie ztratí.“ Máš pavdu, určitě. :-) |
||
Časová prodleva: 11 let
|
0