Просмотр поста

.
ДоХтор

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;