У меня есть 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
то оно действительно.