Autor Zpráva
dolfi
Profil *
Potřeboval bych poradit. Mám anketu v PHP s kontrolou opakovaného hlasování přes cookie. Anketa se vkládá přes administrační systém. Potřeboval bych, aby se při nahrazení původní ankety novou anketou vložila nová cookie nebo aby se původní smazala - prostě aby šlo znovu hlasovat. Samozřejmě není problém tu cookie v kódu přepsat na jinou ručně, ale jde mi o ten administrační systém. Díky za odpověď.
WertriK
Profil *
Tento problem jsem resil taky ted jak jsem si pripomel tento problem tak me napadlo rekl bych 99% reseni , ale musi mit uzivatel zaple cookies.

V cookies ktera se odesle po hlasovani bude IP uzivatele a ta stejna IP se ulozi do souboru nebo do databaze.
Na zacatku scriptu se zjisti hodnota cookies (modem eliminujem - pokud si nesmaze cookies) a dostanem IP ktere mel uzivatel kdyz hlasoval a pokud tu IP najdem v souboru tak je jasne ze hlasoval ...
Pro kontrolu bych udelal aby se v tom souboru hledalo i nynejsi IP uzivatele, pro pripad kdyby se cookies neodeslalo nebo si ho uzivatel smazal...az se naobedvam hned si to tak udelam.
WertriK
Profil *
Jsem zapomel napsat ze jekmile se tam anketa zmeni tak se musi vymazat vsechny uloze IP. A pokud bude cookies obsahovat nejakou IP co neni ulozena tak je jasne ze hlasoval v nektere z predeslich anketach coz povede k ulozeni aktualni IP do cookies a do DB (souboru) pri novem hlasovani ... jdu si to predelat ....
Oswald
Profil
Potřeboval bych, aby se při nahrazení původní ankety novou anketou vložila nová cookie nebo aby se původní smazala - prostě aby šlo znovu hlasovat.

Já tohle řeším tak, že po hlasování pošlu cookie jako pole, kde klíč je idéčko ankety:

setcookie('voted[' . $pollId . ']', 1, [...])

A před uložením hlasu kontroluju, jestli v $_COOKIE['voted'] neexistuje prvek s klíčem stejným, jako je id ankety, pro kterou je hlas určen.
Toto téma je uzamčeno. Odpověď nelze zaslat.

0