Работа с сессиями
Поддержка стандартных сессий в 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 файлов