Anketní systém

Vývojová prostředí, aplikace, skripty, http://www... síťové programy, internet, sdílení...
KapaCZ
Začátečník
Začátečník
Registrován: 06. srp 2006

Anketní systém

Příspěvek od KapaCZ »

Chci si udělat anektní systém a řešim pár problémů. Jakou ochranu před mnohonásobným hlasováním zvolit? Jako nejlepší mi připadá, když si budu ukládat IP a čas, tak zkontrolovat jestli z té ip bylo hlasováno a pokud ano tak zkontrolovat čas, např by byla možnost hlasování jednou za 24h.

Jak uspořádat tabulku SQL, když nevim kolik bude otázek? Nechce se mi psát slouce (otazka1, otazka2.......), když nevim kolik těch otázek bude.
bubanek
Středně pokročilý
Středně pokročilý
Uživatelský avatar
Registrován: 24. dub 2005
Bydliště: D1

Re: Anketní systém

Příspěvek od bubanek »

SQL tabulka bude jednoduchá:
sloupce otazka, hlasy

a je to.

Jako ochranu proti vícenásobnému hlasování bych zvolil kombinaci cookie a záznamu v databázi, kde bude uložený čas a IP.

Do cookie uložit, že už prostě hlasovat nemůže, dobu nastavit na jeden rok.
Do databáze uložit IP + čas a nastavit třeba 5ti minutový limit.

Takže i když si cookie smaže, tak stejně může poslat jeden hlas za pět minut.

Ještě by šel přidat limit na počet hlasování z jedné IP nebo kontrolovat kolikrát za hodinu se z té IP hlasovalo a pokud by těch hlasování bylo třeba 6 (max. za hodinu 12 že ano), tak tu IP pro další hlasování zablokovat tím, že se do databáze uloží čas někdy v budoucnosti, dejme tomu týden.


Takhle by to mohlo být docela funkční 8-)
KapaCZ
Začátečník
Začátečník
Registrován: 06. srp 2006

Re: Anketní systém

Příspěvek od KapaCZ »

Díky, ale někde musí být sloupec odpověd a já nevim, kolik jich bude > každá otázká, jinej počet odpovědí. Toto mě trápí nejvíc
bubanek
Středně pokročilý
Středně pokročilý
Uživatelský avatar
Registrován: 24. dub 2005
Bydliště: D1

Re: Anketní systém

Příspěvek od bubanek »

no tak budeš mít sloupce otazka, odpoved
co je na tom složitého?
KapaCZ
Začátečník
Začátečník
Registrován: 06. srp 2006

Re: Anketní systém

Příspěvek od KapaCZ »

Je na tom složité to, že sloupců odpověd můžu mít třeba 20 (20 odpovědí) což mi přijde jako blbej způsob řešní, ale možná žádnej jinej neexistuje.
bubanek
Středně pokročilý
Středně pokročilý
Uživatelský avatar
Registrován: 24. dub 2005
Bydliště: D1

Re: Anketní systém

Příspěvek od bubanek »

Takže na jednu otázku budou moct lidi napsat až 20 odpovědí?
Nějak pořád nechápu tvůj problém :sad:
KapaCZ
Začátečník
Začátečník
Registrován: 06. srp 2006

Re: Anketní systém

Příspěvek od KapaCZ »

Lidi nic psát nebudou, pokud by to psali oni je to jednoduchý a neřešim to, ale takhle ano.
Mám otázku: Jak se máte?
odpověd 1: dobře
odpověd 2: skvěle
....
odpověd 15: špatně
....
arxeiss
Začátečník
Začátečník
Uživatelský avatar
Registrován: 19. črc 2008
Bydliště: Krmelín (předměstí Ostravy)
Kontaktovat uživatele:

Re: Anketní systém

Příspěvek od arxeiss »

Zaveď si 2 tabulky: otazky, odpovedi.
otazky: id, otazka
odpovedi: otazka, odpoved, hlasu

Do otázky si uložíš ID pomocí AUTO_INCREMENT, otazka je jasné. v odpovedi do otazka uožíš ID otazky (to z druhé tabulky) a odpověd a hlasu je jasné
Budeš mít jednu anketu a 20 odpovědí. tak v otazky bude jeden řádek, v odpovedi 20. Poté si přidáš anketu, budeš mít v otazky 2 řádky odpovedi, 20 předchozích + ty nové pro anketu 2
Atd....
PC : CPU: C2D E5200 2500Mhz @ 3750Mhz a AC Freezer 7PRO MB: Gigabyte GA-P31-DS3L rev.2,1 GPU: ATI Radeon 3650HD 256MB RAM: A-Data Vitesta 2x2GB Zdroj: Forton OEM 400W HDD: Samsung F2 500GB
Netbook : Asus EEE CPU: Intel Atom N270 1,6GHz RAM: A-Data 2GB HDD: 250GB 5400ot/min
KapaCZ
Začátečník
Začátečník
Registrován: 06. srp 2006

Re: Anketní systém

Příspěvek od KapaCZ »

Co řikáte na toto žešení?:
http://www.php.jonweb.cz/skripty/anketa/

Všechny odpovědi v jednom sloupci!
bubanek
Středně pokročilý
Středně pokročilý
Uživatelský avatar
Registrován: 24. dub 2005
Bydliště: D1

Re: Anketní systém

Příspěvek od bubanek »

Však to co navrhuje arx má odpovědi v jednom sloupci.
Jenom nevím proč je tam ještě ten sloupec `hlasu`
KapaCZ
Začátečník
Začátečník
Registrován: 06. srp 2006

Re: Anketní systém

Příspěvek od KapaCZ »

