Yii框架实现邮箱激活的方法【数字签名】


Posted in PHP onOctober 18, 2016

本文实例讲述了Yii框架实现邮箱激活的方法。分享给大家供大家参考,具体如下:

控制器:

//发送邮箱,激活账号
public function actionEmail()
{
    $email=Yii::$app->request->get('email');
    //数字签名
    $em_1=md5($email);
    //邮箱发送
    $mail= Yii::$app->mailer->compose();
    $mail->setTo($email);
    $mail->setSubject("激活邮箱");
    //发布可以带html标签的文本
    $mail->setHtmlBody("<a href='http://www.small2.com/backend/web/index.php?r=login/live&em_1=".$em_1."&email=".$email."'>点击此链接</a>");
    if($mail->send())
      echo "success";
    else
      echo "false";
    die(); //邮箱发送ok
}
//激活账号
public function actionLive()
{
   $email=Yii::$app->request->get('email');
   $em_1=Yii::$app->request->get('em_1');
   //echo $em_1;die;
   $em_2=md5($email);
   //echo $em_2;die;
   if($em_1==$em_2)
   {
     $res=Yii::$app->db;
     $data=$res->createCommand()->update("login",["status"=>1],["email"=>$email])->execute();
     if($data)
     {
      echo "<script>alert('激活成功,可登录');location.href='index.php?r=login/login'</script>";
     }
     else
     {
       echo "<script>alert('激活失败');location.href='index.php?r=login/login'</script>";
     }
   }
   else
   {
     echo "<script>alert('参数错误,重新激活');location.href='index.php?r=login/login'</script>";
   }
}

原理:(注册后原有默认原有状态status=0,激活后改为1,方可登陆。)

希望本文所述对大家基于Yii框架的PHP程序设计有所帮助。

PHP 相关文章推荐
如何做到多笔资料的同步
Oct 09 PHP
用PHP实现弹出消息提示框的两种方法
Dec 17 PHP
php CI框架插入一条或多条sql记录示例
Jul 29 PHP
浅谈php和.net的区别
Sep 28 PHP
PHP与MYSQL中UTF8 中文排序示例代码
Oct 23 PHP
PHP数组和explode函数示例总结
May 08 PHP
php自动提交表单的方法(基于fsockopen与curl)
May 09 PHP
基于PHP实现商品成交时发送短信功能
May 11 PHP
php foreach如何跳出两层循环(详解)
Nov 05 PHP
PHP PDOStatement::getAttribute讲解
Feb 01 PHP
php和html的区别点详细总结
Sep 24 PHP
Thinkphp 框架扩展之行为扩展原理与实现方法分析
Apr 23 PHP
PHP魔术方法以及关于独立实例与相连实例的全面讲解
Oct 18 #PHP
浅谈PHP拦截器之__set()与__get()的理解与使用方法
Oct 18 #PHP
利用PHP绘图函数实现简单验证码功能的方法
Oct 18 #PHP
Yii针对添加行的增删改查操作示例
Oct 18 #PHP
Yii遍历行下每列数据的方法
Oct 17 #PHP
PHP+mysql+ajax轻量级聊天室实现方法详解
Oct 17 #PHP
php实现跨域提交form表单的方法【2种方法】
Oct 17 #PHP
You might like
后宫无数却洁身自好的男主,唐三只爱小舞
2020/03/02 国漫
使用eAccelerator加密PHP程序
2008/10/03 PHP
php中flush()、ob_flush()、ob_end_flush()的区别介绍
2013/02/17 PHP
android上传图片到PHP的过程详解
2015/08/03 PHP
浅析php如何实现爬取数据原理
2018/09/27 PHP
JQuery 学习笔记 选择器之六
2009/07/23 Javascript
JavaScript Event学习第七章 事件属性
2010/02/07 Javascript
如何在JavaScript中实现私有属性的写类方式(一)
2013/12/04 Javascript
js获取html页面节点方法(递归方式)
2013/12/13 Javascript
js实现YouKu的漂亮搜索框效果
2015/08/19 Javascript
js中class的点击事件没有效果的解决方法
2016/10/13 Javascript
基于JavaScript实现的折半查找算法示例
2017/04/14 Javascript
JS设计模式之惰性模式(二)
2017/09/29 Javascript
JS实现带导航城市列表以及输入搜索功能
2018/01/04 Javascript
浅析vue中常见循环遍历指令的使用 v-for
2018/04/18 Javascript
关于RxJS Subject的学习笔记
2018/12/05 Javascript
微信小程序如何实现在线客服功能
2019/10/16 Javascript
JavaScript实现消消乐的源代码
2021/01/12 Javascript
Python计时相关操作详解【time,datetime】
2017/05/26 Python
Sanic框架蓝图用法实例分析
2018/07/17 Python
Python虚拟环境的原理及使用详解
2019/07/02 Python
python实现切割url得到域名、协议、主机名等各个字段的例子
2019/07/25 Python
python数组循环处理方法
2019/08/26 Python
用Python解数独的方法示例
2019/10/24 Python
浅谈python量化 双均线策略(金叉死叉)
2020/06/03 Python
Python Flask异步发送邮件实现方法解析
2020/08/01 Python
linux面试题参考答案(7)
2014/07/24 面试题
房产委托公证书样本
2014/04/04 职场文书
授权收款委托书范本
2014/10/10 职场文书
同步小康驻村工作简报
2015/07/20 职场文书
信息简报范文
2015/07/21 职场文书
女方家长婚礼答谢词
2015/09/29 职场文书
MySQL数字类型自增的坑
2021/05/07 MySQL
Nginx实现负载均衡的项目实践
2022/03/18 Servers
WINDOWS 64位 下安装配置mysql8.0.25最详细的教程
2022/03/22 MySQL
排查MySQL生产环境索引没有效果
2022/04/11 MySQL