• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
Love满天星
博客园    首页    新随笔    联系   管理    订阅  订阅

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,方可登陆。)

 

posted @ 2016-04-11 18:44  Love满天星  阅读(343)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3