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中使用CURL伪造来路抓取页面或文件
May 04 PHP
Linux下手动编译安装PHP扩展的例子分享
Jul 15 PHP
PHP语法小结之基础和变量
Nov 22 PHP
CI框架中类的自动加载问题分析
Nov 21 PHP
PHP实现断点续传乱序合并文件的方法
Sep 06 PHP
PHP实现PDO操作mysql存储过程示例
Feb 13 PHP
PHP DB 数据库连接类定义与用法示例
Mar 11 PHP
laravel框架模型中非静态方法也能静态调用的原理分析
Nov 23 PHP
ThinkPHP类似AOP思想的参数验证的实现方法
Dec 18 PHP
PHP接口类(interface)的定义、特点和应用示例
May 18 PHP
php慢查询日志和错误日志使用详解
Feb 27 PHP
详解Laravel制作API接口
May 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之第四天
2006/10/09 PHP
apache rewrite_module模块使用教程
2008/01/10 PHP
javascript some()函数用法详解
2014/11/13 PHP
XHProf报告字段含义的解析
2016/05/17 PHP
浅谈Yii乐观锁的使用及原理
2017/07/25 PHP
利用php + Laravel如何实现部署自动化详解
2017/10/11 PHP
HTML中Select不用Disabled实现ReadOnly的效果
2008/04/07 Javascript
网页中可关闭的漂浮窗口实现可自行调节
2013/08/20 Javascript
raphael.js绘制中国地图 地图绘制方法
2014/02/12 Javascript
js父窗口关闭时子窗口随之关闭完美解决方案
2014/04/29 Javascript
javascript中String对象的slice()方法分析
2014/12/20 Javascript
DOM基础教程之事件类型
2015/01/20 Javascript
jQuery关键词说明插件cluetip使用指南
2015/04/21 Javascript
JS中对象与字符串的互相转换详解
2016/05/20 Javascript
详解AngularJS中$filter过滤器使用(自定义过滤器)
2017/02/04 Javascript
Node.js中的require.resolve方法使用简介
2017/04/23 Javascript
使用Bootstrap打造特色进度条效果
2017/05/02 Javascript
详解VUE 定义全局变量的几种实现方式
2017/06/01 Javascript
Angular+Bootstrap+Spring Boot实现分页功能实例代码
2017/07/21 Javascript
vue.js计算属性computed用法实例分析
2018/07/06 Javascript
实用的Vue开发技巧
2019/05/30 Javascript
微信小程序实现多选框全选与反全选及购物车中删除选中的商品功能
2019/12/17 Javascript
Python实现运行其他程序的四种方式实例分析
2017/08/17 Python
对numpy和pandas中数组的合并和拆分详解
2018/04/11 Python
Windows上使用Python增加或删除权限的方法
2018/04/24 Python
在Python dataframe中出生日期转化为年龄的实现方法
2018/10/20 Python
python、Matlab求定积分的实现
2019/11/20 Python
解决python使用list()时总是报错的问题
2020/05/05 Python
一文轻松掌握python语言命名规范规则
2020/06/18 Python
CSS3 实现图形下落动画效果
2020/11/13 HTML / CSS
Ryderwear澳洲官网:澳大利亚高端健身训练装备品牌
2018/09/18 全球购物
写自荐信要注意什么
2013/12/26 职场文书
消防安全责任书
2014/04/14 职场文书
教师廉政准则心得体会
2016/01/20 职场文书
创业计划书之酒吧
2019/12/02 职场文书
Python基础详解之邮件处理
2021/04/28 Python