в ключе ммассива также можно указать причину $error[\'empty\']=\'не введен параметр\';
параметр value у input записан так, чтобы при ошибочном вводе получить в форме то, что ввел юзер, раздражают формы,
когда пишешь, пишешь, ошибаешься в одном поле и все приходится вводить заново.
<?php
/*
*ЗАПИСЬ В MYSQL данных из формы
*/
//переменная ошибок
$error=array();
//обработчик формы
if (!empty($_POST))
{
//проверка параметра (удаляем лишние слэши и экранируем всё для записи в базу данных)
$var=mysql_escape_string(stripslashes(trim($_POST['var'])));
if (empty($var))
$error['empty']='не введен параметр';
//если все нормально записываем
if (empty($error))
{
mysql_query("INSERT INTO tablica SET var='$var' ");
/*переадресация , чтобы сбросить пост, это нужно чтобы при нажатии кнопки обновить
данные не добавились вновь*/
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 записан так, чтобы при ошибочном вводе получить в форме то, что ввел юзер, раздражают формы,
когда пишешь, пишешь, ошибаешься в одном поле и все приходится вводить заново.
*/
?>