Здравия, коллеги! Помогите разобраться и дайте идею как решить эту задачу. Создал форму регистрации, подключил базу через PDO RedeanPHP( MySQL ), в модуле формы формируется и отправляется на зарегистрированный email письмо со ссылкой для подтверждения. Всё работает без проблем. Проблема возникла после создания файла подтверждения(email_verification.php), который должен запускаться через ссылку, указанную в письме. Проблема в том, что каким-то образом, код файла email_verification.php выполняется независимо от того, обращались ли к этому файлу активации или нет. То есть, в значение поля данных пользователя (statusactivation) записывается статус подтверждения: 1, что email уже подтверждён. Если закомментировать оператор изменения статуса подтверждения, то в записи пользователя в базе данных сохраняется изначальное значение: 0. Код активационного файла (email_verification.php): PHP: <?php require "rb.php"; //Подключение модуля RedBeanPHP для работы с базами R::setup( 'mysql:host=localhost;dbname=mydatabase','user', 'password' ); //Подключение базы данных for both mysql or mariaDB if (!empty($_GET['code']) && isset($_GET['code'])) { //Проверка на наличие активационного кода в адресной строке $code = $_GET['code']; //активационный код, переданный через адресную строку браузера. $user = R::findOne('users', 'codeactivation = ?', [$code]); //Поиск записи в базе с совпадающим активационным кодом из письма подтверждения и из списка записей базы данных if ($user) { //Пользователь, у которого совпал активационный код в базе и письме. Если найден. switch ($user->statusactivation) { //Выбор в зависимости от статуса активации case (0): // статус email - не подтверждён $user->statusactivation = 1; // присваиваем полю "statusactivation" значение 1 - "подтверждён" // В базу данных записывается именно значение переменной из строки 11. Даже если этот файл вообще не запускался на выполнение! // Если я закомментирую строку 11 или вообще удалю этот файл из проекта, // то в базе будет находиться статус активации, заданный при регистрации пользователя: statusactivation = 0, R::store($user); // Сохраняем изменённую запись $msg = "Ваша учётная запись активирована"; break; case (1): // статус email - уже подтверждён $msg = "Ваша учётная запись уже подтверждена и не нуждается в дополнительной активации"; break; default: $msg = "Сбой в значении статуса подтверждения email пользователя."; } } else { $msg = "Неправильный код активации или такой пользователь не существует."; } } echo $msg; ?> фрагмент формы регистрации: PHP: if (empty($errors)) {//ошибок нет, теперь сохраняю результат регистрации в базу данных $user = R::dispense('users'); //Открываю таблицу базы данных для записи $user->login = $data['login']; $user->email = $data['email']; $user->codeactivation = password_hash($data['email'] . time(), PASSWORD_DEFAULT); //Формирование кода активации $stringactivecode = $user->codeactivation; $user->statusactivation = 0; // Ячейка, хранящая статус активации $userstatus = $user->statusactivation; $user->password = password_hash($data['password'], PASSWORD_DEFAULT); $id = R::store($user); //Сохраняю пользователя в базе echo '<p style="color:green;">Вы успешно зарегистрированы!<br/> Вам необходимо подтвердить свой email. <br/> На ваш email отправлено письмо с инструкцией по подверждению вашего email<br/> Можете перейти на <a href="/">главную</a> страницу.</p>'; //Формирую сообщение на почту о необходимости подтвердить свой email. if ((isset($userstatus)) && ($userstatus === 0)) { // сообщение пользователю о подтверждении email $message = "<html lang='ru'></body><div><div>Здравствуйте, уважаемый посетитель(ница) нашего сайта, </br> Вы успешно зарегистрированы. </br>Для активации вашей учётной записи Вам нужно подтвердить адрес своей электронной почты. </br> Кликните на следующую ссылку: </div>"; $link = $_SERVER['HTTP_HOST'] . '/verify/email_verification.php?code=' . $stringactivecode; //Формирую ссылку на файл активации $message .= "<div><a href=$link>Кликните здесь</a></div> </body></html>"; }