", $str);
$str = str_replace("\n\r", "
", $str);
$str = str_replace("\r", "
", $str);
$str = str_replace("\n", "
", $str);
$str = eregi_replace("(
*){2,}","
",$str);
return $str;
}
function modifikip ($ip) {
$mas=explode(".", $ip);
$mas1=array();
foreach ($mas as $key => $val) {
if (strlen($val)==1) {$mas1[]="00".$val;}
if (strlen($val)==2) {$mas1[]="0".$val;}
if (strlen($val)==3) {$mas1[]="".$val;}
}
$ip= implode(".", $mas1);
return $ip;
}
function addlimit ($query, $page=1, $po=20){
// $query начальный запрос
// $pages нужная страница
// $po по столько элементов выводить на одной странице (шаг страниц)
$res=mysql_query($query);
$kol=mysql_num_rows($res); // общее кол-во строк
if ($kol<=$po) { $l1=0; } // начальный элемент для показа
else{ $l1=0 + ($page-1)*$po; }
$query=$query." LIMIT $l1, $po";
return $query;
}
function addstranici ($query, $page=1, $po=20){
$res=mysql_query($query);
$kol=mysql_num_rows($res); // общее кол-во строк
$kolstranic=ceil($kol/$po); // кол-во страниц
//корректируем 2,3, 4 - сообщения; остальное - сообщений
$strNum = (string) $kol; // приводим к строковому типу
$rain = strlen($strNum) - 1; // номер последнего символа в числе
if($strNum[$rain]==2||$strNum[$rain]==3||$strNum[$rain]==4)
$line = "сообщения"; else $line = "сообщений";
$stroka="Всего: $kol $line. Страница: ";
$put=basename(__FILE__);
$put=$put."?";
if ($kolstranic>1){
$put=$put."page=0";
$kolznak=1;
for ($i=1; $i<=$kolstranic; $i++) {
if ($i==$page){$s=" $i ";}
else {
if ($i<10) {$kolznak_b=1;}
elseif ($i<100) {$kolznak_b=2;}
elseif ($i<=100) {$kolznak_b=3;}
$put=substr_replace ($put, $i, -$kolznak ,strlen($put));
$kolznak=$kolznak_b;
$s=" $i ";
}
$stroka=$stroka.$s;
}
}
else { $stroka=$stroka." 1 "; }
return $stroka;
}
if (isset($_REQUEST['button'])) {
if(isset($_POST['keystring']) AND (isset($_SESSION['img_code']) && $_SESSION['img_code'] == $_POST['keystring'])){
$error=array();
if(isset($_REQUEST['nickname']) and check($_REQUEST['nickname'])) { $nickname=check($_REQUEST['nickname']);}
else {$error[]="Не правильное значение в поле имя";}
if(isset($_REQUEST['message']) and check($_REQUEST['message'])) { $message=check($_REQUEST['message']);}
else {$error[]="Не правильное значение в поле сообщение";}
if (count($error)==0) {
$ip=modifikip($_SERVER['REMOTE_ADDR']);
$query= "SELECT id_ip, ban FROM ip WHERE `ip_znach`='".$ip."';";
$res=mysql_query($query);
$kol=mysql_num_rows($res);
$input_mess=false;
if ($kol>0) {$f=mysql_fetch_array($res);
if ($f['ban']==1) {$error[]="IP забанен";}
else { $id_ip=$f['id_ip']; $input_mess=true;}
}
else {
$query= "INSERT INTO `ip` (`id_ip` , `ip_znach` , `ban` ) VALUES ('', '".$ip."', '0');";
$res=mysql_query($query);
$query= "SELECT id_ip FROM ip WHERE `ip_znach`='".$ip."';";
$res=mysql_query($query);
$f=mysql_fetch_array($res);
$id_ip=$f['id_ip'];
$input_mess=true;
}
if ($input_mess) {
$query= "INSERT INTO `messages` ( `id_messages` , `user` , `date` , `massag` , `kod_ip` )
VALUES ('', '".$nickname."', CURRENT_DATE, '".$message."', '".$id_ip."');";
$res=mysql_query($query);
}
}
unset($_SESSION['captcha_keystring']);
} else {$error[]="Не верный проверочный код";}
}
if (isset($_REQUEST['del_mes']) AND $admin) {
$query= "DELETE FROM `messages` WHERE `id_messages`='".$_REQUEST['del_mes']."' LIMIT 1;";
$res=mysql_query($query);
}
if (isset($_REQUEST['ban']) AND $admin) {
$query= "UPDATE `ip` SET `ban` = '1' WHERE `id_ip`='".$_REQUEST['ban']."' LIMIT 1;";
$res=mysql_query($query);
}
if (isset($_REQUEST['button_save']) AND $admin) {
$query= "UPDATE `messages` SET `massag` = '".$_REQUEST['message']."' WHERE `id_messages`='".$id_mes."' LIMIT 1;";
$res=mysql_query($query);
}
?>
Гостевая
$query= "SELECT m.user, m.date, m.massag, m.id_messages, i.ip_znach, i.id_ip FROM messages m, ip i WHERE m.kod_ip=i.id_ip AND m.id_news =0 ORDER BY m.id_messages DESC";
$query_for_st=$query;
$po_s=15;
if (!isset($_GET['page'])) {$page=1;} else {$page=$_GET['page'];}
$query = addlimit($query, $page, $po_s);
$st = addstranici ($query_for_st, $page, $po_s);
echo($st);
$res=mysql_query($query);
$kol=mysql_num_rows($res);
if ($kol>0) { for($i=0; $i<$kol;$i++) { $f=mysql_fetch_array($res); ?>
} }?>
0) { ?>
foreach ($error as $key => $val) { echo "
* ".$val."
";}?>
}?>