Цитата:
Сообщение от Ruble
посчитать сколько всего сообщений и поделить на 10 ) получишь округлённо количество страниц)
|
вот как у меня получилось, вроде всё работает. Если где есть ошибки, подскажи.
PHP код:
<html>
<head>
<title>
Гостевая книга v1.1
</title>
</head>
<body>
<table width="100%" border="1" cellpadding="10" cellspacing="1">
<tr>
<td>
<form method="POST" action="index.php">
<b><font face="Tahoma" size="2">Имя:</font>
</b><input type="text" name="name" size="29"><p>
<textarea rows="9" name="text" cols="51"></textarea></p>
<input type="submit" value="Отправить" name="knopka">
</form>
</td>
</tr>
<tr>
<td align="center">
<table cellpadding="5" cellspacing="5">
<?
if(isset($_POST___91;'knopka'___93;))
{if(addslashes($_POST___91;'knopka'___93;)==="Отправить")
{$handle = fopen("messages.dat", "a");
$spl = "<split>";
$date = date("F j, Y, g:i a");
$name = htmlspecialchars(addslashes($_POST___91;'name'___93;));
$text = htmlspecialchars(addslashes($_POST___91;'text'___93;));
$zapisat ="$date $spl $name $spl $text \n";
fwrite($handle,$zapisat);
fclose($handle);
}}
$messages = file('messages.dat');
$nm=count($messages);
if(!isset($page))
{$page = 0; }
for($i=$page*10;$i<$page*10+10;$i++) //проходим по всему массиву с сообщениями
{
if($i>$nm-1) { break;}
list($time, $user, $body) = split('<split>',$messages___91;$i___93;); // разбиваем сообщение по разделителю "<split>" на дату,имя и сообщение
echo "<tr>";
echo "<td><b>$time</b><br>$user</td>";
echo "<td><i>$body</i></td>";
echo "</tr>";
//здесь значения даты,имени и сообщения форматируются HTML тэгами, для форматированного вывода в броузере
}
?>
</table>
<center>
<?
$pages = $nm/10;
if($nm<10)
{echo"";}
else
{
for($i=0;$i<$pages;$i++)
{
if(($i)!=$page)echo "___91;<a href=\"index.php?page=$i\">".($i+1)."</a>___93; ";
else echo "<b><i>".($i+1)."</b></i>"." ";
}
}
?>
</center>
</td>
</tr>
</table>
</body>
</html>