Rumah  >  Artikel  >  pembangunan bahagian belakang  >  一个PHP关于登录的小问题

一个PHP关于登录的小问题

WBOY
WBOYasal
2016-10-10 11:56:001054semak imbas

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

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

回复内容:

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

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

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

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

<code>$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 "没找到用户名";    
    }
}
</code>

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

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

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

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn