Проверка получения данных

Подключение к базе данных

Получение номера строки (обращения)

 

Итак, файл обработчика создан, в него уже внесены первые строки с информацией и защитой от несанкционированного доступа. Теперь можно перейти непосредственно к обработке полученного запроса.

 

Проверка получения данных

Прежде всего нужно убедиться, получены ли данные; это выполняет код в строке 13:

   11     // ПРОВЕРКА ПОЛУЧЕНИЯ ДАННЫХ
   12     // Если данные не были переданы, то выдача сообщения и выход
   13     if (empty($_POST['mess_text'])) {
   14          include(JPATH_COMPONENT .'/err/err_text.php');
   15          exit;
   16         }
   17     else // если данные получены, то:
   18        {

Смысл проверки прост: выбирается одна из ключевых переменных и проверяется наличие в ней значения. В указанном случае (строка 13) проверяется наличие текста в текстовом поле при помощи функции empty. Эта функция возвращает FALSE, если указанная в скобках переменная существует и содержит какое-либо значение; если значения нет - возвращается TRUE.

Соответственно, если в переменной $_POST['mess_text'] ничего нет или такой переменной вообще не существует в массиве, то будет выдано предупреждение (строка 14), а выполнение скрипта закончено (строка 15). Если же в переменной содержится какой-либо текст, продолжается выполнение программы (строка 17).

 Любую информацию об ошибках лучше выводить не при помощи функции echo, а запуском файла, как это сделано в строке 14. Дело в том, что в первом случае текст будет выведен на пустом чистом экране, а во втором - на странице сайта. Файл вывода ошибки может выводить не только текст, а любое изображение, это уже дело фантазии разработчика$ как образец можете посмотреть файл по адресу:

OSPanel\OpenServer\domains\WDS\templates\wds_template_v1/error.php

 

Подключение к базе данных

   19     // ПОДКЛЮЧЕНИЕ К БАЗЕ ДАННЫХ И ПРОВЕРКА СОЕДИНЕНИЯ
   20     $db = JFactory::getDBO();

   21     if (!$db->connected()) {
   22          include(JPATH_COMPONENT .'/err/err_db.php'); 
   23          exit;
   24     }

Строка 20 выполняет соединение с базой данных. Эта тема будет подробно рассмотрена позже, в главе 18.

Строка 21 проверяет, установлено ли соединение. Если $db->connected() вернёт TRUE (соединение есть), то благодаря ! значение будет изменено на противоположное и условие if выполнено не будет; если же $db->connected() вернёт FALSE (соединения нет), то при изменении значения на противоположное условие if будет выполнено, на экран будет выведено сообщение (строка 22), а выполнение кода прекращено (строка 23).

 

Получение номера строки (обращения)

   25     // ПОЛУЧЕНИЕ НОМЕРА СТРОКИ (ОБРАЩЕНИЯ)
   26        $db->setQuery("SELECT MAX(id) FROM #__feedback_form");
   27        $message_number = $db->LoadRow()
   28        if ($message_number == NULL) {
   29             $message_numbe= 1;
   30        }
   31        else {
   32             ++$message_number;
   33        }
   34        $num_rec_control = $message_number;

Строка 26 создаёт запрос к базе данных (работе с базами данных будет подробно рассмотрена позже, в главе 18).

В строке 27 переменной $message_number присваивается полученное в запросе значение.

Если полученное значение NULL (строка 28), то переменной присваивается значение 1 (строка 29); если значение не NULL, то значение переменной $message_number увеличивается на единицу (строка 32).

В строке 34 переменной $num_rec_control присваивается значение переменной $message_number.

-------

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

 

Добавлять комментарии и ответы могут только пользователи, прошедшие регистрацию!
Зарегистрируйтесь и напишите своё мнение или ответ!