首页  >  文章  >  后端开发  >  PHP 登陆验证时代码有问题

PHP 登陆验证时代码有问题

WBOY
WBOY原创
2016-06-23 14:03:54876浏览

用户名和账号储存在txt文本上,就是密码验证不了,我试过用户名单独验证能成功,不知道哪里错了。。
$Logi = file ( "users.txt" ); 

$size = sizeof ( $Logi ); 

foreach( $Logi as $Key => $Val ) 
{ $Data [ $Key ] = explode ( "|" , $Val ); } 

for( $K = 0 ; $K  { 
  $user = $Data [ $K ][ 0 ];
  $pass = $Data [ $K ][ 1 ];
  if($user==$_POST[ "user" ]&&$pass==$_POST[ "pass" ])
{
   echo "success";
  }
 else echo "No";
 }


回复讨论(解决方案)

加个rtrim()函数
$Data [ $Key ] = rtrim($Data [ $Key ] );
因为file()函数读取的每一行都包括换行符

加个rtrim()函数
$Data [ $Key ] = rtrim($Data [ $Key ] );
因为file()函数读取的每一行都包括换行符
可是我在txt文件只加了yjj|123456这一行啊,而且如果我输出$pass = $Data [ 0 ][ 1 ]是对的

引用 1 楼 jzh2004 的回复:加个rtrim()函数
$Data [ $Key ] = rtrim($Data [ $Key ] );
因为file()函数读取的每一行都包括换行符
可是我在txt文件只加了yjj|123456这一行啊,而且如果我输出$pass = $Data [ 0 ][ 1 ]是对的

不明白你输出什么是对的$pass = $Data [ 0 ][ 1 ]是个赋值语句,不是比较。
至于换行符,你是看不到的,但是不代表不存在。

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn