Спустя 25 минут, 43 секунды (15.06.2010 - 18:27) Unlikely написал(а):
Есть на файлах
form.php:
gbook_add.php:
index.php:
show_message.php:
Сообщения в messages.dat
form.php:
<form action="gbook/gbook_add.php" method="post">
<p><input type="text" name="username" size="30" /> Ваше Имя</p>
<p><input type="text" name="email" size="30" /> Ваш E-Mail</p>
<p><textarea name="message" rows="10" cols="40"></textarea></p>
<p><input type="submit" name="send" value="Добавить сообщение" /></p>
</form>
gbook_add.php:
<?php header('Content-Type: text/html; charset=UTF-8', true); // Кодировка для страницы
$filename = "messages.dat";
$delitmer = "<|-|>";
$username_limit = 50;
$email_limit = 80;
$message_limit = 5000;
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"));
$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 "Ваше сообщение добавленно!<br />";
echo "<a href=\"\">Назад</a>";
}
else
{
echo "Ошибка!!!<br>Не все данные введенны, либо в одном из полей формы слишком много символов.";
}
}
}
?>
index.php:
<h2>Гостевая книга</h2>
<?php
require 'gbook/show_message.php';
require 'gbook/form.php';
?>
show_message.php:
<?php
$filename = "gbook/messages.dat";
$delitmer = "<|-|>";
$shablon = '
<p><b>Пользователь: %username%</b></p>
<p>%message%</p>
<p>%add_date%</p>
<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;
}
?>
Сообщения в messages.dat
Спустя 27 минут, 14 секунд (15.06.2010 - 18:54) twin написал(а):
Спустя 2 часа, 15 минут, 37 секунд (15.06.2010 - 21:10) Хоб написал(а):
Огромное спасибо откликнувшимся, воспользовался вариантом Unlikely, т.к. в нем поменьше кода. Начал было сам писать, но понял, что это займет непростительно много времени. Рад, что на этом ресурсе есть отзывчивые люди.