N´ avˇ stˇ evn´ı kniha s vyuˇ zit´ım MySQL
17. ˇcervence 2005 15:51
z
[email protected] — http://www.z-moravec.net/
´ Uvod
N´avˇstˇevn´ı kniha s vyuˇzit´ım MySQL
´ Uvod
1
Ned´avno jsem zveˇrejnil n´avod na vytvoˇren´ı n´avˇstˇevn´ı knihy bez nutnosti pouˇz´ıt datab´azi. To je v´ yhodn´e tehdy, kdy na serveru nen´ı datab´aze nainstalov´ana. V opaˇcn´em pˇr´ıpadˇe se jej´ı pouˇzit´ı urˇcitˇe vyplat´ı, protoˇze pr´ace s n´ı je mnohem pohodlnˇejˇs´ı neˇz pr´ace s textov´ ymi soubory.
1.1
Moˇ znosti n´ avˇ stˇ evn´ı knihy
Pomoc´ı cookies si zapamatuje jm´eno, email a adresu webu uˇzivatele (lze vypnout) Z´akladn´ı form´atov´an´ı textu - bold, italic, podtrˇzen´e p´ısmo Automaticky pˇrev´ad´ı URL na odkaz Umoˇzn ˇuje nastavit poˇcet pˇr´ıspˇevk˚ u zobrazen´ ych na jedn´e stranˇe Umoˇzn ˇuje blokovat IP adresy a obsahuje antispamovou ochranu Automatick´e odstraˇ nov´an´ı nepovolen´ ych HTML tag˚ u (seznam povolen´ ych tag˚ u lze
mˇenit v konfiguraˇcn´ım souboru)
1.2
Poˇ zadavky na server
Pro provoz t´eto aplikace potˇrebujete server, na kter´em bˇeˇz´ı PHP verze 4 nebo 5 a MySQL. U n´avˇstˇevn´ı knihy nelze oˇcek´avat velk´ y n´apor na datab´azi, takˇze by mˇel bohatˇe staˇcit i nˇekter´ y z free webhosting˚ u.
-1-
Instalace
2
N´avˇstˇevn´ı kniha s vyuˇzit´ım MySQL
Instalace
Cel´ y skript si m˚ uˇzete st´ahnout na adrese http://www.z-moravec.net/ Instalace je velmi jednoduch´a. Nejdˇr´ıve v souboru ’./lib/config.php’ upravte nastaveni datab´aze (server, uˇzivatel, heslo, datab´aze) a upravte si nastaven´ı promˇenn´ ych, podle sv´ ych poˇzadavk˚ u. Vˇsechny moˇznosti jsou pops´any pˇr´ımo v konfiguraˇcn´ım souboru.
2.1
Nastaven´ı datab´ aze
V souboru ’./sql/guestbook-tables.sql’ je obsaˇzen SQL k´od, pomoc´ı kter´eho m˚ uˇzeme vytvoˇrit v datab´azi potˇrebn´e tabulky (napˇr. pomoc´ı phpMyAdmin). Pot´e mus´ıme ruˇcnˇe vytvoˇrit prvn´ı u ´ˇcet administr´atora. K tomu vyuˇzijeme n´asleduj´ıc´ı k´od: INSERT INTO admin VALUES (’’, ’LOGIN’, MD5(’HESLO’)); kde LOGIN nahrad´ıme jm´enem administr´atora a HESLO jeho heslem. Tento pˇr´ıkaz m˚ uˇzeme zadat pˇr´ımo pomoc´ı ˇr´adkovac´ıho klienta MySQL (pokud k nˇemu m´ame pˇr´ıstup) nebo pomoc´ı aplikace typu phpMyAdmin. Pokud ani jedno nen´ı moˇzn´e, tak to provedeme pomoc´ı PHP. Do adres´aˇre, ve kter´em je n´avˇstˇevn´ı kniha um´ıst´ıme soubor s t´ımto obsahem.
Jeho spuˇstˇen´ım dojde k vytvoˇren´ı prvn´ıho administr´atora. Pot´e doporuˇcuji soubor ze serveru smazat.
-2-
Instalace
N´avˇstˇevn´ı kniha s vyuˇzit´ım MySQL
2.2
Popis tabulek
2.2.1
Tabulka ’admin’
Sloupec Typ
Index
ID
int(3)
Prim´arn´ı kl´ıˇc
Jm´eno
varchar(50) Unique ˇ adn´ y varchar(32) Z´
Heslo Tato tabulka slouˇz´ı k ukl´ad´an´ı login˚ u a hesel administr´atora(˚ u). Hesla jsou zak´odov´ana pomoc´ı funkce MD5().
2.2.2
Tabulka ’ip ban’
Sloupec Typ
Index
ID
int(4)
Prim´arn´ı kl´ıˇc
ip
varchar(15)
Unique ˇ adn´ y varchar(200) Z´
Duvod
Do t´eto tabulky se ukl´adaj´ı informace o blokovan´ ych IP adres´ach. Ve sloupci ’Duvod’ je uloˇzen struˇcnˇe popsan´ y d˚ uvod, proˇc je adresa na seznamu.
2.2.3
Tabulka ’prispevky’
Sloupec
Typ
Index
ID
int(4)
Prispevek
text
Prim´arn´ı kl´ıˇc ˇ adn´ Z´ y
Autor
varchar(50)
URL
ˇ adn´ Z´ y ˇ adn´ varchar(100) Z´ y ˇ adn´ y varchar(200) Z´
IP
varchar(15)
Datum
datetime
Email
Index ˇ adn´ Z´ y
V t´eto tabulce jsou uloˇzeny pˇr´ıspˇevky - text pˇr´ıspˇevku + informace o autorovi.
-3-
Konfiguraˇcn´ı soubor
3
N´avˇstˇevn´ı kniha s vyuˇzit´ım MySQL
Konfiguraˇ cn´ı soubor
Dnes se pod´ıvame jak n´avˇstˇevn´ı knihu nakonfigurovat. Vˇsechny u ´pravy budeme prov´adˇet v soubor ’./lib/config.php’. Prvn´ı ˇc´ast tohoto souboru obsahuje definice konstant a promˇenn´ ych. AllowCookie
1 - Budou se pouˇz´ıvat cookies pro ukl´ad´an´ı informac´ı o uˇzivateli 0 - Cookie jsou zak´azan´e
PocetPrispevku
Tato konstanta obsahuje ˇc´ıslo urˇcuj´ıc´ı poˇcet zobrazen´ ych pˇr´ıspˇevk˚ u na jedn´e stranˇe
AutoLogOff AllowTags
Poˇcet sekund, po kter´ ych dojde k automatick´emu odhl´aˇsen´ı z administrace ˇ ezec obsahuj´ıc´ı tagy, jeˇz lze pouˇz´ıt v pˇr´ıspˇevku Retˇ
Ve druh´e ˇc´asti je definice funkce ’config MySQL Pconnect()’, kter´a provede pˇripojen´ı k MySQL serveru a zvol´ı datab´azi, se kterou budeme pracovat. Pokud vˇse probˇehne v poˇr´adku, vrac´ı funkce true, v opaˇcn´em pˇr´ıpadˇe vrac´ı false. Posledn´ı ˇc´ast skriptu porovn´a IP adresu uˇzivatele se z´aznamy v tabulce ’ip ban’ a pokud najde z´aznam se stejnou IP adresou tak zak´aˇze vstup do n´avˇstˇevn´ı knihy.
-4-
Obsah ´ 1 Uvod
1
1.1
Moˇznosti n´avˇstˇevn´ı knihy . . . . . . . . . . . . . . . . . . . . . . . . . . .
1
1.2
Poˇzadavky na server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1
2 Instalace
2
2.1
Nastaven´ı datab´aze . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2
2.2
Popis tabulek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3
2.2.1
Tabulka ’admin’ . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3
2.2.2
Tabulka ’ip ban’
. . . . . . . . . . . . . . . . . . . . . . . . . . . .
3
2.2.3
Tabulka ’prispevky’ . . . . . . . . . . . . . . . . . . . . . . . . . . .
3
3 Konfiguraˇ cn´ı soubor
4