当前位置:Gxlcms > PHP教程 > 一个PHP关于登录的小问题

一个PHP关于登录的小问题

时间:2021-07-01 10:21:17 帮助过:53人阅读

if($row){
   //判断密码是否正确
   if($row['user_password']===$password){
       echo 1;
   }else{
       echo "密码错误"; 
   }
}else{
   echo "没找到用户名";    
}

上面代码用来验证用户输入的用户名和密码正确与否,为了方便看我把代码简化去掉了获取数据库数据的内容,为什么当打开页面后什么都没输就会输出"没找到用户"呢?

回复内容:

if($row){
   //判断密码是否正确
   if($row['user_password']===$password){
       echo 1;
   }else{
       echo "密码错误"; 
   }
}else{
   echo "没找到用户名";    
}

上面代码用来验证用户输入的用户名和密码正确与否,为了方便看我把代码简化去掉了获取数据库数据的内容,为什么当打开页面后什么都没输就会输出"没找到用户"呢?

if($row)这一段代码需要写在POST请求代码区块里。这样get时,才不会执行这段代码。

比如点击登陆后,提交的用户和密码字段分别为:username password

$username = isset($_POST['username']) ? $_POST['username'] : false;
$password = isset($_POST['password']) ? $_POST['password'] : false;

if($username && $password){
    if($row){
       //判断密码是否正确
       if($row['user_password']===$password){
           echo 1;
       }else{
           echo "密码错误"; 
       }
    }else{
       echo "没找到用户名";    
    }
}

你把$row打印出来看是什么东西

那说明你打开网页时就执行这段代码了,而且if判断为假

既然打印了没找到用户,说明 $row 为假,那你应该着重关注获取 $row 的代码,而不是你关注贴出来的代码

人气教程排行