I need help with authorization, I wrote the registration and authorization on the site, but during authorization the request goes to the auth.php page, and it is empty, nothing happens after that

<?php //Запускаем сессию session_start(); //Добавляем файл подключения к БД require_once("dbconnect.php"); //Объявляем ячейку для добавления ошибок, которые могут возникнуть при обработке формы. $_SESSION["error_messages"] = ''; //Объявляем ячейку для добавления успешных сообщений $_SESSION["success_messages"] = ''; /* Проверяем была ли отправлена форма, то есть была ли нажата кнопка Войти. Если да, то идём дальше, если нет, то выведем пользователю сообщение об ошибке, о том, что он зашёл на эту страницу напрямую. */ if(isset($_POST["btn_submit_auth"]) && !empty($_POST["btn_submit_auth"])){ //Проверяем полученную капчу if(isset($_POST["captcha"])){ //Обрезаем пробелы с начала и с конца строки $captcha = trim($_POST["captcha"]); if(!empty($captcha)){ //Сравниваем полученное значение со значением из сессии. if(($_SESSION["rand"] != $captcha) && ($_SESSION["rand"] != "")){ // Если капча не верна, то возвращаем пользователя на страницу авторизации, и там выведем ему сообщение об ошибке что он ввёл неправильную капчу. $error_message = "<p class='mesage_error'><strong>Ошибка!</strong> Вы ввели неправильную капчу </p>"; // Сохраняем в сессию сообщение об ошибке. $_SESSION["error_messages"] = $error_message; //Возвращаем пользователя на страницу авторизации header("HTTP/1.1 301 Moved Permanently"); header("Location: ".$address_site."form_auth.php"); //Останавливаем скрипт exit(); } }else{ $error_message = "<p class='mesage_error'><strong>Ошибка!</strong> Поле для ввода капчи не должна быть пустой. </p>"; // Сохраняем в сессию сообщение об ошибке. $_SESSION["error_messages"] = $error_message; //Возвращаем пользователя на страницу авторизации header("HTTP/1.1 301 Moved Permanently"); header("Location: ".$address_site."form_auth.php"); //Останавливаем скрипт exit(); } //(2) Место для обработки почтового адреса if(isset($_POST["email"])){ //Обрезаем пробелы с начала и с конца строки $email = trim($_POST["email"]); if(!empty($email)){ $email = htmlspecialchars($email, ENT_QUOTES); //Проверяем формат полученного почтового адреса с помощью регулярного выражения $reg_email = "/^[a-z0-9][a-z0-9\._-]*[a-z0-9]*@([a-z0-9]+([a-z0-9-]*[a-z0-9]+)*\.)+[az]+/i"; //Если формат полученного почтового адреса не соответствует регулярному выражению if( !preg_match($reg_email, $email)){ // Сохраняем в сессию сообщение об ошибке. $_SESSION["error_messages"] .= "<p class='mesage_error' >Вы ввели неправильный email</p>"; //Возвращаем пользователя на страницу авторизации header("HTTP/1.1 301 Moved Permanently"); header("Location: ".$address_site."form_auth.php"); //Останавливаем скрипт exit(); } }else{ // Сохраняем в сессию сообщение об ошибке. $_SESSION["error_messages"] .= "<p class='mesage_error' >Поле для ввода почтового адреса(email) не должна быть пустой.</p>"; //Возвращаем пользователя на страницу регистрации header("HTTP/1.1 301 Moved Permanently"); header("Location: ".$address_site."form_register.php"); //Останавливаем скрипт exit(); } }else{ // Сохраняем в сессию сообщение об ошибке. $_SESSION["error_messages"] .= "<p class='mesage_error' >Отсутствует поле для ввода Email</p>"; //Возвращаем пользователя на страницу авторизации header("HTTP/1.1 301 Moved Permanently"); header("Location: ".$address_site."form_auth.php"); //Останавливаем скрипт exit(); } //(3) Место для обработки пароля if(isset($_POST["password"])){ //Обрезаем пробелы с начала и с конца строки $password = trim($_POST["password"]); if(!empty($password)){ $password = htmlspecialchars($password, ENT_QUOTES); //Шифруем пароль $password = md5($password."top_secret"); }else{ // Сохраняем в сессию сообщение об ошибке. $_SESSION["error_messages"] .= "<p class='mesage_error' >Укажите Ваш пароль</p>"; //Возвращаем пользователя на страницу регистрации header("HTTP/1.1 301 Moved Permanently"); header("Location: ".$address_site."form_auth.php"); //Останавливаем скрипт exit(); } }else{ // Сохраняем в сессию сообщение об ошибке. $_SESSION["error_messages"] .= "<p class='mesage_error' >Отсутствует поле для ввода пароля</p>"; //Возвращаем пользователя на страницу регистрации header("HTTP/1.1 301 Moved Permanently"); header("Location: ".$address_site."form_auth.php"); //Останавливаем скрипт exit(); } //Удаляем пользователей с таблицы users, которые не подтвердили свою почту в течении сутки //Удаляем пользователей из таблицы confirm_users, которые не подтвердили свою почту в течении сутки $query_delete_confirm_users = $mysqli->query("DELETE FROM `confirm_users` WHERE `date_registration` < ( NOW() - INTERVAL 1 DAY)"); if(!$query_delete_confirm_users){ exit("<p><strong>Ошибка!</strong> Сбой при удалении просроченного аккаунта(confirm). Код ошибки: ".$mysqli->errno."</p>"); } // (4) Место для составления запроса к БД //Запрос в БД на выборке пользователя. $result_query_select = $mysqli->query("SELECT * FROM `users` WHERE email = '".$email."' AND password = '".$password."'"); if(!$result_query_select){ // Сохраняем в сессию сообщение об ошибке. $_SESSION["error_messages"] .= "<p class='mesage_error' >Ошибка запроса на выборке пользователя из БД</p>"; //Возвращаем пользователя на страницу регистрации header("HTTP/1.1 301 Moved Permanently"); header("Location: ".$address_site."form_auth.php"); //Останавливаем скрипт exit(); }else{ //Проверяем, если в базе нет пользователя с такими данными, то выводим сообщение об ошибке if($result_query_select->num_rows == 1){ //Проверяем, подтвержден ли указанный email while(($row = $result_query_select->fetch_assoc()) !=false){ //Если email не подтверждён if($row["email_status"] === 0){ //место для добавления данных в сессию // Если введенные данные совпадают с данными из базы, то сохраняем логин и пароль в массив сессий. $_SESSION['email'] = $email; $_SESSION['password'] = $password; $_SESSION["error_messages"] .= "<p class='mesage_error' >вы вошли</p>"; //Возвращаем пользователя на главную страницу header("HTTP/1.1 301 Moved Permanently"); header("Location: ".$address_site."index.php"); //Останавливаем скрипт exit(); } } }else{ // Сохраняем в сессию сообщение об ошибке. $_SESSION["error_messages"] .= "<p class='mesage_error' >Неправильный логин и/или пароль</p>"; //Возвращаем пользователя на страницу авторизации header("HTTP/1.1 301 Moved Permanently"); header("Location: ".$address_site."form_auth.php"); //Останавливаем скрипт exit(); } } }else{ //Если капча не передана exit("<p><strong>Ошибка!</strong> Отсутствует проверочный код, то есть код капчи. Вы можете перейти на <a href=".$address_site."> главную страницу </a>.</p>"); } }else{ exit("<p><strong>Ошибка!</strong> Вы зашли на эту страницу напрямую, поэтому нет данных для обработки. Вы можете перейти на <a href=".$address_site."> главную страницу </a>.</p>"); } 

The line after which this action occurs if ($ row ["email_status"] === 0) {

  • you are not here at the practical first-year lesson, you should not write a bunch of captain of obvious comments. It is better to pay attention to the fact that some parts of the code are repeated N-th number of times. - teran
  • 10 times, to be exact. Do not you think this is ridiculous? - teran 10:26 pm
  • break the code into functions, reuse them. remove unnecessary constructions like a loop on records, although there is only one check before it. When your code is simple and clear, and 4 times shorter, then the error will be easier to find. - teran
  • You have the very first sessions, they will always be empty, since you assigned them an emptiness, without checking on the existence of the session. - And
  • @And and how can I correct the code in such a case? - user324308 10:52 pm

0