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下连接mssql2005的代码
Jan 17 PHP
php中json_decode()和json_encode()的使用方法
Jun 04 PHP
php导入导出excel实例
Oct 25 PHP
PHP中4个加速、缓存扩展的区别和选用建议
Mar 12 PHP
使用php批量删除数据库下所有前缀为prefix_的表
Jun 09 PHP
php+html5基于websocket实现聊天室的方法
Jul 17 PHP
PHP判断FORM表单或URL参数来的数据是否为整数的方法
Mar 25 PHP
Thinkphp自定义代码生成工具及用法说明(附下载地址)
May 27 PHP
yii2中dropDownList实现二级和三级联动写法
Apr 26 PHP
PHP实现给定一列字符,生成指定长度的所有可能组合示例
Jun 22 PHP
PHP实用小技巧之调用录像的方法
Dec 05 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
杏林同学录(七)
2006/10/09 PHP
php笔记之:文章中图片处理的使用
2013/04/26 PHP
PHP中ob_start函数的使用说明
2013/11/11 PHP
讲解WordPress开发中一些常用的debug技巧
2015/12/18 PHP
php数组遍历类与用法示例
2019/05/24 PHP
javascript第一课
2007/02/27 Javascript
JQuery 学习笔记 选择器之三
2009/07/23 Javascript
JS上传前预览图片实例
2013/03/25 Javascript
原生js拖拽(第一课 未兼容)拖拽思路
2013/03/29 Javascript
JavaScript在XHTML中的用法详解
2013/04/11 Javascript
js解决select下拉选不中问题
2014/10/14 Javascript
js防止DIV布局滚动时闪动的解决方法
2014/10/30 Javascript
jquery使用正则表达式验证email地址的方法
2015/01/22 Javascript
实例详解Nodejs 保存 payload 发送过来的文件
2016/01/14 NodeJs
javascript 数组的正态分布排序的问题
2016/07/31 Javascript
AngularJS基础 ng-srcset 指令简单示例
2016/08/03 Javascript
jQuery实现花式轮播之圣诞节礼物传送效果
2016/12/25 Javascript
Bootstrap响应式表格详解
2017/05/23 Javascript
解决vue.js在编写过程中出现空格不规范报错的问题
2017/09/20 Javascript
浅谈JS函数节流防抖
2017/10/18 Javascript
浅析node应用的timing-attack安全漏洞
2018/02/28 Javascript
小程序实现选择题选择效果
2018/11/04 Javascript
vue改变循环遍历后的数据实例
2019/11/07 Javascript
node.js使用zlib模块进行数据压缩和解压操作示例
2020/02/12 Javascript
Vue实现点击箭头上下移动效果
2020/06/11 Javascript
axios封装与传参示例详解
2020/10/18 Javascript
[38:31]完美世界DOTA2联赛PWL S3 Magma vs GXR 第一场 12.13
2020/12/17 DOTA
跟老齐学Python之dict()的操作方法
2014/09/24 Python
python求pi的方法
2014/10/08 Python
python获取本机所有IP地址的方法
2018/12/26 Python
is_file和file_exists效率比较
2021/03/14 PHP
你们项目是如何进行变更控制的
2015/08/26 面试题
超市端午节活动方案
2014/01/23 职场文书
如何写股份合作协议书
2014/09/11 职场文书
Vue如何实现组件间通信
2021/05/15 Vue.js
Python多线程实用方法以及共享变量资源竞争问题
2022/04/12 Python