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数据库连接
Oct 09 PHP
几个学习PHP的网址
Nov 25 PHP
用mysql内存表来代替php session的类
Feb 01 PHP
比较discuz和ecshop的截取字符串函数php版
Sep 03 PHP
php ci框架中加载css和js文件失败的原因及解决方法
Jul 29 PHP
解读PHP中的垃圾回收机制
Aug 10 PHP
解决更换PHP5.4以上版本后Dedecms后台登录空白问题的方法
Oct 23 PHP
win7安装php框架Yii的方法
Jan 25 PHP
PHP封装的MSSql操作类完整实例
May 26 PHP
PHP打印输出函数汇总
Aug 28 PHP
php安全配置记录和常见错误梳理(总结)
Mar 28 PHP
PHP文件打开关闭及读写操作示例解析
Aug 06 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
Symfony实现行为和模板中取得request参数的方法
2016/03/17 PHP
Laravel框架创建路由的方法详解
2019/09/04 PHP
laravel框架 laravel-admin上传图片到oss的方法
2019/10/13 PHP
PHP用swoole+websocket和redis实现web一对一聊天
2019/11/05 PHP
jquery 常用操作方法
2010/01/28 Javascript
微信小程序(应用号)简单实例应用及实例详解
2016/09/26 Javascript
微信小程序页面开发注意事项整理
2017/05/18 Javascript
初探js和简单隐藏效果的实例
2017/11/23 Javascript
解决vue单页路由跳转后scrollTop的问题
2018/09/03 Javascript
axios解决高并发的方法:axios.all()与axios.spread()的操作
2020/11/09 Javascript
如何在Django中设置定时任务的方法示例
2019/01/18 Python
Python字符串匹配之6种方法的使用详解
2019/04/08 Python
Django使用redis缓存服务器的实现代码示例
2019/04/28 Python
python3 pygame实现接小球游戏
2019/05/14 Python
python实践项目之监控当前联网状态详情
2019/05/23 Python
Python直接赋值、浅拷贝与深度拷贝实例分析
2019/06/18 Python
python脚本当作Linux中的服务启动实现方法
2019/06/28 Python
django之导入并执行自定义的函数模块图解
2020/04/01 Python
python输出结果刷新及进度条的实现操作
2020/07/13 Python
Python基础教程之输入输出和运算符
2020/07/26 Python
波兰珠宝品牌:YES
2019/08/09 全球购物
慕尼黑山地运动、户外服装和体育用品专家:Sporthaus Schuster
2019/08/27 全球购物
维德科技C#面试题笔试题
2015/12/09 面试题
技校生自我鉴定
2013/12/08 职场文书
旷课检讨书3000字
2014/02/04 职场文书
学生意外伤害赔偿协议书
2014/09/17 职场文书
学习保证书
2015/01/17 职场文书
2019通用版新员工入职培训方案!
2019/07/11 职场文书
2019年公司卫生管理制度样本
2019/08/21 职场文书
《自然之道》读后感3篇
2019/12/17 职场文书
Django cookie和session的应用场景及如何使用
2021/04/29 Python
英镑符号 £
2022/02/17 杂记
python实现会员信息管理系统(List)
2022/03/18 Python
PostgreSQL事务回卷实战案例详析
2022/03/25 PostgreSQL
golang操作rocketmq的示例代码
2022/04/06 Golang
vue3 自定义图片放大器效果的示例代码
2022/07/23 Vue.js