Я новичок в PHP.В настоящее время я проверяю электронную почту.Мой код должен генерировать случайное число, отправлять пользователю по электронной почте и проверять его при входе пользователя.
Вот мой код:
<?php
require 'PHPMailer/PHPMailerAutoload.php';
session_start();
// initializing variables
$email = $_SESSION ['email'];
$user_code = "";
$errors = array();
// generate a four digit random number
$gen_code = strval (rand (10000, 99999));
// send code to user email
// connect to the database
$db = mysqli_connect('localhost', 'root', '', 'register');
// REGISTER USER
if (isset($_POST['email_confirm'])) {
// receive all input values from the form
$user_code = mysqli_real_escape_string($db, $_POST['code']);
// check whether both codes match
if ($user_code != $gen_code) { array_push($errors, "The codes do not match"); }
else {
// set isConfirmed == true
if (count($errors) == 0) {
$query = "UPDATE user_database SET isConfirmed = true WHERE email = '$email'";
mysqli_query($db, $query);
$_SESSION['email'] = $email;
header('location: user_details.php');
}
}
}
?>
Здесь email_confirm
- это имяМоя кнопка отправки и code
- это имя текстового поля.
Все отлично работает при первой загрузке страницы.Я получаю письмо со случайным целым числом.
Проблема начинается, когда я нажимаю кнопку подтверждения.Я получил другое письмо с другим номером, и уже введенный номер не совпадает с номером, полученным по электронной почте.
Пожалуйста, помогите