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

  • 相关阅读:
    web前端之 CSS
    web前端之 HTML标签详细介绍
    web前端之 HTML介绍
    c++之 scanf 接收用户输入内容
    JQ 全选、全不选
    java 除法向上,向下取整
    Java使用占位符拼接字符串
    eclipse远程debug
    阿里 drds 分布式数据库分节点查询
    Mysql 修改字段长度、修改列名、新增列、修改自增主键起始值
  • 原文地址:https://www.cnblogs.com/shaohuixia/p/5379587.html
Copyright © 2020-2023  润新知