PHP用户注册邮箱验证与激活帐号的示例代码
本文导语: 很多网站注册会员时,注册完成后,系统会自动向用户的邮箱发送一封邮件,这封邮件的内容就是一个URL链接,用户需要点击打开这个链接才能激活之前在该网站注册的帐号。 激活成功后才能正常使用会员功能。 本文将结合...
很多网站注册会员时,注册完成后,系统会自动向用户的邮箱发送一封邮件,这封邮件的内容就是一个URL链接,用户需要点击打开这个链接才能激活之前在该网站注册的帐号。
激活成功后才能正常使用会员功能。
本文将结合实例,讲解如何使用PHP+Mysql完成注册帐号、发送激活邮件、验证激活帐号、处理URL链接过期的功能。
业务流程
1、用户提交注册信息。
2、写入数据库,此时帐号状态未激活。
3、将用户名密码或其他标识字符加密构造成激活识别码(你也可以叫激活码)。
4、将构造好的激活识别码组成URL发送到用户提交的邮箱。
5、用户登录邮箱并点击URL,进行激活。
6、验证激活识别码,如果正确则激活帐号。
准备数据表
用户信息表中字段Email很重要,它可以用来验证用户、找回密码、甚至对网站方来说可以用来收集用户信息进行Email营销。
一,用户信息表t_user的表结构:
`id` int(11) NOT NULL AUTO_INCREMENT,
`username` varchar(30) NOT NULL COMMENT '用户名',
`password` varchar(32) NOT NULL COMMENT '密码',
`email` varchar(30) NOT NULL COMMENT '邮箱',
`token` varchar(50) NOT NULL COMMENT '帐号激活码',
`token_exptime` int(10) NOT NULL COMMENT '激活码有效期',
`status` tinyint(1) NOT NULL DEFAULT '0' COMMENT '状态,0-未激活,1-已激活',
`regtime` int(10) NOT NULL COMMENT '注册时间',
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
二,html内容部分
在页面中放置一个注册表单,用户可以输入注册信息,包括用户名、密码和邮箱。
用户名:
密 码:
E-mail:
对于用户的输入要进行必要的前端验证,另外其实页面中还应该有个要求用户重复输入密码的输入框,一时偷懒就此略过。
三,注册页面 register.php
用户将注册信息提交到register.php进行处理。register.php需要完成写入数据和发送邮件两大功能。
首先,包含必要的两个文件,connect.php和smtp.class.php,这两个文件在外面提供的下载包里有,欢迎下载。