PHP-注册时邮箱验证功能的实现

现在很多网站注册都会要填写邮箱,而且需要收一封邮件激活才可以使用账户或者某些特殊功能,最近工作中有这样的需求,这里讲一下简单的实现方法:

思路分析

1. 做一个注册页面,必须有的是【邮箱】这一个输入框

2. 当表单信息填写完毕之后,发送到服务器端验证,当数据都合法之后,需要将数据成功插入到数据库(is_active=0)。然后可以获取到主键ID,然后发送邮件的时候,携带这个ID

发送内容 形如:http://local.12.com/index.php?id=122&a=checkEmail的链接地址

3. 当会员用户登录注册时候的邮箱,邮件中有一个链接地址(ID),点击跳转到页面(自己写的激活账号的代码文件地址)去激活对应ID的那个账号(把标志is_active设为1)。

4. 当用户去操作别的要权限的操作或者登陆时,就判断这个会员的is_active是否为1,如果为1 则可以操作,如果不是1 则提示用户去赶紧激活。


数据库

id 主键ID

username 用户名

pwd 密码(md5)

status 激活状态(0代表未激活 1代表激活)

email 用户注册邮箱

PHP-注册时邮箱验证功能的实现_第1张图片

login.html

测试时候的表单,超级简陋



    

注册


用户名:

密码:

确认密码:

邮箱:


提交的处理页面需要使用到发送邮件的phpmailer,   把class.phpmailer.php 和  class.smtp.php 文件放到项目中,然后需要改一下class.smtp.php

PHP-注册时邮箱验证功能的实现_第2张图片

测试时用的是新浪,服务器是smtp.sina.com 同样的设这个就可以,注意一下要开启SMTP服务,在新浪邮箱设置中更改, 其他邮箱的就自己查一下吧。


在数据成功插入数据库之后调用class.smtp.php中的方法发送邮件(记得先引入文件或者把整个函数复制到处理页面)PHP-注册时邮箱验证功能的实现_第3张图片


最后在用户点击链接的文件中做激活用户操作即可


















你可能感兴趣的:(php)