.
Пишем EasyCMS. Урок 24. Контроль входных данных
Автор megabax   
10.07.2025 г.
Структура программы на примере простейшей программы

Пишем EasyCMS. Урок 24. Контроль входных данных

Что бы смотреть урок полностью, подпишитесь на платный раздел.

В платном разделе статья находиться здесь.


Продолжим писать систему управления тестами. Сделаем регистрацию. У нас уже предусмотрен для этого экшен register, см. метод show_right класса ETestsCore. По нему вылазит некая форма регистрации:

Пишем EasyCMS. Урок 24. Контроль входных данных

И на этом действие экшена заканчивается. Для продолжения нам надо написать реакцию на экшен submitreg, который привязан к кнопке "Зарегистрировать". Это раз. Второе, вы, наверное, обратили внимание на странные надписи типа "#login" и так далее. Это у нас шаблон, в случае если пользователь неправильно заполнит данные, то ему откроется эта форма еще раз, а введенные данные сохранятся на этой форме. То есть, странные надписи будут замещена введенными данными. А сейчас они должны быть пустыми. И они будут пустыми, когда мы напишем алгоритм контроля вводимых данных. собственно, нам даже писать то его не надо будет, так как у нас в уроке Секреты PHP. Урок 2. Авторизация пользователя уже есть механизм авторизации и регистрации, нам надо будет только взять из исходников этого урока класс EP_Users и прикрутить его к нашей программе. Этот класс находиться в файле users.php, так что этот файл нам надо скопировать, а уже затем заинклюдить  в файле ETestsCore.php:

<?php

    include_once("EASYCMSVisual.php");

    include_once("EASYCMSDB.php");

    include_once("elib.php");

    include_once("users.php");

...

...

 

Теперь добавим пару полей к классу ETestsCore:

    class ETestsCore extends ECMS_Web_Engine {

        public $isAutorized;

        public $lastError;

        public $isError;

        public $action;

        public $db;

        public $users;     

...

...

 

 

 

И вносим изменение в метод Validate():

 

        function Validate($mysqli,$arr) {

            if(!$this->ValidateFilling($mysqli,$arr)) return false;

            if(!$this->ValidateLogin($mysqli,$arr)) return false;

            if(!$this->ValidateEmail($mysqli,$arr)) return false;

            if(!$this->ValidateConfirmPassword($mysqli,$arr)) return false;

            return true;

        }

 

Наконец, класс ECMS_Database ...

 

...

...

 

Теперь если поля ввода заполнены неверно, то программа сообщит об этом:

 

Пишем EasyCMS. Урок 24. Контроль входных данных

 

 

Последнее обновление ( 10.07.2025 г. )