код (+/-)
<?php
session_start();
$data = 'data.txt';
//Обрабатываем входящие данные
if (isset($_POST)){
require_once ('func.php');
$login = trim(htmlspecialchars($_POST['login']));
$email = trim(htmlspecialchars($_POST['email']));
$msg = trim(htmlspecialchars($_POST['msg']));
$msg = replace($msg);
$date = date('Y.m.d - H:i:s');
$ip = $_SERVER['REMOTE_ADDR'];
//Формируем строку для записи
$str = $email . '|' . $login . '|' . $date . '|' . $msg . '|ip: ' . $ip . "\n";
//Сохраняем имя и email для автозаполнения полей
$_SESSION['log'] = array($login, $email);
//Формируем массив с ошибками
if (empty($login)) $_SESSION['err'][0] = 'Введите имя!';
if (!empty($email)){
if (preg_match('/[0-9a-z_\.\-]+@[0-9a-z_\.\-]+\.[a-z]{2,4}/i', $email) == false){
$_SESSION['err'][1] = 'Некорректный E-Mail!';
}
}
if (empty($msg)) $_SESSION['err'][2] = 'Введите сообщение!';
//Если ошибок нет,записываем строку в конец файла
if (!empty($login) && !empty($msg) && empty($_SESSION['err'][1])){
if (!isset($_SESSION['time']) || ($timeoff = time() - $_SESSION['time']) > 9){
$fp = fopen($data, 'r');
while (!feof($fp)){
$str1 = fgets($fp, 4096);
$arr = explode('|', $str1);
if ($arr[3] == $msg){
$_SESSION['err'][2] = 'Такое сообщение уже есть в базе!';
break;
}
}
fclose($fp);
if (empty($_SESSION['err'][2])){
unset($_SESSION['time']);
file_put_contents($data, $str, FILE_APPEND);
$_SESSION['time'] = time();
}
} else {
$_SESSION['err'][2] = 'Подождите ' . ($timeoff - 10) . '- сек.';
} //End антифлуд */
}
}
header('Location: index.php');
?>