MV framework logo
  • Архитектура
  • Философия
  • Админ панель
  • Поддержка
  • Обратная связь
Документация
Скачать .zip версия 3.2.0 от 25.12.2024
  • Архитектура
  • Философия
  • Админ панель
  • Поддержка
  • Обратная связь
Начало работы
  • Установка и запуск
  • Структура папок
  • Запуск простого сайта
  • Предустановленные модели
  • SQLite начало работы
  • Системные настройки
  • Миграции
  • Отладка
Модели
  • Общие принципы моделей
  • Типы данных
    • Общие характеристики
    • Булевый bool
    • Строковый char
    • Числовые int, float, order
    • Специальные строковые url, redirect, email, phone
    • Пароль password
    • Текстовый text
    • Дата и время date, date_time
    • Файл и изображение file, image
    • Массив изображений multi_images
    • Выбор enum
    • Родитель parent
    • Многие к одному many_to_one
    • Многие ко многим many_to_many
    • Группа group
  • Настройка модели
  • Простые модели
  • Внешние ключи
  • Деревья
  • Многие ко многим
  • Группа
  • Управление записями
  • Управление простыми моделями
  • Дополнительные возможности
Шаблоны и маршрутизация
  • Общие принципы шаблонов
  • Объект класса Router
  • Объект MV
  • Создание нового шаблона
  • Вывод данных в шаблоне
  • Объект класса Record
  • Файлы и изображения
  • Дата и время
  • Редиректы и Http
  • Отправка email
  • Специальные методы
Формы
  • Создание форм
  • Настройка полей формы
  • Валидация полей формы
  • Безопасность форм
  • Работа с данными формы
  • Использование данных из моделей
  • Методы форм
SQL запросы
  • Конструктор запросов
  • Прямые запросы
  • Постраничная разбивка
  • Сортировка
  • Фильтрация
Дополнительно
  • AJAX
  • Плагины
  • Кэширование
  • Безопасность
  • Дополнения к административной панели
Документация
Начало работы
  • Установка и запуск
  • Структура папок
  • Запуск простого сайта
  • Предустановленные модели
  • SQLite начало работы
  • Системные настройки
  • Миграции
  • Отладка
Модели
  • Общие принципы моделей
  • Типы данных
  • Настройка модели
  • Простые модели
  • Внешние ключи
  • Деревья
  • Многие ко многим
  • Группа
  • Управление записями
  • Управление простыми моделями
  • Дополнительные возможности
Шаблоны и маршрутизация
  • Общие принципы шаблонов
  • Объект класса Router
  • Объект MV
  • Создание нового шаблона
  • Вывод данных в шаблоне
  • Объект класса Record
  • Файлы и изображения
  • Дата и время
  • Редиректы и Http
  • Отправка email
  • Специальные методы
Формы
  • Создание форм
  • Настройка полей формы
  • Валидация полей формы
  • Безопасность форм
  • Работа с данными формы
  • Использование данных из моделей
  • Методы форм
SQL запросы
  • Конструктор запросов
  • Прямые запросы
  • Постраничная разбивка
  • Сортировка
  • Фильтрация
Дополнительно
  • AJAX
  • Плагины
  • Кэширование
  • Безопасность
  • Дополнения к административной панели
MV tracker

Форма с загрузкой файла

Создаем файл шаблона views/view-big-form.php и вносим маршрут к шаблону в файл config/routes.php

$mvFrontendRoutes = [ ... ,

"information-form/" => "view-big-form.php"
];

Содержимое файла шаблона

$fields = [
    ["Название", "char", "name", ["min_max_length" => "3,20"]),
    ["Email", "email", "email"],
    ["Телефон", "phone", "phone"],  
    ["Цвет", "enum", "color", ["empty_value" => "Не выбран",
                                         "values_list" => ["blue" => "Синий", "red" => "Красный", 
                                                                "green" => "Зеленый", "white" => "Белый",
                                                                "black" => "Черный", "orange" => "Оранжевый"])),

    ["Категория", "enum", "place", ["empty_value" => "Не выбрана",
                                              "values_list" => ["home" => "Дома и интерьер", 
                                                                     "garden" => "Сад и огород", 
                                                                     "sport" => "Спорт и отдых"])),

    ["Количество", "int", "number", ["positive" => true, "zero_allowed" => false]),
    ["Дата", "date", "date", ["display_selects" => 1, "years" => "2010, 2025"]),
    ["Дата и время", "date_time", "date_time", ["display_selects" => 1, "years" => "2010, 2019"]),
    ["Текстовое поле", "text", "message"],
    ["Файл", "file", "file", ["files_folder" => "form-files"]),
    ["Изображение", "image", "image", ["files_folder" => "form-images"]),
    ["Получать новости", "bool", "news"]
);

$form = new Form($fields);
$form_complete = false;

$form -> setRequiredFields("*") -> setDisplayRadio("place", 3);
$form -> setDisplayTable("color", 2);
$form -> useTokenCSRF();

if(!empty($_POST))
{
    $form -> getDataFromPost() -> validate();

    if($form -> isValid())
        $form_complete = true;
}
else
    $form -> setValue("date", I18n :: getCurrentDate());

include $mv -> views_path."main-header.php";





echo $form -> displayErrors(); if($form_complete) { echo "

Результаты

\n"; echo $form -> composeMessage(); $values = $form -> getAllValues(); Debug :: pre($values); }
if(!$form_complete) echo $form -> setDisplayWithErrors() -> display();
echo $form -> displayTokenCSRF();
include $mv -> views_path."main-footer.php";

Предыдущий раздел

Список с фильтрацией

Следующий раздел

AJAX форма на jQuery
MV workshop banner
MV tracker

© 2014-2025, MV framework team

English MV tracker project Github

Поделиться