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 相关文章推荐
第二节 对象模型 [2]
Oct 09 PHP
不用数据库的多用户文件自由上传投票系统(3)
Oct 09 PHP
Discuz板块横排显示图片的实现方法
May 28 PHP
PHPMailer邮件类利用smtp.163.com发送邮件方法
Sep 11 PHP
PHP容易被忽略而出错陷阱 数字与字符串比较
Nov 10 PHP
通过缓存数据库结果提高PHP性能的原理介绍
Sep 05 PHP
LotusPhp笔记之:Logger组件的使用方法
May 06 PHP
php颜色转换函数hex-rgb(将十六进制格式转成十进制格式)
Sep 23 PHP
laravel 中如何使用ajax和vue总结
Aug 16 PHP
Laravel 数据库加密及数据库表前缀配置方法
Oct 10 PHP
如何在centos8自定义目录安装php7.3
Nov 28 PHP
PHP使用POP3读取邮箱接收邮件的示例代码
Jul 08 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二维数组排序与默认自然排序的方法介绍
2013/04/27 PHP
深入PHP操作MongoDB的技术总结
2013/06/02 PHP
PHP基于双向链表与排序操作实现的会员排名功能示例
2017/12/26 PHP
PHP面向对象五大原则之接口隔离原则(ISP)详解
2018/04/04 PHP
PHP排序算法之冒泡排序(Bubble Sort)实现方法详解
2018/04/20 PHP
PHP分页显示的方法分析【附PHP通用分页类】
2018/05/10 PHP
IE6下拉框图层问题探讨及解决
2014/01/03 Javascript
jQuery里filter()函数与find()函数用法分析
2015/06/24 Javascript
JS获取下拉框显示值和判断单选按钮的方法
2015/07/09 Javascript
JS实现漂亮的窗口拖拽效果(可改变大小、最大化、最小化、关闭)
2015/10/10 Javascript
jquery淡入淡出效果简单实例
2016/01/14 Javascript
WebApi+Bootstrap+KnockoutJs打造单页面程序
2016/05/16 Javascript
jQuery.form.js插件不能解决连接超时(timeout)的原因分析及解决方法
2016/10/14 Javascript
js实现登录验证码
2016/12/22 Javascript
JavaScript使用链式方法封装jQuery中CSS()方法示例
2017/04/07 jQuery
vue、react等单页面项目应该这样子部署到服务器
2018/01/03 Javascript
jQuery中的$是什么意思及 $. 和 $().的区别
2018/04/20 jQuery
vue.js iview打包上线后字体图标不显示解决办法
2020/01/20 Javascript
javascript canvas检测小球碰撞
2020/04/17 Javascript
JavaScript图片旋转效果实现方法详解
2020/06/28 Javascript
[04:04]DOTA2亚洲邀请赛比赛场馆&酒店全攻略
2017/03/23 DOTA
Python并发编程协程(Coroutine)之Gevent详解
2017/12/27 Python
用Eclipse写python程序
2018/02/10 Python
python中copy()与deepcopy()的区别小结
2018/08/03 Python
python聚类算法解决方案(rest接口/mpp数据库/json数据/下载图片及数据)
2019/08/28 Python
Ubuntu16.04安装python3.6.5步骤详解
2020/01/10 Python
Python类和实例的属性机制原理详解
2020/03/21 Python
python单例模式的应用场景实例讲解
2021/02/24 Python
非洲NO.1网上商店:Jumia肯尼亚
2016/08/18 全球购物
黄继光的英雄事迹材料
2014/02/13 职场文书
师范教师专业大学生职业生涯规划范文
2014/03/02 职场文书
加强干部作风建设整改方案
2014/10/24 职场文书
七年级写作指导之游记作文
2019/10/07 职场文书
MySQL pt-slave-restart工具的使用简介
2021/04/07 MySQL
SpringBoot集成Druid连接池连接MySQL8.0.11
2021/07/02 Java/Android
MySQL创建管理HASH分区
2022/04/13 MySQL