一、数据库的需求
(1)首先数据表需要两个 一个user表 一个userforgot表
user表:
userforgot表:
(2)剖析表:user表存放的就是用户的基本信息,当我们的用户忘记密码时,则用到userforgot表来辅助找回密码
实现流程:
(1)首先进行当用户点击忘记密码时,进行用户验证,看用户是否存放在添入用户名、邮箱,进行user表验证
(2)如果(1)通过,则给表userfotgot表中插入一条数据,这些数据有(自增id,user_id是user表中的id,MD5str随机字符串,当前的时间戳,默认值为0的一个status状态)
(3)发送邮件,内容是一个拼接成的连接,主要带四个参数,就是插入userfotgot的那四个参数
(4)当同一个用户进行,多次点击忘记密码,也就是给用户的邮箱中发送了多条找回密码的邮件,如果我们不进行处理,那么这些链接是不是进行任意点击一条就可以实现密码找回呢?这样是不可以的,我们要做一个最近插入userforgot表的user_id进行密码找回,而在最近这条之前的连接,点击之后是不可以进行找回的,提示网页已经过期,这里我们可以从数据库查找出status为0且user_id为XX的,获取他的最大的id值,进行与邮箱返回连接的id值进行验证,如果是最大的id则可以进行密码找回,这样就可以实现其他的连接不可找回密码的屏蔽(注意:当我们点击的连接不是id不是最大的,此时我们要对status 进行修改为1)
(5)邮箱中点击进行测试,进入指定地址进行参数的接收,后与userfotgot进行数据验证(验证的方法:经四个参数作为条件查找,如果查到内容,则说明验证通过,,此时马上修改status为1,此时可以跳转至指定的页面设置新密码,后输入新密码即可)