EMINEM
Без ID (+/-)
$view = '<div class="phdr"><b>Добавляем раздел</b></div>';
if (isset($_POST['submit'])) {
// Объявить массив с ошибками
$errors = [
'name' => 'Введите название!',
'type' => 'Укажите тип!',
'desc' => 'Введите описание!',
];
// Отфильтровать данные, и ограничить к-во символов
$data = array_map(function ($i) {
return mb_substr(functions::checkin($i), 0, 300);
}, $_POST);
// Проверить заполненность полей
$keys = array_filter($data, function ($i) use (&$data) {
return (empty($i) ? key($data) : false);
});
// Получить текст сообщений об ошибках
array_map(function ($i) use (&$errMsg, &$errors, &$keys) {
$errMsg[] = $errors[key($keys)];
next($keys);
}, $keys);
// Если ошибок нет, записать в БД
if (empty($errMsg)) {
foreach ($data as $varName => $value) {
$$varName = $value;
}
mysql_query("
INSERT INTO `pesy_razd` SET
`name` = '". mysql_real_escape_string($name) ."',
`type` = '". mysql_real_escape_string($type) ."',
`description` = '". mysql_real_escape_string($desc) ."'
");
// и выполнить редирект на index.php
header('Refresh:2; url=index.php');
$view .= '<div class="gmenu"><b>Данные успешно сохранены!</b>'.
'<br /> ... перенаправление ...</div>';
} else {
// Иначе, отобразить ошибки
$view .= functions::display_error($errMsg,
'<a href="index.php">Назад</a>');
}
} else {
$view .= '
<form action="" method="post">
Название <small>(300 симв.)</small>:
<br /><input name="name" type="text" />
<br />Тип <small>(300 симв.)</small>:
<br /><input name="type" type="text" />
<br />Описание <small>(300 симв.)</small>:
<br /><input name="desc" type="text" />
<br /><input type="submit" name="submit" value="Добавить" />
</form>
';
}
echo $view;