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
-
Webdesign: Jak optimalizovat tlačítka na webu
7. března 2024 -
Zabezpečení e-mailů: Jak můžete chránit vaši firemní komunikaci
13. prosince 2023 -
Nejlevnější VPS: To je nový Cloud Server Mini od ZonerCloud
4. června 2024
Nejnovější
-
Jak rozšířit úložiště Macu za pětinovou cenu?
16. prosince 2024 -
Nové trendy v doménách pro osobní projekty – DIY, LIVING a LIFESTYLE
9. prosince 2024 -
Jak chránit webové stránky před Web/AI Scrapingem
27. listopadu 2024 -
Jaký monitor je nejlepší k novému Macu Mini?
25. listopadu 2024
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 :)