Чтобы не обнаруживать код активации:
if (!isset($_GET['confirm']) || empty($_GET['confirm'])) {
die('Error: an activation code is required.');
}
Чтобы определить, что пользователь уже активирован, выполните поиск в базе данных, чтобы активировать идентификатор пользователя ($uid
), затем проверьте базу данных, чтобы узнать, активирован ли уже пользователь. Если вы хотите избежать дополнительного поиска и не возражаете запустить дополнительное обновление (и вы не обновляете что-то вроде времени активации), вы можете запустить обновление, а затем проверить, сколько строк было затронуто ($stmt->rowCount()
в PDO ). Если это ноль, но нет ошибки базы данных, просто пользователь уже активирован, и вы можете выдать ошибку.
Код активации неверен, если вы получите пустой набор (нулевые строки) из базы данных при поиске кода подтверждения.