Návštěvní kniha v PHP a MySQL

1.) Vytvoříme si tabulku kniha_navstev

2.) Do ní vložíme tyto sloupce s těmito parametry:

  • datum
    • DATETIME
  • jmeno
    • VARCHAR(30)
  • email
    • VARCHAR(200)
  • zapis
    • TEXT

Živá ukázka

Hotové řešení níže:

<html> <head> <title>Kniha návštěv</title> <meta http-equiv="Content-Type" content="text/html; charset=windows-1205"> </head> <body> <h2>Přidat příspěvek:</h2> <form name="kniha" action="" method="post"> <b>Jméno:</b><br /> <input name="jmeno" size="40"><br /> <br /> <b>Mail:</b><br /> <input name="email" size="40"><br /> <br /> <b>Zpráva:</b><br /> <textarea name="zprava" rows="5" cols="30"></textarea><br /> <br /> <input type="submit" value="Odeslat zprávu"> </form> <?php   $jmeno = $_POST['jmeno']; $email = $_POST['email']; $zprava = $_POST['zprava'];  $jmeno = htmlspecialchars($jmeno); $email = htmlspecialchars($email); $zprava = htmlspecialchars($zprava); // -- Připojení k databázi a správné nastavení èeštiny --   // Připojení k databázi. $db_spojeni = mysqli_connect   ('databazovy-server', 'uzivatel', 'heslo', 'nazev-databaze', port-vetsinou-3306);   // Otestování, zda se pøipojení podaøilo. if (!$db_spojeni) {   echo 'Připojení se nepodařilo, sorry';   echo '<br />';   echo 'Popis chyby: ', mysqli_connect_error();   exit(); }   // Správné nastavení èeštiny. $objekt_vysledku = mysqli_query($db_spojeni, "SET NAMES 'cp1250'"); if (!$objekt_vysledku) {   echo 'Poslání SQL pøíkazu se nepodaøilo, sorry';   echo '<br />';   echo 'Popis chyby: ', mysqli_error($db_spojeni);   exit(); }     // -- Vlož nový zápis, pokud byl odeslán formuláøem --   // Test, jestli pøišla data z formuláøe. if (isset($_POST['zprava'])) {   // Vytvoøení SQL pøíkazu typu INSERT.   $sql_prikaz =      "INSERT INTO kniha_navstev(datum,jmeno,email,zapis) "     ."VALUES(NOW(),'"     .mysqli_real_escape_string($db_spojeni,$jmeno)     ."','"     .mysqli_real_escape_string($db_spojeni,$email)     ."','"     .mysqli_real_escape_string($db_spojeni,$zprava)     ."')"     ;     // Zaslání SQL pøíkazu do databáze.   $objekt_vysledku = mysqli_query($db_spojeni, $sql_prikaz);     if (!$objekt_vysledku)   {     echo 'Poslání SQL pøíkazu se nepodaøilo, sorry';     echo '<br />';     echo 'Popis chyby: ', mysqli_error($db_spojeni);     exit();   }   echo 'Nový zápis do knihy návštìv pøidán.<br />'; }     // -- Vypiš všechny zápisy v knize návštìv --   // Zaslání SQL pøíkazu do databáze. $objekt_vysledku = mysqli_query($db_spojeni,   'SELECT * FROM kniha_navstev ORDER BY datum DESC'); if (!$objekt_vysledku) {   echo 'Poslání SQL pøíkazu se nepodaøilo, sorry';   echo '<br />';   echo 'Popis chyby: ', mysqli_error($db_spojeni);   exit(); }   echo '<h2>Odeslané pøíspěvky:</h2>'; // Zobrazení všech vrácených dat. while ($radek = mysqli_fetch_array($objekt_vysledku)) {   echo '<hr />';   echo 'Datum a èas: ',$radek['datum'],'<br />';   echo 'Napsal: ',$radek['jmeno'],' (',$radek['email'],')<br />';   echo 'Zápis: ',$radek['zapis'],'<br />';   echo '<br />'; } echo '<hr />';     // -- Odpojení od databáze --   // Zavøení objektu výsledku, protože už ho nebudeme používat. mysqli_free_result($objekt_vysledku);   // Odpojení od databáze. if ($db_spojeni)   mysqli_close($db_spojeni);   ?>   </body> </html>

 

Napište komentář!