Ответ: разберите следующий код
<?php
$selectValues = Array(
0 => '[Выберите что-нибудь]',
1 => 'Раз',
2 => 'Два',
3 => 'Три',
15 => 'Пятнадцать',
);
if ((isSet($_POST['add'])) && (is_array($_POST['add']))) {
$add = $_POST['add'];
$errorMessages = Array();
$add['name'] = isSet($add['name']) ? trim($add['name']) : '';
if (strLen($add['name']) == 0) {
$errorMessages[] = 'Вы не ввели имя';
}
$add['email'] = isSet($add['email']) ? trim($add['email']) : '';
if (strLen($add['email']) == 0) {
$errorMessages[] = 'Вы не ввели e-mail';
} elseif (!preg_match('/^[^\[email protected]][email protected][^\[email protected]]+$/', $add['email'])) {
$errorMessages[] = 'e-mail имеет неверный формат';
$add['email'] = '';
}
$add['ta'] = isSet($add['ta']) ? $add['ta'] : '';
if (strLen($add['ta']) > 1000) {
$errorMessages[] = 'Что-то вы слишком много понаписали';
$add['ta'] = '';
}
$add['select'] = isSet($add['select']) ? intVal($add['select']) : 0;
if (!isSet($selectValues[$add['select']])) {
$add['select'] = 0;
}
if ($add['select'] == 0) {
$errorMessages[] = 'Вы ничего не выбрали из селекта';
}
$add['enable'] = isSet($add['enable']);
$add['site'] = isSet($add['site']) ? trim($add['site']) : '';
if (sizeOf($errorMessages) == 0) {
/* Выполнение нужных действий с формой */
header('Location: http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']);
exit();
}
} else {
$add = Array(
'name' => '',
'email' => '',
'ta' => '',
'select' => 0,
'enable' => false,
'site' => 'http://',
);
}
?>
<html>
<head>
<title>Отправка формы</title>
<meta http-equiv="content-type" content="text/html; charset=windows-1251" />
<style type="text/css">
ul.error {
width: 500px;
border: 2px solid #990000;
background-color: #ffbbbb;
padding-left: 20px;
}
</style>
</head>
<body>
<h1>Отправка формы</h1>
<?php
if (isSet($errorMessages)) {
print '<ul class="error">';
foreach ($errorMessages as $message) {
print '<li>'.$message.'</li>';
}
print "</ul>\r\n";
}
?>
<form method="post">
<table border="0">
<tr>
<td>Ваше имя*:</td>
<td><input type="text" name="add[name]" value="<?php print htmlSpecialChars($add['name']); ?>" style="width:500px" /></td>
</tr>
<tr>
<td>E-mail*:</td>
<td><input type="text" name="add[email]" value="<?php print htmlSpecialChars($add['email']); ?>" style="width:500px" /></td>
</tr>
<tr valign="top">
<td>Необязательная писанина:</td>
<td><textarea name="add[ta]" rows="5" style="width:500px"><?php print htmlSpecialChars($add['ta']); ?></textarea></td>
</tr>
<tr>
<td>Выберите что-нибудь*:</td>
<td>
<select name="add[select]">
<?php
foreach ($selectValues as $value => $text) {
print '<option value="'.$value.'"'.(($value == $add['select']) ? ' selected="selected"' : '').'>'.$text."</option>\r\n";
}
?>
</select>
</td>
</tr>
<tr>
<td>Вкл/выкл:</td>
<td><input type="checkbox" name="add[enable]" value="1"<?php if ($add['enable']) print ' checked="checked"'; ?> /></td>
</tr>
<tr>
<td>Сайт:</td>
<td><input type="text" name="add[site]" value="<?php print htmlSpecialChars($add['site']); ?>" style="width:500px" /></td>
</tr>
<tr>
<td> </td>
<td><input type="submit" value="Отправить данные" /></td>
</tr>
</table>
</form>
<p>* — поля обязательны для заполнения.</p>
</body>
</html>