Maison > Article > développement back-end > 一个PHP关于登录的小问题
<code>if($row){ //判断密码是否正确 if($row['user_password']===$password){ echo 1; }else{ echo "密码错误"; } }else{ echo "没找到用户名"; } </code>
上面代码用来验证用户输入的用户名和密码正确与否,为了方便看我把代码简化去掉了获取数据库数据的内容,为什么当打开页面后什么都没输就会输出"没找到用户"呢?
<code>if($row){ //判断密码是否正确 if($row['user_password']===$password){ echo 1; }else{ echo "密码错误"; } }else{ echo "没找到用户名"; } </code>
上面代码用来验证用户输入的用户名和密码正确与否,为了方便看我把代码简化去掉了获取数据库数据的内容,为什么当打开页面后什么都没输就会输出"没找到用户"呢?
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
的代码,而不是你关注贴出来的代码