skriptik na vkladani aktualit a jejich upravovani
function pripoj()
{
if($pripoj=mysql_connect("server", 'jmeno_uživatele' , 'přístupové_heslo'))
{?> <p>Je mi líto, databáze je nedostupná... Chyba připojení k DB</p><?php
exit;
}
if(!@mysql_select_db('jméno_databáze'))
{?> <p>Je mi líto, databáze je nedostupná... Chyba neznámá DB</p><?php
exit;
}
else
{
MySQL_Query("SET NAMES 'cp1250'");
return $pripoj;
}
}
<?php
/********************************************************************* ***********
* toto je lehce upravený script který používám na vytváření a úpravy aktualit
* ******************************************************************** *********
* Původně se jedná o funkci vracející pole které dále vypisuji na místa kde
* potrebuji.
* ******************************************************************** *********
* include pripojenik db, funkcí, definicí...
* require_once("nastaveni.php");
* + na začátku odstranuji všechny slashe zpusobené directivou magic_quotes_gpc
* ********************************************************************** ********
* function stranka()
* {
* ********************************************************************* *******/
$s['nazov']='Administracia: Editor Aktualit, napsat novou aktualitu';
$s['clanok']='';
$text_orig='';
$nadpis='';
$sprava='';
/******************************************************************* *************************************
* kontrola $_POST, a její zpracování
* ******************************************************************** ********************************/
if(!empty($_POST['vlozit_aktualitu']))
{
if((!empty($_POST['nadpis']))and(trim($_POST['nadpis'])!==''))
{
$nadpis=strip_tags($_POST['nadpis']);
if(strlen($nadpis)>50)
{
$sprava.='<p class="error">Text nadpisu je příliš dlouhý.</p>';
}
}
else
{
$sprava.='<p class="error">Nevyplnili jste název aktuality.</p>';
}
if((!empty($_POST['text_aktuality']))and(trim($_POST['text_aktual ity'])!==''))
{
/************************************************************** *********
* $text_akt je formátovaná verze která se zobrazuje na stránce,
* $text_orig je originální verze kterou vložil do formuláře autor a
* která se načítá pči úpravách.
********************************************************************** /
$text_orig=$_POST['text_aktuality'];
$text_akt=$_POST['text_aktuality'];
//odstranění html tagů, pokud chcete necht, stačí zakomentovat
$text_akt=strip_tags($text_akt);
//odstraním \r, nahradím ampersandy (&), uvozovky a apostrofy jejich html entitami
$text_akt= strtr($text_akt,array( "\r" =>"", "&" =>"&", "'" => ''', '"' => '"'));
//vytvořím odstavce
$text_akt= "\n<p>\n".preg_replace("#(\n{2,})#", "\n</p>\n<p>\n", $text_akt)."\n</p>\n";
}
else
{
$sprava.='<p class="error">Odeslali jste prázdný formulár...</p>';
}
if(!empty($_GET['cislo']))
{
$cislo=(int)$_GET['cislo'];
if($cislo<1)
{
$sprava.='<p class="error">Číslo aktuality je příliš malé.</p>';
}
}
if($sprava=='')
{
if(!empty($cislo))
{
//úprava aktuality
$dotaz="update ".Tabulka_aktuality." set nadpis='".addslashes($nadpis)."', text_aktuality='".addslashes($text_akt)."', text_original='".addslashes($_POST['text_aktuality'])."' where id=".$cislo."";
if(mysql_query($dotaz,pripoj()))
{
header("location: index.php?admin=aktuality-pridat-novou-ukaz&id=".$cislo);
exit;
}
else
{
$s=chyba_db();
return $s;
}
}
else
{
$dotaz="INSERT INTO ".Tabulka_aktuality." (text_aktuality, text_original, datum, nadpis) VALUES ('".addslashes($text_akt)."', '".addslashes($_POST['text_aktuality'])."', NOW(),'".$nadpis."')";
if(mysql_query ($dotaz,pripoj()))
{
$id=mysql_insert_id();
header("location: index.php?admin=aktuality-pridat-novou-ukaz&id=".$id);
exit;
}
else
{
$s=chyba_db();
return;
}
}
}
}
/******************************************************************* ************************************
* Uprava aktualit. vybere se z db příslušná aktualita a vloží do proměnných které se postarají
* o její zobrazení ve formuláři, Do formuláře je vložena verze která neprošla úpravou.
********************************************************************** ********************************/
if((!empty($_GET['id']))and((int)$_GET['id']>0))
{
$cislo=(int)$_GET['id'];
$dotaz="select text_original, nadpis from ".Tabulka_aktuality." where id=".$cislo;
if($v=mysql_query($dotaz,pripoj()))
{
mysql_close();
if(mysql_num_rows($v)==1)
{
$r=mysql_fetch_array($v);
//mysql_free_result($v);
$text_orig=$r['text_original'];
$nadpis=$r['nadpis'];
}
else
{
$s=stranka_neni();
return $s;
}
}
else
{
$s=chyba_db();
return $s;
}
}
$s['clanok'].=$sprava;
$s['clanok'].="\n".'<p>Toto je Editor Aktualit, Zde můžete Psát nové aktuality, případně upravovat starší. </p>
<form method="post" action="aktuality.php';if(!empty($cislo)){$s['clanok'].='?cislo='.$cis lo;};$s['clanok'].='">
<table>
<tr><td class="modry_bold"><label for="nadpis">nadpis aktuality:</label></td><td><input type="text" id="nadpis" name="nadpis" value="'.$nadpis.'" maxlength="50" size="30" /></td></tr>
<tr><td class="modry_bold"><label for="text_aktuality">text aktuality:</label></td><td><textarea id="text_aktuality" name="text_aktuality" rows="4" cols="45">'.$text_orig.'</textarea></td></tr>
<tr><td> </td><td><input type="submit" name="vlozit_aktualitu" value="vložiť aktualitu" /></td></tr>
</table>
</form>';
$s['clanok'].="\n".'<p><a href="aktuality-vypis.php" title="Výpis všech aktualit">Výpis všech aktualit</a></p>';
echo '<h1>'.$s['nazov'].'</h1>'.$s['clanok'];
/******************************************************************* *******
* return $s;
* }
* ******************************************************************** **/