Vytvorte si vlastnú knihu návštev s použitím PHP a MySQL
Kniha návštev v PHP
Každý z nás sa už iste stretol s návštevnou knihou (guestbookom) a niektorí z vás určite rozmýšľali, že by bolo dobré mať podobnú na vlastnom webe. Samozrejme, môžu si dať na web už hotovú knihu napr. od Webtoolsu, ale ak chcete mať skutočne vlastnú knihu s vlastnými funkciami a bez reklamy, musíte si ju vytvoriť sami, alebo ju dať vytvoriť nejakému design štúdiu alebo známemu. V tomto článku si povieme práve o tom, ako si môžete takúto knihu vytvoriť sami.
Ako prvé začneme vytáraním tabulky SQL. Tabuľku nazveme guestbook a bude obsahovať tieto stĺpce:
id - bude sa vyplňovať automaticky a bude obsahovať ID daného príspevku v knihe
nick - nick návštevníka
predmet - predmet príspevku
text - text príspevku
cas - čas, kedy bol príspevok vložený v tvare UNIX TIMESTAMP
Bude to vyzerať asi takto:
CREATE TABLE `guestbook` (
`id` INT(11) NOT NULL AUTO_INCREMENT,
`nick` VARCHAR(50) NOT NULL default 'Anonym',
`predmet` VARCHAR(50) NOT NULL default '',
`text` TEXT NOT NULL,
`cas` INT(11) NOT NULL default '0',
PRIMARY KEY (`id`)
);
Ďalej si vytvoríme súbor index.php, kde bude umiestnený kód samotnej knihy. Tento súbor sa bude skladať z niekoľkých častí. V prvej časti sa pripojíme k MySQL, v druhej časti bude script pre vkladanie nových príspevkov, v tretej bude HTML kód pre vkladanie príspevku a vo štvrtej časti bude samotné zobrazovanie príspevkov. Tu je ten súbor:
<?
// Prvá časť - pripojenie k databázi MySQL
define("hostname", "localhost");
define("username", "root");
define("password", "");
define("database", "guestbook");
if (mysql_connect(hostname, username, password)) {
mysql_select_db(database);
}
else {
echo "Nepodarilo sa pripojiť k databáze MySQLO";
die();
}
if (isset($_GET['ulozit']) && $_GET['ulozit'] == "yes") {
// Druhá časť - skript pre vkladanie nového príspevku
if (mysql_query("INSERT INTO `guestbook` VALUES('','".$_POST['nick']."','".$_POST['predmet']."','".$_POST['text']."','".time()."')")) {
echo "Príspevok bol úspešne vložený";
}
else {
echo "Príspevok sa nepodarilo vložiť!";
}
}
else {
// Tretia časť - HTML kód pre vloženie nového príspevku
?>
<html>
<head>
<title>Návštevná kniha</title>
</head>
<body>
<form action="index.php?ulozit=yes" method="post">
<table border="0" cellpadding="0" cellspacing="5" width="70%">
<tr>
<td>Nick:</td>
<td><input type="text" name="nick" /></td>
</tr>
<tr>
<td>Predmet:</td>
<td><input type="text" name="predmet" /></td>
</tr>
<tr>
<td>Text:</td>
<td><textarea name="text"></textarea></td>
</tr>
<tr>
<td></td>
<td><input type="submit" value="Odoslať" /></td>
</tr>
</table>
</form>
<br /><br />
<?
}
// Štvrtá časť - zobrazenie príspevkov
$res = mysql_query("SELECT * FROM `guestbook`");
if (mysql_num_rows($res) >= 1) {
while($row = mysql_fetch_array($res)) {
echo "
<b>Vložil:</b> ".$row['nick']."<br />
<b>Vložené:</b> ".date("j.n Y G:i:s",$row['cas'])."<br />
<b>Predmet:</b> ".$row['predmet']."<br />
".$row['text']."<br /><br /><br />
";
}
?>
</body>
</html>
<?
}
else {
echo "Zatiaľ žiadne príspevky";
}
?>
Tak, to by bolo hádam všetko čo je potrebné k 'zostrojeniu' guestbooku. Prípadne nejasnosti píšte do komentárov.
Autor: timbulko