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 相关文章推荐
奇怪的PHP引用效率问题分析
Mar 23 PHP
PHP 万年历实现代码
Oct 18 PHP
解析mysql 表中的碎片产生原因以及清理
Jun 22 PHP
php实现可以设置中奖概率的抽奖程序代码分享
Jan 19 PHP
php中字符串和正则表达式详解
Oct 23 PHP
PHP中把数据库查询结果输出为json格式简单实例
Apr 09 PHP
Laravel 5.3 学习笔记之 安装
Aug 28 PHP
PHP实现动态压缩js与css文件的方法
May 02 PHP
tp5框架使用composer实现日志记录功能示例
Jan 10 PHP
PHP设计模式之策略模式原理与用法实例分析
Apr 04 PHP
Laravel框架路由管理简单示例
May 07 PHP
ThinkPHP6.0如何利用自定义验证规则规范的实现登陆
Dec 16 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
一个php作的文本留言本的例子(二)
2006/10/09 PHP
杏林同学录(七)
2006/10/09 PHP
一贴学会PHP 新手入门教程
2009/08/03 PHP
php通过rmdir删除目录的简单用法
2015/03/18 PHP
php技术实现加载字体并保存成图片
2015/07/27 PHP
开启PHP的伪静态模式
2015/12/31 PHP
jQuery Dialog 弹出层对话框插件
2010/08/09 Javascript
JS Range HTML文档/文字内容选中、库及应用介绍
2011/05/12 Javascript
jquery中prop()方法和attr()方法的区别浅析
2013/09/06 Javascript
两种不同的方法实现js对checkbox进行全选和反选
2014/05/13 Javascript
jquery操作对象数组元素方法详解
2014/11/26 Javascript
jQuery的ajax和遍历数组json实例代码
2016/08/01 Javascript
打造自己的jQuery插件入门教程
2016/09/23 Javascript
AngularJS实现根据不同条件显示不同控件
2017/04/20 Javascript
基于 webpack2 实现的多入口项目脚手架详解
2017/06/26 Javascript
JavaScript操作文件_动力节点Java学院整理
2017/06/30 Javascript
vue2.0中vue-cli实现全选、单选计算总价格的实例代码
2017/07/18 Javascript
Vue头像处理方案小结
2018/07/26 Javascript
PM2自动部署代码步骤流程总结
2018/12/10 Javascript
JS实现贪吃蛇游戏
2019/11/15 Javascript
JavaScript实现拖拽功能
2020/02/11 Javascript
Vue按时间段查询数据组件使用详解
2020/08/21 Javascript
python实现监控linux性能及进程消耗性能的方法
2014/07/25 Python
python中子类继承父类的__init__方法实例
2016/12/15 Python
Python2.7读取PDF文件的方法示例
2017/07/13 Python
Python3编程实现获取阿里云ECS实例及监控的方法
2017/08/18 Python
浅谈python连续赋值可能引发的错误
2018/11/10 Python
解决python3运行selenium下HTMLTestRunner报错的问题
2018/12/27 Python
wxpython绘制圆角窗体
2019/11/18 Python
Python namedtuple命名元组实现过程解析
2020/01/08 Python
如何实现一个python函数装饰器(Decorator)
2020/10/12 Python
关于pycharm 切换 python3.9 报错 ‘HTMLParser‘ object has no attribute ‘unescape‘ 的问题
2020/11/24 Python
python 实现控制鼠标键盘
2020/11/27 Python
货车司机岗位职责
2014/03/18 职场文书
旷课检讨书500字
2014/10/14 职场文书
入伍通知书
2015/04/23 职场文书