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 28 PHP
PHP生成UTF8文件的方法
May 15 PHP
php 生成唯一id的几种解决方法
Mar 08 PHP
PHP header()函数常用方法总结
Apr 11 PHP
php绘制一条直线的方法
Jan 24 PHP
微信支付开发交易通知实例
Jul 12 PHP
AJAX PHP无刷新form表单提交的简单实现(推荐)
Sep 09 PHP
php 伪造HTTP_REFERER页面URL来源的三种方法
Sep 22 PHP
PHP正则表达式匹配替换与分割功能实例浅析
Feb 04 PHP
PHP面向对象五大原则之依赖倒置原则(DIP)详解
Apr 08 PHP
Laravel框架路由设置与使用示例
Jun 12 PHP
PHP的mysqli_select_db()函数讲解
Jan 23 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
关于Zend Studio 配色方案插件的介绍
2013/06/24 PHP
PHP set_error_handler()函数使用详解(示例)
2013/11/12 PHP
PHP语法自动检查的Vim插件
2014/08/11 PHP
js实现图片轮换效果代码
2013/04/16 Javascript
javascript笛卡尔积算法实现方法
2015/04/08 Javascript
jQuery实现ajax调用WCF服务的方法(附带demo下载)
2015/12/04 Javascript
JS实现支持Ajax验证的表单插件
2016/03/24 Javascript
jQuery技巧之让任何组件都支持类似DOM的事件管理
2016/04/05 Javascript
JavaScript必知必会(三) String .的方法来自何方
2016/06/08 Javascript
微信小程序 vidao实现视频播放和弹幕的功能
2016/11/02 Javascript
JS实现可视化文件上传
2018/09/08 Javascript
es6基础学习之解构赋值
2018/12/10 Javascript
jQuery选择器之基本过滤选择器用法实例分析
2019/02/19 jQuery
jQuery插件实现图片轮播效果
2020/10/19 jQuery
实例解析Python中的__new__特殊方法
2016/06/02 Python
Python用list或dict字段模式读取文件的方法
2017/01/10 Python
Python迭代器和生成器定义与用法示例
2018/02/10 Python
Python3.6笔记之将程序运行结果输出到文件的方法
2018/04/22 Python
Python Pillow Image Invert
2019/01/22 Python
如何用C代码给Python写扩展库(Cython)
2019/05/17 Python
python中如何实现将数据分成训练集与测试集的方法
2019/09/13 Python
在Python中通过threshold创建mask方式
2020/02/19 Python
Pyecharts地图显示不完成问题解决方案
2020/05/11 Python
纯CSS3实现带动画效果导航菜单无需js
2013/09/27 HTML / CSS
详解rem 适配布局
2018/10/31 HTML / CSS
医药学专业大学生职业生涯规划书论文
2014/01/21 职场文书
英语专业学生个人求职信
2014/01/28 职场文书
科技开发中心办公室主任岗位责任制
2014/02/10 职场文书
卖房协议书样本
2014/10/30 职场文书
我的中国梦心得体会范文
2016/01/05 职场文书
留学文书中的个人陈述,应该注意哪些问题?
2019/08/23 职场文书
Python实现生活常识解答机器人
2021/06/28 Python
Python List remove()实例用法详解
2021/08/02 Python
python opencv将多个图放在一个窗口的实例详解
2022/02/28 Python
分析SQL窗口函数之聚合窗口函数
2022/04/21 Oracle
Windows Server 2012 修改远程默认端口3389的方法
2022/04/28 Servers