бррр, юные извращенцы ...
<?
# Функции:
#--------------------#
# проверка входных данных
function check_in($var){
return mysql_escape_string(trim(htmlentities($var, ENT_QUOTES, 'UTF-8')));
}
# точный strlen()
function my_mb_strlen($str){
if (function_exists('mb_strlen')) {return mb_strlen($str, 'utf-8');} elseif(function_exists('iconv_strlen')) {return iconv_strlen($str, 'utf-8');} else {return strlen($str);}
}
# проверка длины строки (от $min символов до $max)
function check_strlen($string,$min,$max){
$a = filter_var(my_mb_strlen($string), FILTER_VALIDATE_INT, array('options'=>array('min_range'=>$min,'max_range'=>$max)));
if($a !== false){return true;} else {return false;}
}
#--------------------#
$fname = 'archive.dat';
$save = (isset($_GET['save'])) ? true : false;
if($save){
if(isset($_POST['nick'],$_POST['message'])){
$_POST['nick'] = check_in($_POST['nick']);
$_POST['message'] = check_in($_POST['message']);
if(check_strlen($string,$min,$max)){
$file_str = file_get_contents($fname);
$write_str = "\r\n".$_POST['nick'].'|'.$_POST['message'];
$write = $file_str.$write_str;
if(file_put_contents($fname,$write)){echo 'Сообщение добавлено!';} else {echo 'Ошибка записи!';}
} else {echo 'Неверная длина данных!';}
} else {echo 'Неверные данные!';}
} else {
echo '
<form action="?save" method="post">
Ник:<br/><input name="nick" type="text" /><br/>
Сообщение:<br/><textarea name="message" cols="20" rows="10"></textarea><br/>
<input type="submit" value="Добавить" />
</form>
';
}
?>
должно работать, не проверял
первая строчка в файле пустой будет
Изменил: KOZZ (20.03.2011 / 15:08)