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

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();
 }

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

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

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

标签:
上一篇: 下一篇:

7 条评论

评论加载中...
  1. 6楼
    Romania 未知浏览器 Unknow Os
    UK Chat Rooms  

    386812 278151For anybody who is interested in enviromentally friendly things, might possibly surprise for you the crooks to keep in mind that and earn under a holder merely because kind dissolved acquire various liters to essential oil to make. day-to-day deal livingsocial discount baltimore washington 313820

    2018年8月15日 23:06 评论
  2. 160673 165505You made some initial rate factors there. I seemed on the internet for the difficulty and located most people will go along with together with your website. 359691

    2018年8月14日 07:31 评论
  3. 4楼
    来自天朝的朋友 谷歌浏览器 Windows 7
    hana  

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

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

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

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

    不错,学习了 :bobo_gongxi:

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

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

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

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

    2017年7月15日 19:17 评论

发表评论

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

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