to co navrhuje arx jsou odpovědi v jedné tabulce! V tom co uvádim jsou v jednom sloupci. To je rozdíl :)

Při řešení podle arx bych měl na nakety 3 tabulky.
Při řešení podle jona jen 2, ale ten styl řešení jsem nikdy neviděl :)
bubanek
Středně pokročilý
Středně pokročilý
Uživatelský avatar
Registrován: 24. dub 2005
Bydliště: D1

Re: Anketní systém

Příspěvek od bubanek »

arxeiss píše:Zaveď si 2 tabulky: otazky, odpovedi.
To co navrhl arxeiss je nejjednodušší řešení a udělal bych přesně to stejné.

Tabulka otazky:
id - smallint, auto_increment
otazka - text

Tabulka odpovedi:
id_otazky - smallint
odpoved - text


Prostě to nejjednodušší co může být.
KapaCZ
Začátečník
Začátečník
Registrován: 06. srp 2006

Re: Anketní systém

Příspěvek od KapaCZ »

bubanek: Ano vim že si o mne myslíš, že jsem debil, ale už jsem tu říkal, že chci mít v tabulce čas a ip > 3 tabulky!!
bubanek
Středně pokročilý
Středně pokročilý
Uživatelský avatar
Registrován: 24. dub 2005
Bydliště: D1

Re: Anketní systém

Příspěvek od bubanek »

Ok, ok, tak budeš mít tři tabulky. Vadí to něčemu?
arxeiss
Začátečník
Začátečník
Uživatelský avatar
Registrován: 19. črc 2008
Bydliště: Krmelín (předměstí Ostravy)
Kontaktovat uživatele:

Re: Anketní systém

Příspěvek od arxeiss »

2Bubu: Naco hlasy? Protože to je anketa. Kam lidé hlasují, a někam se musí ukládat kolik lidí hlasovalo pro jakou odpověd!
2Kapa: Budeš mít 100 anket, a s mojím řešením stále 2 tabulky. Pro to s IP atd... 3, budeš mít 100000 anket, a stejně budou stačit 3 tabulky.
PC : CPU: C2D E5200 2500Mhz @ 3750Mhz a AC Freezer 7PRO MB: Gigabyte GA-P31-DS3L rev.2,1 GPU: ATI Radeon 3650HD 256MB RAM: A-Data Vitesta 2x2GB Zdroj: Forton OEM 400W HDD: Samsung F2 500GB
Netbook : Asus EEE CPU: Intel Atom N270 1,6GHz RAM: A-Data 2GB HDD: 250GB 5400ot/min
bubanek
Středně pokročilý
Středně pokročilý
Uživatelský avatar
Registrován: 24. dub 2005
Bydliště: D1

Re: Anketní systém

Příspěvek od bubanek »

Já to pochopil tak, že chce, aby mu odpovědi psali sami dotázaní. Pak není žádné počítadlo třeba.
Nicméně popis je dost kostrbatý, tak tu všichni jenom hádáme o co vlastně jde.
arxeiss
Začátečník
Začátečník
Uživatelský avatar
Registrován: 19. črc 2008
Bydliště: Krmelín (předměstí Ostravy)
Kontaktovat uživatele:

Re: Anketní systém

Příspěvek od arxeiss »

Po tom co jsem se podíval na to co postnul Kapa, ten systém od Jona tak jde určitě o ankety
Můj názor na systém od Jona: Absolutně nevýhodné, má 2 tabulky, ale mnohem více PHP kódu, udělej si 3 tabulky a mnohem méně kódu, a bude to rychlejší. Navíc se mi absolutně nelíbí jak to ukládá a všechno... Ale má to vymyšlené dobře, ale složitě, hodně složitě
PC : CPU: C2D E5200 2500Mhz @ 3750Mhz a AC Freezer 7PRO MB: Gigabyte GA-P31-DS3L rev.2,1 GPU: ATI Radeon 3650HD 256MB RAM: A-Data Vitesta 2x2GB Zdroj: Forton OEM 400W HDD: Samsung F2 500GB
Netbook : Asus EEE CPU: Intel Atom N270 1,6GHz RAM: A-Data 2GB HDD: 250GB 5400ot/min
martin-mod
Nováček
Nováček
Uživatelský avatar
Registrován: 19. srp 2010

Re: Anketní systém

Příspěvek od martin-mod »

Nemá někdo odkaz na nějaký zdroják hotové dobře vytvořené ankety prosím?
martin-mod
Nováček
Nováček
Uživatelský avatar
Registrován: 19. srp 2010

Re: Anketní systém

Příspěvek od martin-mod »

arxeiss
Začátečník
Začátečník
Uživatelský avatar
Registrován: 19. črc 2008
Bydliště: Krmelín (předměstí Ostravy)
Kontaktovat uživatele:

Re: Anketní systém

Příspěvek od arxeiss »

Používej edit. A můžeš použít ten systém co tu postnul KapaCZ, a zdroják taky přečteš, sice nevím jestli to jde považovat za dobře napsaný systém, ale pracuje bez chyby, tak by se dal považovat.
PC : CPU: C2D E5200 2500Mhz @ 3750Mhz a AC Freezer 7PRO MB: Gigabyte GA-P31-DS3L rev.2,1 GPU: ATI Radeon 3650HD 256MB RAM: A-Data Vitesta 2x2GB Zdroj: Forton OEM 400W HDD: Samsung F2 500GB
Netbook : Asus EEE CPU: Intel Atom N270 1,6GHz RAM: A-Data 2GB HDD: 250GB 5400ot/min
Odpovědět

Zpět na „Programování a web“