Я пытаюсь создать проверку электронной почты. Отправка электронной почты со ссылкой на пользователя работает. Теперь я хочу установить active = 1, когда пользователь нажимает на ссылку, которую он получил. Я проверил переменные $ email и ключ $, они получают правильную информацию из URL-адреса. Когда для активного установлено значение 1, я хочу, чтобы echo ahref в login.php. Я думаю, что в моем SQL-запросе есть что-то неправильно, может кто-нибудь помочь?Проверка электронной почты из ссылки php
<?php
if (isset($_GET['email'])) {
$email = $_GET['email'];
}
if (isset($_GET['hash'])){
$key = $_GET['hash'];
}
$query = $mysqli->query("UPDATE `users` SET active=1 WHERE `email` = '". $email ."' AND `mailcheck` ='". $key ."' ");
$result = $query->fetch_row();
if($result == 1){
echo "Your account is now active. You may now <a href="login.php">Log in</a>";
}
else {
echo "Your account could not be activated. Please recheck the link or contact the system administrator. test";
}
}
?>
Добавить сообщение об ошибках в верхней части файла (ов) сразу после открытия PHP тега , например, '
Проверьте в базе данных, действительно ли поле активно изменяется. – Phiter
Просто примечание: в вашем SQL-запросе определенно что-то * очень * неправильно, так как вы не скрываете содержимое '$ email' и' $ key' явно, а также не используете подготовленные инструкции, чтобы автоматически это сделать для вас, - таким образом провоцируя инъекции SQL. –