<?php /* *ЗАПИСЬ В ФАЙл данных из формы *автор: nc_soft *10.11.07 */ //переменная ошибок $error=array(); //обработчик формы if (!empty($_POST)) { //проверка параметра //функция str_replace() необходима чтобы вырезать переводы строк ( \n ) $var=str_replace("\n",'',trim($_POST['var'])); if (empty($var)) $error['empty']='не введен параметр'; //если все нормально пишем в файл if (empty($error)) { //открываем $f=fopen('db.txt','a+'); //блокируем flock($f,2); //запись с переводом строки fwrite($f,$var."\n"); //закрытие fclose($f); /*переадресация , чтобы сбросить пост, это нужно чтобы при нажатии кнопки обновить данные не добавились вновь*/ header('Location: '.$_SERVER['SCRIPT_NAME'].'?ok=1'); die(); } } //если есть ошибки выводим if (!empty($error)) echo '<p>'.implode('<br />',$error).'</p>'; if (isset($_GET['ok'])) echo '<p>данные записаны</p>'; //сама форма ?> <form action="<?=$_SERVER['SCRIPT_NAME'];?>" method="post"> <p> введите параметр:<br /> <input name="var" value="<?=isset($_POST['var']) ? htmlspecialchars(stripslashes(trim($_POST['var']))) : '';?>" /><br /> <input type="submit" value="отправить" /> </p> </form> <?php /* Примечания: Для сбора ошибок используется именно массив, потому что удобно впоследствии выводить их через <br /> или списком, в ключе ммассива также можно указать причину $error['empty']='не введен параметр'; параметр value у input записан так, чтобы при ошибочном вводе получить в форме то, что ввел юзер, раздражают формы, когда пишешь, пишешь, ошибаешься в одном поле и все приходится вводить заново. */ ?>