Rozšířil jsem tento guestbook o možnost odpovědi na jednotlivé příspěvky, kniha je již také validní. V závěru je pro vás připraven archiv s touto knihou a jednoduchý návod k instalaci.

Jelikož se nejedná o zbrusu novou knihou ale rozšíření té, kterou jsem tu již zveřejnil, nebudu popisovat zdrojový kód všech souborů, protože se nezměnily (až na mírné změny v administraci). Předchozí dva díly naleznete na tomto webu v kategorii programování.

Jediné změny se tedy odehrály v souboru gbook.php, ani tento soubor nebudu ukazovat celý, ale pouze změny. Ti co si stáhnou hotový archiv na zdroj stejně většinou nejsou zvědavý a pokud někdo postupuje podle zdroje, snaží se pochopit jak kniha funguje a dělá ji ručně, tak to pochopí :-).

Původně jsem měl v plánu udělat knihu kompletně strukturovanou, tzn. několikaúrovňové odpovědi. Ale vzhledem k okolnostem (jako např. to, že jsem kvůli dnešní morálce na internetu ztratil tu správnou open source náladu) jsem se rozhodl jen pro odpovědi. Ono je to myslím pro návštěvní knihu stejně vhodnější a více úrovní by mohlo návštěvní knuhu dost znepřehlednit, přece jen se nejedná o diskuzní fórum.

gbook.php

Zdrojové kódy byly odstraněny, vše se nachází v archivech umístených na konci článku.

Na začátku knihy ještě přibily nějaké podmínky, které obstarávají, aby se při odpověděli zobrazovalo ID příspěvku na který odpovídáme (plní funkci aby uživatel úbec registroval že nepíše obyčejný příspěvek ale odpovídá) ale myslím, že ty dva řádky zvládnete dopsat sami.

Princip je jednoduchý, vytvořil jsem novou tabulku odpovedi a původní tabulku s příspěvky jsem rozšířil o sloupec odpoved. Při vypisování příspěvků je pak v každé iteraci test, zda je ve sloupci odpoved jednicka, pokud ano provede se další dotaz na tabulku odpovedi a vypíšou se odpovědi. Zde je SQL dotaz pro vytvoření tabulek.

Zdrojové kódy byly odstraněny, vše se nachází v archivech umístených na konci článku.

Jak jste si všimli, pod každým příspěvkem je odkaz reagovat, s linkem na gbook.php?odpovedet=id_prispeku

Po kliknutí se, jak jsem již nadhodil výše, vypíše ID článku na který odpovídáme a navíc se do formuláře přidá skrytá buňka s ID komentáře, aby jsme po odeslání mohli přiřadit odpověd příslušnému komentáři.

Tady už vidíte dotazy, jaké se provedou na databázi, po odeslání odpovědi na příspěvek.

Zdrojové kódy byly odstraněny, vše se nachází v archivech umístených na konci článku.

Zkrátka se odpověd uloží stejně jako při ukládání příspěvku, ale do jiné tabulky a navíc se zedituje příslušný řádek v tabulce příspěvky, díky čemuž při výpisu poznáme, zda je u příspěvku odpověd nebo ne.

Instalace:

Stáhněte si tento archiv. [odkaz]

K formátu *.zip se myslím v dnešní době nemusím vyjadřovat, kdyžtak si nechejte vyhledat výraz ,,zip" např na google.com nebo slunecnice.cz .

1. Sežeňte si webhosting s podporou PHP a mySQL.

2. Rozbalte archiv guestbook.zip a nastavte vše v souboru nastaveni.php, tak jak má být. Tedy přihlašovací údaje, počet příspěvků na stránku a cestu k souborům knihy. Knihu doporučuji nechat ve složce guestbook, aby se vám její soubory nepletli s Vašimi stránkami. Pokud tuto složku umístíte do rootu vašeho webového prostoru což je nejčastější případ, zadáte do proměnné URL hodnotu "http://vashosting.xx/guestbook". (za vashosting.xx samozřejmě dosadíte adresu vašeho webu)

3. Po uploadu složky na server spustě install.php a pokud jste vše nastavili správně, měla by být Vaše kniha připravena k použití. V opačném případě nám problém sdělte zde, do komentářů.

Pozn. v archivu přikládám šedý a modrý styl, pokud chcete jeden z nich použít, přepište jím stávající soubor styly.css.

Knihu si můžete vyzkoušet zde: šedá - [odkaz] a modrá - [odkaz].

2 komentáře

Neváhejte napsat k článku komentář

Nevyplňujte:

  1. 1
    vlris

    nějak vám ta kniha nívštěv nefunguje

    • Na komentář odpověděl(a) Antonín Daněk v komentáři #2
  2. 2
    Antonín Daněk

    danek<zavináč>antonindanektečkacz

    Jestli myslíte ty ukázky, tak už fungují (z neznámého důvodu jsem měl hned po odeslání hlaviček v kódu příkaz die; Nevím jestli jsem to udělal kdysi já schválně nebo nějaký vtipálek který má také heslo k freehostingu, na kterém jsou ukázky uloženy.

    Každopádně jsou to neprofesionální skripty, na kterých jsem se učil PHP. Doporučuji se porozhlédnout po něčem lepším. icon_wink.gif

    • Tento komentář je reakcí na příspěvek #1, který napsal(a) vlris