Hodnotenia článkov v PHP
Máte aj vy svoje stránky? A na nich články? A chcete vedieť, ako sa vašim čitateľom páčia? Dajte im možnosť článok zhodnotiť známkou a vyjadriť tým svoj názor. Výhoda je aj to, že táto aplikácia sa veľmi jednoducho vloží do stránok.
Celá aplikácia využíva PHP a MySQL. Nie je zložité ju vkladať na stránku, pretože využíva jednu MySQL tabuľku nezávisle od článkov. Jediné, čo bude mať s článkami spoločné, je určité ID, ktoré je pre každý článok jedinečné.
Vytvoríme si teda tabuľku:
|
Myslím, že takáto jednoduchá tabuľka úplne postačuje. Pole id
musí byť, ako som písal, zhodné s nejakou hodnotou článku. K tomu prídeme ešte neskôr. Do z1
až z5
sa bude ukladať počet hodnotení jednotlivých známok. Znamená to, že keď užívateľ klepne na hodnotenie 1, do poľa z1 sa uloží pôvodná hodnota + 1. Tým pádom môžeme robiť grafy, vyjadriť percentá ad.
Teraz prejdeme na samotný skript, ktorý užívateľ uvidí. Bude sa volať hodnotenie.php:
|
Tento skript sa pripája k databáze (doplňte svoje údaje) a v druhom riadku vyberá z tabuľky hodnotenie id, ktoré mu zadáte. Tento skript môžeme volať zo stránky s článkom príkazom require "hodnotenie.php?id=xx"
, kde xx je id článku, alebo ho môžeme vložiť priamo do stránky a do premennej id uložiť id článku. Potom sa to začína trošku komplikovať. Ak článok ešte nemá hodnotenie, vypíše určitý text a ďalej nerobí to, čo by robil, keby ten článok už hodnotenie mal. A robil by asi to, že by do premennej h uložil asociatívne pole s výsledkom z riadku 2. Do premennej pocet
ukladáme počet ľudí, ktorí článok už hodnotili. Do premennej hod
ukladáme všetky hodnotenia (počet ľudí, ktorí hodnotili článok tou ktorou zámkou * hodnota známky, to zn. napr. 25 * 4 – 25 ľudí hlasovalo za 4, všetky hodnotenia za 4 sú 100). Potom do premennej priemer
uložíme podiel premennej hod
a pocet
, čím dostaneme priemernú známku. Ďalej uvedené vypíšeme (musíte si to graficky upraviť). Potom si vypíšeme i riadok, kde môžu užívatelia hodnotiť článok.
Teda ešte to nie je všetko. Ešte potrebujeme skript, ktorým toto hodnotenie vlastne zapíšeme:
|
V tomto kratučkom skripte sa pripájame k databáze MySQL. V druhom a treťom riadku zisťujeme, či užívateľ už hlasoval pomocou cookies. Ak už hlasoval, presmerujeme ho späť a popr. môžeme vypísať i text, že už hlasoval. Ak však nehlasoval, pridáme k počtu hlasujúcich za konkrétnu známku ešte jeden hlas. Potom uložíme do cookie s názvom hodnotid
, teda napr. hodnot123456
, text "ano". Potom ho presmerujeme späť a opäť môžeme vypísať text, ktorý si nastavíme. Teda napr.:
if(isset($text)) echo $text;
Starší komentáře ke článku
Pokud máte zájem o starší komentáře k tomuto článku, naleznete je zde.
Mohlo by vás také zajímat
-
Proč je důležité tvořit obsah na váš web?
29. srpna 2024 -
Moderní trendy ve webdesignu: Top trendy pro rok 2024
12. ledna 2024 -
Rychlost serveru: Klíč k lepšímu umístění ve vyhledávačích
7. června 2024
Nejnovější
-
Apple jde naproti práci s HDR monitory!
17. ledna 2025 -
Jak využít AI potenciál svého Macu?
9. ledna 2025 -
NIS2: Verifikace údajů vlastníků domén
6. ledna 2025 -
Dostali jste k vánocům PC? Využijte jeho AI potenciál!
3. ledna 2025
philip777
Úno 2, 2010 v 21:05dobry navod, akurat dve male poznamky:
chyba ti znak $ v datovej kolekcii HTTP_COOKIE_VARS [$h]
a overovanie pomocou cookies je dost nebezpecne pretoze kazdy skusenejsi user si moze cookies zmenit ako chce kedze to nieje nic ine ako len textovy subor na jeho vlastnom pocitaci
steevee333
Srp 14, 2011 v 17:30id = $id“); mas to nezabezpecene na sql injection
steevee333
Srp 14, 2011 v 17:30id = ‚$id'“);tak to by to malo byt :)