当前位置:首页 > 代码·功能 > 正文

PHP网站注册时邮件验证激活实现的一些想法

终于快要放假了,一直看别的网站注册时使用邮箱验证激活,突然想自己写一个

初步想法是先将用户数据写入数据库,建立一个数据verify来判断是否验证通过,判断错误时,返回需要邮箱验证,发送邮件,点击链接后将verify写入验证通过,判断正确时,允许正常登陆。

先拿哔哩哔哩挂机哪个东西开刀实(zuo)验(si)~

进入数据库修改user表 添加verify 现在verify内全部用户数据都为空 也就是都还没有验证邮箱地址

修改登录操作,登录成功后检查verify是否等于1

$result = mysql->getOne(select verify from user where name = 用户名变量);//执行sql操作
if($result['verify']!=1){
  header('Location:index.php?action=verify');//跳转到邮箱验证页面
  exit();
}

邮箱验证未通过,跳转至验证页面,验证页面通过登录保存的cookie读取数据库mail数据,ajax发送验证邮件

 $verify = $M->getOne("select mail,name from user where name = '".$XH->deStr($_COOKIE['name'])."' and pass = '".$XH->deStr($_COOKIE['pass'])."'");

mail函数等,发送验证邮件,我这里用的自己的发件API进行发送的

生成一个token值保存入verify内,作为验证凭证

$token = md5(time());
$mysql->query("UPDATE `user` SET `verify` = '".$token ."' WHERE `name` = '".$result['name']."';");

发送验证邮件 包含一个验证链接 携带正确的token参数

验证页面if语句判断token是否为正确的32位md5加密数据,如果是继续操作,如果找到该token对应的用户名则更新verify为1 验证通过

 if(!empty($_GET['token'])){
   if(strlen($_GET['token'])!='32'){
   echo '<script type="text/javascript">';
   echo 'alert("您的验证链接不正确,可能为邮箱问题,复制链接打开即可");';
   echo 'window.location.href="https://bili.ihuan.me";';
   echo '</script>';
   exit();
 }
 $verify = $mysql->getOne("select name from user where verify = '".$XH->deStr($_GET['token'])."'");
 if(!empty($verify['name'])){
   $M->query("UPDATE `user` SET `verify` = '1' WHERE `name` = '".$verify['name']."';");
   echo '<script type="text/javascript">';
   echo 'alert("邮箱验证已通过");';
   echo 'window.location.href="https://bili.ihuan.me";';
   echo '</script>';
   exit();
 }

这段直接扒的刚写的...

至此,验证就搞定了,说的似乎很是啰嗦,代码残次不全,仅为思路,仅供参考咯

具体效果可以看看哔哩哔哩挂机的邮箱验证,已修改完毕~

标签:
上一篇: 下一篇:

5 条评论

评论加载中...
  1. 4楼
    来自天朝的朋友 谷歌浏览器 Windows 7
    hana  

    不建议使用name字段。如果用的话要能保证name字段的唯一性。还有就是当数据量多的时候,查id比name快,因为有索引

    2017年9月10日 21:43 评论
    • 小幻  

      我那个程序写时候name是用户名,而且id字段…不存在的2333

      2017年9月23日 21:23 评论
  2. 地板
    来自天朝的朋友 谷歌浏览器 Windows 10
    云南茶网  

    不错,学习了 :bobo_gongxi:

    2017年8月19日 18:22 评论
  3. 板凳
    来自天朝的朋友 火狐浏览器 Windows 7
    龙笑天  

    我弄的好吃力啊~ 勉强弄的差不多… :bobo_buyaoa:

    2017年7月18日 17:44 评论
  4. 沙发
    来自天朝的朋友 谷歌浏览器 Windows 10
    code酷  

    。。。这个用个stmp接口就可以了吧!!设置个验证toke 在加个状态

    2017年7月15日 19:17 评论

发表评论

不理你。不要啊!吃饭。吃惊。吃西瓜。飞吻!恭喜!Hi纠结!膜拜!OK抛媚眼。泡泡糖。抛钱。忍!生闷气!调皮。偷看。委屈。献花。疑问?抓狂!

小提示:Ctrl+Enter快速提交助您一臂之力~
加载中……