Nacházíte se: tvorba webu :: mysql :: navstevni_kniha

Návštěvní kniha

V tomto díle se podíváme, jak vytvořit jednoduchou návštěvní knihu s podporou databáze. Popíšeme si tu detailně všechny potřebné skripty. Všechny skripty, které se zde objeví budou bez použití kaskádových stylů, aby jste se v tom lépe vyznali. Pokud budete chtít kompletní návštěvní knihu i s použitím jednoduchého designu, stáhněte si prosím na konci stránky arhciv s návštěvní knihou.

Na tomto příkladu si ukážeme, jak se používájí dotazy na databázi pomocí PHP. Nebudou zde takové věci, jakou jsou třeba, kontrola správného tvaru emailu, či spambotová kontrola. Pokud chcete návštěvní knihu se všemi funkcemi i administrací, kontaktujte mě emailem, nebo po ICQ



Vytvoření tabulky v databázi

Následující příkaz mužete použít například v PHPadminu Vaší databáze. Vytvoří Vám potřebnou tabulku, kam se budou ukládat všechny vzkazy.

CREATE TABLE `navstevni_kniha`(
 `ID` INT NOT NULL AUTO_INCREMENT ,
 `NICK`   VARCHAR( 255 )  CHARACTER SET utf8 COLLATE utf8_czech_ci NOT NULL ,
 `EMAIL`  VARCHAR( 255 )  CHARACTER SET ucs2 COLLATE ucs2_czech_ci NULL ,
 `WEB`    VARCHAR( 255 )  CHARACTER SET utf8 COLLATE utf8_czech_ci NULL ,
 `ZPRAVA` VARCHAR( 255 )  CHARACTER SET ucs2 COLLATE ucs2_czech_ci NOT NULL ,
 `DATUM`  VARCHAR( 255 )  CHARACTER SET utf8 COLLATE utf8_czech_ci NOT NULL ,
PRIMARY KEY ( `ID` ) 
)ENGINE = MYISAM


navstevni_kniha.php

Skript obsahuje jednoduchý formulář k odeslání nového příspěvku, pokud bude formulář odeslán, skript vloží příspěvek do databáze. Dále si skript připojí další skript seznam_vzkazu.php, který vypíše všechny vzkazy v databázi.

<?php
  include('pripojeni.php');
?>

<form action="#" method="post">
<input type="text" name="nick" /> nick <br />
<input type="text" name="email" /> email<br />
<input type="text" name="web" /> Váš WEB<br />
Vzkaz:<br />
<textarea name="vzkaz"></textarea>
<input type="submit" value="odeslat" />
</form>


<?php
  // přijme všechny zadané informace do formuláře 
  $nick   = $_REQUEST["nick"];
  $email  = $_REQUEST["email"];
  $web    = $_REQUEST["web"];
  $vzkaz  = $_REQUEST["vzkaz"];
  $datum  = StrFTime("%d.%m.%Y", Time());
  
  
  // pokud byly vyplněny všechny nezbytné informace, může se
  // nový příspěvek uložit do databáze 
  if($nick!="" && $vzkaz!="")
  {
    // uloží se nový vzkaz do databáze a vrátí 1,
    // pokud  uložení bude uspěšné
    $flag = mysql_query("INSERT INTO navstevni_kniha VALUES 
                  ('','$nick','$email','$web','$vzkaz','$datum');");
    
   // vypíše, jestli byl vzkaz přidán, nebo ne
    echo ($flag) ? "vzkaz přidán" : "nepovedlo se přidat vzkaz";
  }
  
  // vloží soubor s vypisem všech vzkazů, které jsou uloženy v databázi
  include('seznam_vzkazu.php');
?>  


seznam_vzkazu.php

Tento skript přečte všechny vzkazy, které jsou v databázi a vypíše je na obrazovku.

<?php
   
 //přečte počet vzkazů v databázi
 $pocet_vzkazu = mysql_query("select count(*) as pocet from navstevni_kniha;");
 $cislo = mysql_fetch_array($pocet_vzkazu);
 $celkem_vzkazu = $cislo["pocet"];
 
 echo "celkový počet vzkazů: ".$celkem_vzkazu."<br />";

 //vrati vsechny vzkazy
 $vzkazy = mysql_query("SELECT * FROM navstevni_kniha;");
 
 // pokud nebyly načteny žádné vzkazy, vypiš chybu
 if(!$vzkazy){
  echo "chyba při načetní vzkazů"; 
 }
 // jinak ulož vzkazy do pole a postupně je vypiš
 else{
  // cyklus while projde všechny vzkazy, 
  // pomoci pole $vzkaz[""] vypíše všechny informace jednotlivých vzkazů
  while ($vzkaz = MySQL_Fetch_Array($vzkazy))
  {
      echo $vzkaz["ID"]."<br />";
      echo $vzkaz["NICK"]."<br />";
      echo $vzkaz["EMAIL"]."<br />";
      echo $vzkaz["WEB"]."<br />";
      echo $vzkaz["ZPRAVA"]."<br />";
      echo $vzkaz["DATUM"]."<br />";
  }
 }  
?>


Pripojeni.php

Skript je stený jako v minulém díle. Připojí PHP server k databázi, tím umožní čtení či zápis nových i starých příspěvků.



Instalace

Soubory z archivu si zkopírujte do kořenového adresáře. Dále si includujte soubor navstevni_kniha.php na místo, kde chcete zobrazit návštěvní knihu.

Dále je potřeba si zeditovat soubor pripojeni.php. Zde musíte zadat, jak je uvedeno v minulém díle, všechny potřebné přihlašovací údaje do databáze.

Download

Návštěvní kniha bez CSS: zde
Návštěvní kniha s CSS: zde

Ukázka jednoduché návštěvní knihy

zde

úvod | tvorba webu | ostatní | služby | návštěvní kniha | kontakt