thinkphp mysql 密码加密_php+jQuery+Mysql找回密码----ThinkPHP

本文分享了使用ThinkPHP实现邮箱找回密码的功能,包括验证用户邮箱、生成验证链接、发送邮件以及重置密码的步骤。通过jQuery进行前端验证,利用Ajax与后台交互,通过MD5加密生成验证码,确保安全性。
摘要由CSDN通过智能技术生成

最近用ThinkPHP做了一个邮箱找回密码功能,在遭遇了N个bug之后终于做成了,下面分享一下邮箱找回密码功能的实现:

邮箱找回密码实际上就是在用户通过验证之后重置密码的过程,一般开发者会在验证用户信息后通过程序生成一个新密码

或者生成一个特定的链接并发送邮件到用户邮箱,用户从邮箱链接到网站的重置密码模块重新设置新密码。

一般步骤是:

1.表单输入注册时的邮箱;

2.验证用户邮箱是否正确,如果用户邮箱不存在网站的用户表中,则提示用户邮箱未注册;

3.发送邮件,如果用户邮箱确实存在用户表中,则组合用于验证用户信息的字符串,并构造URL发送到用户邮箱中;

4.用户登录邮箱收取邮件,点击URL链接到网站验证程序;

5.网站程序通过用户请求的字符串查询本地用户表,比对用户信息是否正确;

6.如果正确则转到重置密码页面重新设置新密码,反之则提示用户验证无效。

首先肯定要先写一个找回密码的视图页面啦,示例代码如下:

28258e1581336e7070a59b60e711b301.png

视图界面显示如图:

9609ab9aa5f0dd5c645b65f00a5641d7.png

这个弄完之后,接下来要对用户输入的邮箱进行判断验证(因为找回密码是通过给用户发送邮件来实现重置密码的,所以用户在注册时邮箱是必填的)

jQuery邮箱验证,代码:

f5a73d801cb690c9455581fd2452d399.png

以上使用的jQuery代码很方便简洁的完成了前端交互操作,如果您有一定的jQuery基础,那上面的代码一目了然,不多解释。

当然别忘了在页面中加载jQuery库文件,如果写完验证规则却发现功能没实现,那80%是jquery或者其他文件加载路径错了导致没加载必要的文件(这是个深刻的教训,我刚开始就大意了)

然后通过Ajax把用户输入的邮箱发送到控制器进行验证Email是否存在用户表中,如果有,则读取用户信息,将用户id、用户名和密码进行md5加密生成一个特别的字符串作为找回密码的验证码,然后构造URL。

同时我们为了控制URL链接的时效性,将记录用户提交找回密码动作的操作时间,最后调用邮件发送类发送邮件到用户邮箱。

代码如图:

6d7b57034d50a5c610142050232dc668.png

发送邮箱函数如下:

c2d7d066edfb576261a54485859e7f98.png

里面有一个smtp类,这里面封装的函数比较多,我就不截图了,好了,这个时候你的邮箱将会收到一封关于密码找回的邮件,邮件内容中有一个URL链接,点击该链接到自己写的指定页面来验证邮箱。

5fd62a7af43aa6cd2476d6269024a320.png

13d794c6dcdd95af05400fe7ea05bc0c.png

邮箱验证到这了算是完成了,这个邮箱验证是我参考链接http://www.helloweba.com/view-blog-229.html做的,确实很不错,虽然有些地方总是出bug不过还好,如果对这种找回密码感兴趣的可以参考一下,想要源代码的可以直接去原文章,都差不多的。原文章里面有一个smtp包提供,我也是在那里下载的。 (完)

php+jQuery+Mysql找回密码----ThinkPHP

标签:ima   ref   完成   targe   有一个   jquer   动作   程序   bsp

本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉

本文系统来源:http://www.cnblogs.com/luokakale/p/7244232.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值