Как закончить ссылку активации в PHP?

У меня есть php-скрипт, который отправляет ссылку активации по электронной почте пользователям, чтобы они могли активировать свою учетную запись. Ссылка выглядит так: mysite.com/activation.phpid?id=20

Как я могу создать ссылку на истечение через 24 часа?

Я ничего не пробовал, потому что не мог найти ничего, чтобы научить меня, как это сделать. все, что я знаю, это то, что я мог бы сделать это, сохранив что-то в mysql, но как?

это будет здорово, если кто-нибудь скажет мне шаг за шагом, пожалуйста.

благодаря

Сделайте ссылку следующим образом:

 $time = time(); $hash = md5($id . $time . "somerandomsalt"); // check this again in activation.php $link = "activation.php?id=" . $id . "&hash=" . $hash . "&time=" . $time; 

Затем в activation.php вы проверяете соответствие хэша. О, и проверьте время, конечно: P

Вы можете немного запутать его, чтобы скрыть параметры id , hash и time query, но это основы.

Просто добавьте дополнительное поле в свою базу данных с датой истечения срока действия ссылки. Когда ссылка будет нажата, вы можете проверить дату, чтобы убедиться, что она не истекла.

редактировать

Я угадываю имена ваших столбцов и таблиц.

 SELECT IF (DATEDIFF(date_registered, CURRENT_TIMESTAMP) <= 0, 1, 0) AS expired FROM users WHERE id = 20 

Если expired , то 1, истек срок действия ссылки. Если оно равно 0 то оно действительно.