Документация

Начало работы

Модели (models)

Шаблоны (views) и маршрутизация (routes)

Формы

SQL запросы

Сессии и безопасность

Плагины

Работа с сессиями

Поддержка стандартных сессий в PHP

Для того, чтобы mV стартовал сессию на frontend, необходимо включить опцию в файле "config/setup.php". В таком случае будет запускаться стандартная PHP сессия, и в глобальном массиве "$_SESSION" будут доступны данные сессии.

'SessionSupport' => true

Поля с проверочным кодом CAPTCHA

При использовании в формахполя типа "char" с параметром "captcha" рядом с текстовым полем добавляется изображение с символами, которые надо ввести в текстовое поле. При этом проверка на правильность ввода происходит на сервере при проверке формы.

Во время генерации изображения с символами, в сессию должны быть помещены символы для будущей проверки.

//Создаем форму из модели для регистрации клиента
$form = new Form("Clients");

//Добавляем поле для проверочного кода
$form -> addField(array("Код безопасности", "char", "captcha", array("captcha" => "extra/captcha-simple/")));
$form -> addRule("captcha", "required", true, "Обязательно для заполнения");

В файле "extra/captcha-simple/index.php" создается изображение и помещаются в сессию изображенные символы.

 <?
session_start();

//Генерация строки символов и изображения
...

imagegif($img); //Вывод изображения

$_SESSION["captcha"] = $string; //Сохранение кода для проверки формы
?> 

При проверке заполненной формы берутся данные из сессии для проверочного кода.

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

    if($form -> getValue("captcha"))
        if(!isset($_SESSION["captcha"]) || $_SESSION["captcha"] != $form -> getValue("captcha"))
          $form -> addError("Неверно введен код безопасности", "captcha");

    if(!$form -> hasErrors())
    {
        ...
    }
}

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

Загрузка из csv файлов

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

AJAX