Kniha návštev v PHP

« zpět na PHP a HTML

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

Klientská sekce pro Vás

Spravujte své domény a hosting pohodlně 24 hodin denně

Kontakt pro zákazníky

Technická podpora

PO-PÁ 8:00-18:00

E-mail: podpora@banan.cz 

Příjem dotazů probíhá NONSTOP

Online pracovník

Richard Slipek

+420 608 611 883

Online chat

Zvládáme opensource

Na našich serverech jsme ručně ověřili funkci více než 140 opensource systémů, některé z nich nabízíme na jedno kliknutí v administraci.

Hostované domény

6684 domén 5601 1083

Poslední článek - HOMEPAGE PRVKY

O
Ověřit dostupnost domény
Zákaznické centrum: podpora@banan.cz +420 608 611 883 (PO-PÁ 8:00-18:00)NápovědaBlog
Technická podpora: PO-PÁ 800-1800X
Online pracovník: Richard Slipek
podpora@banan.cz
Online chat nebo +420 608 611 883
Kontaktovat technickou podporu můžete zde
Kontaktovat technickou podporu můžete zde
PO-PÁ 800-1800