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 18 PHP
php minixml详解
Jul 19 PHP
Windows PHP5和Apache的安装与配置
Jun 08 PHP
PHP教程 预定义变量
Oct 23 PHP
php获取中文拼音首字母类和函数分享
Apr 24 PHP
php异步多线程swoole用法实例
Nov 14 PHP
PHP性能分析工具XHProf安装使用教程
May 13 PHP
PHP编程开发怎么提高编程效率 提高PHP编程技术
Nov 09 PHP
PHP Echo字符串的连接格式
Mar 07 PHP
使用JavaScript创建新样式表和新样式规则
Jun 14 PHP
ThinkPHP删除栏目(实现批量删除栏目)
Jun 21 PHP
PHP使用XMLWriter读写xml文件操作详解
Jul 31 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采集相关教程之一 CURL函数库
2010/02/15 PHP
php使用array_rand()函数从数组中随机选择一个或多个元素
2014/04/28 PHP
Thinkphp关闭缓存的方法
2015/06/26 PHP
php计划任务之验证是否有多个进程调用同一个job的方法
2015/12/07 PHP
php变量与JS变量实现不通过跳转直接交互的方法
2017/08/25 PHP
thinkphp5 框架结合plupload实现图片批量上传功能示例
2020/04/04 PHP
XHTML下,JS浮动代码失效的问题
2009/11/12 Javascript
angularjs 处理多个异步请求方法汇总
2015/01/06 Javascript
jQuery中unbind()方法用法实例
2015/01/19 Javascript
jQuery实现向下滑出的平滑下拉菜单效果
2015/08/21 Javascript
基于Vue2实现的仿手机QQ单页面应用功能(接入聊天机器人 )
2017/03/30 Javascript
js实现一个猜数字游戏
2017/03/31 Javascript
js+html获取系统当前时间
2017/11/10 Javascript
Vue 项目分环境打包的方法示例
2018/08/03 Javascript
vue2.0 中使用transition实现动画效果使用心得
2018/08/13 Javascript
[02:40]DOTA2英雄基础教程 炼金术士
2013/12/23 DOTA
[07:43]《辉夜杯》公开赛晋级外卡赛战队—TRG训练生活探秘
2015/12/11 DOTA
python自动化工具日志查询分析脚本代码实现
2013/11/26 Python
Djang中静态文件配置方法
2015/07/30 Python
Python制作数据导入导出工具
2015/07/31 Python
谈谈Python进行验证码识别的一些想法
2016/01/25 Python
Python字典中的键映射多个值的方法(列表或者集合)
2018/10/17 Python
浅谈PYTHON 关于文件的操作
2019/03/19 Python
用pyqt5 给按钮设置图标和css样式的方法
2019/06/24 Python
python进行参数传递的方法
2020/05/12 Python
Docker如何部署Python项目的实现详解
2020/10/26 Python
Booking.com英国官网:全球酒店在线预订网站
2018/04/21 全球购物
北美女性服装零售连锁店:maurices
2019/06/12 全球购物
大专应届生个人简历的自我评价
2013/10/15 职场文书
孩子教育的心得体会
2014/09/01 职场文书
校园学雷锋广播稿
2014/10/08 职场文书
求职信格式范文
2015/03/19 职场文书
2015年秋季学校开学标语
2015/07/16 职场文书
python之np.argmax()及对axis=0或者1的理解
2021/06/02 Python
postgres之jsonb属性的使用操作
2021/06/23 PostgreSQL
js中Object.create实例用法详解
2021/10/05 Javascript