-5

注册后在为我的网站创建 verify.php / confirm.php 时需要帮助。电子邮件已通过确认链接发送到用户的电子邮件。我需要链接像这样工作:

单击链接时,用户将被定向到我们的站点,并会回显一条简单的消息并更新我们数据库中的某个列,该列将声明该用户已通过验证,而不是未验证用户。

提前致谢!

4

1 回答 1

1

我会这样做:

  1. 有一个用户表,其中至少包含以下列:用户名 (varchar)、vrified (bool) 和 token(varchar)。
  2. 当用户注册时,已验证的列将为 0(未验证)并生成一个随机令牌并将其与您请求的所有其他信息一起插入。我不会继续说明如何做到这一点,因为互联网上有很多关于如何生成随机令牌的教程。
  3. 完成将新用户插入数据库后,您需要发送带有确认链接的电子邮件,此链接可能包含用户的电子邮件和令牌。示例:www.mysite.com/verify.php?email=USERS_EMAIL&token=GENERATED_TOKEN
  4. 发送电子邮件后,verify.php您需要检查用户是否存在于数据库中并更新该用户。

示例查询:

<?php
    $checkUserExists = "SELECT COUNT(username) FROM users WHERE email = USERS_EMAIL"; //This should return a 1 if the user exists.

    $updateUser = "UPDATE users SET verified = 1 WHERE email = USERS_EMAIL AND token = GENERATED_TOKEN"; //Update the user if he exists.
?>
  1. 如果用户不存在或令牌不正确,您可以发送错误消息。否则表明用户已正确更新。

希望这对您有所帮助。请编写您自己的代码或发布您尝试过的代码,正如评论中所说,我们非常愿意提供帮助,但我们不会完成您必须做的所有工作。

于 2015-08-25T02:27:18.047 回答