我被一个人要求创建一个PHP代码,这是一个更大的ERP软件开发项目的一部分,以便他可以测试我的技能。一旦用户通过表单注册,通过输入姓名,出生日期,电子邮件(我已经通过html完成),有关简单用户身份验证的代码。
html表单的action属性是一个php文件,它由php代码组成,获取表单中的已发布输入,生成验证链接,并通过他/发送给用户她/她已经发过的电子邮件。
我有两个基本问题或疑问:
我认为PHP中没有任何事件驱动编程的概念。在这种情况下,PHP如何处理该点击并给出“构象成功消息”?是否需要MySQL数据库,还是有另一种更简单的方法吗?
答案 0 :(得分:5)
创建用户时,您还将为该用户生成随机字符串。这是他们的授权码。您将使用用户的数据将其存储在数据库中。
然后你要制作你的授权页面(例如,authorize.php)。它需要$ _GET参数'code',或者你想要的任何其他参数(例如,authorize.php?code=theHashYouCreated
)。此页面的代码如下所示:
if(!empty($_GET['code']))
{
/*
* Get the data from the database by the provided code.
* If a result is returned, then remove the authorization
* code from the user's record. If no user is found, then
* return an error.
*/
}
else
{
//No code was provided, so we should error.
}
现在,当用户尝试登录时,您还想检查他们的授权代码是否已在数据库中设置。如果是,那么他们还没有验证他们的电子邮件地址。如果不是,那么他们已经验证了它。
答案 1 :(得分:0)
这是一个很好的教程,可以帮助您创建确认电子邮件:
http://www.learnphponline.com/scripts/email-activation-for-php-forms
它涉及创建一个随机生成的激活密钥,该密钥最初将存储在数据库中。密钥应以链接中的GET参数的形式通过电子邮件发送给用户。
单击链接后,将使用数据库中的值检查提交的GET参数。