在PHP开发中,创建用户注册功能,确保用户注册成功后自动向邮箱发送激活邮件,邮件中包含激活链接,用户点击后即可激活账户。
首先,启动编辑器,新建一个HTML文件用于编写表单代码。
PHP实现用户注册后通过邮箱验证激活账户功能
按钮样式设为内边距上下素、左右素,字体大小素,采用微软雅黑字体;背景色为品红色(ff,文字颜色为纯白色(fff),边框完全去除,呈现简洁醒目的视觉效果,适用于网页交互界面中的主要操作按钮。
用户名不能为空,请输入后重试。
}
密码不能为空,请输入密码!
}
邮箱地址不能为空,请填写后重试!
}
该正则表达式用于验证邮箱地址格式,需以字母或数字开头,包含@符号和至少一个点号,各部分由字母、数字或下划线组成。
邮箱格式不正确,请重新输入!
}
}
请输入您的用户名:
请输入密码:
电子邮箱:
提交注册

第二步:创建名为user的数据库,并在其中建立一张用户信息表。
用户名,长度不超过30个字符,且为必填项。
密码字段,长度32位,不允许为空。
邮箱字段,类型为长度不超过30的字符串,且不能为空。
token字段为长度50的非空字符串,用于存储用户账户激活所需的验证码。
token_exptime:整型,非空,表示激活码的有效期(单位:秒)。
状态字段,取值为0或1:0表示未激活,1表示已激活,不允许为空,默认值为0。
regtime字段为10位整型,非空,用于存储用户注册时间戳。

第三步:创建 connect.php 文件,用于配置数据库连接及其他相关参数。
数据库主机地址设置为本地服务器。
数据库用户名设置为root。
数据库密码设置为123456。
数据库名称设置为user。
将系统时区设置为亚洲/上海,即中国标准时间。
使用指定的数据库主机、用户名和密码建立MySQL数据库连接。
选择指定数据库进行操作。
执行 SQL 语句SET NAMES UTF8,用于设置数据库连接的字符编码为 UTF-8。
设置网页内容类型为HTML,并指定字符编码为UTF-8,确保中文等多语言字符正常显示。
设置默认时区为北京时间(东八区)。

第四步:创建register.php文件,接收并处理用户数据,存储于数据库,发送确认邮件。
检查用户名是否已存在
用户名已被占用,请尝试其他名称。系统将自动返回上一页,以便重新填写注册信息。
}
生成激活识别码:将用户名、密码与注册时间拼接后进行MD5哈希运算。
令牌有效期设为24小时,即当前时间加上86400秒。
若数据库插入成功,则立即发送邮件通知。
SMTP邮件服务器地址设置为smtp.qq.com。
SMTP服务器端口设置为25。
SMTP服务器所使用的用户邮箱地址为:1223188688@qq.com。
SMTP服务器登录账号为:1223188688@qq.com。
SMTP服务器的用户密码为:kzytvgyfgwgqhdah。
创建SMTP对象时,传入true表示启用身份验证,传入false则不启用身份验证。
邮件格式设为HTML,支持网页内容;若需纯文本,则改为text。
收件人电子邮箱地址为:$email
百度经验账号激活邮件
发送邮件方法
第一个参数为收件人电子邮箱
第二个参数为发件人邮箱地址
第三个参数为主题或标题
第四个参数为邮件的主题或标题。
第四个参数指定邮件内容,支持纯文本或HTML格式。
祝贺您成功注册!立即登录您的邮箱,完成账户激活。页面将自动跳转回上一页,请耐心等待。
注册操作未能成功
}
}
第五步:创建active.php文件,用于处理用户账号激活功能。
您的账户激活链接已失效,请重新登录并发送激活邮件。
恭喜您,账户已成功激活!
}
}
`smtp.class.php` 文件的具体代码如下:
SMTP端口号变量,用于配置邮件服务器通信端口。
服务器主机名变量
中继服务器的主机地址变量
验证对象变量
服务器用户名变量
服务器密码变量
构造方法,用于创建和初始化对象。
{
#
#
}
{
邮件发送类型为HTML格式。
}
}
邮件发件人信息应包含姓名等更多友好的显示内容,以提升收件人的识别度与信任感。
去除注释后的抄送地址字符串按逗号分割,与原有收件人数组合并,实现地址列表的统一处理。
}
}
}
}
}
}
{
}
}
}
}
#
}
}
}
}
}
}
}
{
}
}
{
}
;
}
{
}
}
}
}
{
}
{
}
{
}
}
{
}
}
{
}
{
}
}
}
{
}
}
{
}
{
}
}
{
}
}
}
最终效果所示



























