Samizdatová skripta

Praktické příklady


odstranit?

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.

Soubor index.php

 <!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>

soubor vypis

 <? 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?>

Soubor zapis

 <?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");
}
?>

Přihlašovací skript auth.php

 <?
@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');

upravit odstranit css

NAVRCHOLU.cz