Делаю гесту. Остановился на разбивке на страницы. Как это лучше сделать?
add.php
[php]<?php
//скрипт бана должен быть выше всех!
$ip = $_SERVER['REMOTE_ADDR']; //получаем ip
$fo=fopen($file,"r"); //открываем файл банлиста
$file=("banlist.dat"); //имя банлиста
$ban = file("banlist.dat"); //берём ip
$count = count($ban);
for ($i=0; $i<$count; $i++) {
//if($ip == $ban[$i]) { die("Доступ запрещён $ip забанен"); } -бан без диопазона
if (substr($ip, 0, strlen($ban[$i]))==$ban[$i]){ die("Доступ запрещён $ip забанен"); } //бан по диопазону
}
?>
<?php
//скрипт добавления сообщения
$filename = "messages.dat"; //файл с сообщениями
$delitmer = "<|-|>";
$username_limit = 12; //длинна имени пользователя
$email_limit = 25; // длинна мыла
$message_limit = 850; //длинна сообщения
if (isset($_POST))
{
if (isset($_POST['username']) & isset($_POST['email']) & isset($_POST['message']))
{
if (((strlen($_POST['username'])>0) & (strlen($_POST['username'])<=$username_limit)) &
((strlen($_POST['email'])>0) & (strlen($_POST['email'])<=$email_limit)) &
((strlen($_POST['message'])>0) & (strlen($_POST['message'])<=$message_limit)))
{
$username = str_replace("\r\n", "<br>", htmlspecialchars($_POST['username']));
$email = str_replace("\r\n", "<br>", htmlspecialchars($_POST['email']));
$message = str_replace("\r\n", "<br>", htmlspecialchars($_POST['message']));
$arr = array($username, $email, $message, date("d.m.Y h:i"));
$new_message = implode($delitmer, $arr) . "\r\n";
$messages_arr = @file($filename);
$messages_str = $new_message;
$messages_str .= trim(implode("", $messages_arr));
$fp = fopen($filename, "w+");
fwrite($fp, $messages_str);
fclose($fp);
echo "<META HTTP-EQUIV=\"Refresh\" CONTENT=\"2; URL=index.php\">"; //имя странички куда перекинет после добавления поста
echo "Ваше сообщение добавленно!";
}
else
{
echo "Ошибка!!!<br>Слишком длинное сообщение!";
}
}
}
?>
<?php
//пишем логи тех кто пытается или отправил сообщение
$file=("logs.dat"); //куда пишем
$data=date("d.m.Y"); //день месяц год
$time=date("h:i"); //время
$ip=trim($_SERVER['REMOTE_ADDR']); //ip
$sysinfo=trim($_SERVER['HTTP_USER_AGENT']); //браузер
if(is_file($file)) //проверяем наличие файла и возможность работы с ним
$fo=fopen($file,"a","\n"); //открываем файл на запись в конец
$res=" $data | $time | $ip | $sysinfo \n "; //формируем строку
//в формате дата|время|ip-адрес|характеристика системы
//переход на следующую строку n
$fw=fwrite($fo,$res); //записываем в файл
fclose($fo); //закрываем файл
?>[/php]
index.php
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=windows-1251">
<title>Гостевая книга</title>
</head>
<body>
<center><big>Гостевая книга</big></center>
<?php //вывод (можно менять местами), можно вставить в html или php
include 'show_message.php'; //выводит сообщения на страницу
include 'form.inc'; //выводит форму добавления сообщения на страницу
?>
<center>01es © 2008</center>
</body>
</html>
show_message.php
[php]<?php
$filename = "messages.dat";
$delitmer = "<|-|>";
$shablon = '
<center><table border="0" width="70%">
<tr>
<td width="70%">Имя: <a href="<A href="mailto:%email%">%username%</a></td">mailto:%email%">%username%</a></td>
</tr>
<tr>
<td width="70%"><p align="justify">%message%</p></td>
</tr>
<tr>
<td width="70%" align="right">%add_date%</td>
</tr>
</table></center>
<br>';
$data = @file($filename);
foreach($data as $val)
{
list($username, $email, $message, $date) = explode($delitmer, trim($val));
$tmp_message = str_replace("%username%", $username, $shablon);
$tmp_message = str_replace("%email%", $email, $tmp_message);
$tmp_message = str_replace("%message%", $message, $tmp_message);
$tmp_message = str_replace("%add_date%", $date, $tmp_message);
echo $tmp_message;
}
?>[/php]
form.inc
<form name="gbook" target="_self" method="post" action="add.php">
<table border="0" width="90%" align="center">
<tr>
<td width="50%" align="right" valign="top">Ваше имя: </td>
<td width="50%" align="left"><input type="text" name="username"></td>
</tr>
<tr>
<td width="50%" align="right" valign="top">Ваш e-mail: </td>
<td width="50%" align="left"><input type="text" name="email"></td>
</tr>
<tr>
<td width="50%" align="right" valign="top">Ваше сообщение: </td>
<td width="50%" align="left"><textarea name="message" rows="6" cols="37"></textarea></td>
</tr>
<tr>
<td width="50%" colspan="2" align="center"><input type="submit" name="send" value="Добавить сообщение"></td>
</tr>
</table>
</form>