使用thinkphp框架实现检验账号密码登陆,然后发现无法正常打开登陆页面,检查之后发现没有语法上的问题

发布于 2022-09-11 18:31:36 字数 2113 浏览 13 评论 0

问题描述

问题出现的环境背景及自己尝试过哪些方法

试过代码删除后重新打,试过挨个注释,但是还是有问题

相关代码

<?php
namespace Admin\Controller;

use Think\Controller;

class PublicController extends Controller{
    
    
    public function login(){
        $this->display();
    }
    
    //生成验证码开始
    
    public function verify(){
        $config=array(
            'fontSize'=>15,
            'length'=>4,
            'useNoise'=>false,
            'imageW'=>108,
            'imageH'=>42,
            'codeSet'=>'1234567890qwertyuiopasdfghjklzxcvbnm',
        );
        
        $Verify=new \Think\Verify($config);
        $Verify->entry();
    }
    
    //验证码方法结束
    
    
    //检验登陆信息
    public function checkLogin(){
        //检验验证码是否正确
        $code=I('code');//接收验证码
        $verify=$this->checkCode($code);//调用checkCode方法
        if($verify){
            echo "验证码正确";
        }else{
            echo "验证码错误";
        }
    }
    
    //检验用户名密码是否正确
    
    
    $username=I("username"," ","trim");        //接收用户名,使用trim函数去除首尾空格
    $password=I("password"," ","md5");
    $return=$this->checkPassword($username,$password);
    if($return){
        echo "<br>";
        echo "登陆成功";
    }else{
        echo "<br>";
        echo "账号密码不匹配";
    }
    
    
    //检验结束
    
    
    //检验用户输入验证码是否正确
    //@param $code:输入的验证码
    //@return bool:验证码正确返回true,否则返回false
    
    public function checkCode($code){
        $verify=new \Think\Verify();    //实例化verify类
        return $verify->check($code);    //调用检验方法
    }
    
    public function checkPassword($username,$password){
        $map['username']=$username;        //将得到的$username里面的内容附到$map['username']里
        $admin=M('admin')->where($map)->find();        //在admin表里,以$map为条件,进行查找,并将查找到的内容赋给$admin
        if($admin['password']===$password){
            return $admin;
        }else{
            return false;
        }
    }
}

你期待的结果是什么?实际看到的错误信息又是什么?

希望可以按照书上写的实现登陆的验证

clipboard.png

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

转角预定愛 2022-09-18 18:31:36

错误信息看不到么?47行
//检验用户名密码是否正确

$username=I("username"," ","trim"); //接收用户名,使用trim函数去除首尾空格
$password=I("password"," ","md5");
$return=$this->checkPassword($username,$password);
if($return){

echo "<br>";
echo "登陆成功";

}else{

echo "<br>";
echo "账号密码不匹配";

}

应该放到checkLogin中

长梦不多时 2022-09-18 18:31:36

你的这部分代码

 47     $username=I("username"," ","trim");        //接收用户名,使用trim函数去除首尾空格
 48     $password=I("password"," ","md5");
 49     $return=$this->checkPassword($username,$password);
 50     if($return){
 51         echo "<br>";
 52         echo "登陆成功";
 53     }else{
 54         echo "<br>";
 55         echo "账号密码不匹配";
 56     }

似乎应包含在 checkLogin 方法中, 但上面的大括号已结

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文