Tento příklad ukazuje, jak může vypadat jednoduchý pokec, který se ukládá do databáze. Obnovování výpisu vč. jeho zastavení při psaní je děláno pomocí JS.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang=" <?=$lang?>" lang=" <?=$lang?>"> <head> <title>Thriller Dance Rekord Praha 2010: <?=$pages[$page][$lang]?> </title> <meta http-equiv="content-type" content="text/html; charset=utf-8" /> <meta http-equiv="Content-language" content=" <?=$lang?>" /> <meta name="author" content="LMsoft" /> <meta name="keywords" content="Michael Jackson, Thriller, Thriller Dance Rekord, Michael Jackson Fanclub, Taneční show" /> <meta name="description" content="Překonáme světový rekord z Mexika? Přijďte nás podpořit a zažít skvělý den. Zajištěn je i doprovodný program." /> <link rel="stylesheet" type="text/css" href="../../style/style.css" /> <script type="text/javascript"> function shoutbox() { window.open("/tools/shoutbox/index.php","sb"); } sbi=window.setInterval("shoutbox()", 30000); function stop() { window.clearTimeout(sbi); } </script> <? require_once "../../config/common.php"; # konfigurace require_once "../../inc/auth.php"; # nastaveni konstanty LOGGED require_once "../../inc/db-connect.php"; #pripojeni k db $jmeno = $_GET['jmeno']; $text = $_GET['text']; $chyba = $_GET['chyba']; ?> <body> <? if(LOGGED):?> <a href="/tools/shoutbox/index.php?spravovat=1&vse=1" target="_blank">Spravovat </a> <?endif?> <?if ($chyba):?> <p class="hlaska">Je třeba vyplnit všechny položky správně. </p> <?endif?> <form action="zapis.php" name="form" method="post"> <label for="prezdivka">Přezdívka: </label> <input type="text" name="prezdivka" id="prezdivka" value=" <?=$jmeno?>"> <br> <textarea cols="18" rows="3" name="text" onkeydown="stop()"> <?=$jmeno?> </textarea> <br> <label for="rok">Aktuální rok: </label> <input type="text" name="rok" for="rok" value="0000"> <br> <input type="submit" value="Odeslat"> </form> <div class="sb-body"> <?php include "vypis.php"; ?> </div> <? if(LOGGED):?> <a href="/tools/shoutbox/index.php?vse=1" target="_blank">Zobrazit vše </a> <?endif?> </body> </html>
<? if ($_GET["spravovat"] && LOGGED):?> <form action="zapis.php?spravovat=1&vse=1" method="post"> <?endif?> <?php $limit="LIMIT 0 , 5"; if (!$_GET["vse"]) $limit=null; $dotaz = "SELECT * FROM shoutbox ORDER BY shoutbox.id DESC $limit"; $vysledek = mysql_query($dotaz); while ($radek = mysql_fetch_array($vysledek)) { if ($_GET["spravovat"] && LOGGED) echo " <input type='checkbox' name='sbpolozka[]' value='{$radek['id']}'>"; echo " <b class='jmeno'>"; echo $radek['prezdivka']; echo ": </b>"; echo " <p class='text'>"; echo substr($radek['text'],0,300); echo " </p>"; } ?> <? if ($_GET["spravovat"] && LOGGED):?> <input type="submit" value="smazat označené"> </form> <?endif?>
<?php require_once "../../config/common.php"; # konfigurace require_once "../../inc/log.php"; # logovani require_once "../../inc/auth.php"; # nastaveni konstanty LOGGED require_once "../../inc/db-connect.php"; if (LOGGED) { $smazat = $_POST['sbpolozka']; $q="delete from shoutbox where 0 or "; for ($i=0;$i <count($smazat);$i++) { $q.=" id=".$smazat[$i]; } mysql_query($q); } $jmeno = $_POST['prezdivka']; $text = $_POST['text']; $rok = date("Y"); $jmeno=HTMLSpecialChars($jmeno); //převede některé znaky na entity $text=HTMLSpecialChars($text); $jmeno=stripslashes($jmeno); //odstraní lomítka $text=stripslashes($text); if (($jmeno!="") && ($text!="") && $rok==date("Y")) { mysql_query("INSERT INTO shoutbox set id_uzivatele='$jmeno', text='$text';"); Header ("Location: index.php"); } else { $jmeno=urlencode($jmeno); //odstraní lomítka $text=urlencode($text); Header ("Location: index.php?chyba=1&jmeno=$jmeno&text=1&$text"); } ?>
<? @include_once "inc/log.php"; @include_once "../../inc/log.php"; //$password - heslo uloženo v souboru common.php session_start(); $wrongpass=false; $justloggedin=false; $justloggedout=false; $loginform=false; $userwrong=false; define("USERLOGGED", false); # login if(isset($_POST["password"])){ if($_POST["password"]==$password){ $_SESSION['logged']=true; log_add("AL","Admin logged in"); $justloggedin = true; } else { $wrongpass=true; log_add("AN","Wrong password!"); } } # logout if(isset($_GET["logout"])){ unset($_SESSION['logged']); $justloggedout = true; } if(empty($_SESSION['logged'])) define("LOGGED", false); else define("LOGGED", true); if(isset($_GET["admin"]) && !LOGGED){ $loginform = true; } </h3> <h3>Struktura databáze je následující </h3>
-- -- Struktura tabulky `shoutbox` -- CREATE TABLE IF NOT EXISTS `shoutbox` ( `id` bigint(10) NOT NULL auto_increment, `prezdivka` varchar(50) collate utf8_czech_ci NOT NULL, `text` text collate utf8_czech_ci NOT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_czech_ci AUTO_INCREMENT=18 ; -- -- Vypisuji data pro tabulku `shoutbox` -- INSERT INTO `shoutbox` (`id`, `prezdivka`, `text`) VALUES (5, '4', 'ddd'), (6, '4', 'fdsdddddddddddddddddddddddddddddddddrfewklfsdahfk kfdsjk rfhjksdfh jklafdshfdsajklafsdhjkl'), (7, '4', 'fdsfsdkfhsdjk fhdjkf kdlsfajf kldjfdsakl jfdlkdsj lkfdsjkldsf '), (14, '0', 'pokus'), (15, '0', 'ahoj'), (16, '0', 'jkj'), (17, '0', 'ahoj');