Home  >  Article  >  Backend Development  >  PHP 登陆验证时代码有问题

PHP 登陆验证时代码有问题

WBOY
WBOYOriginal
2016-06-23 14:03:54876browse

用户名和账号储存在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 ]是个赋值语句,不是比较。
至于换行符,你是看不到的,但是不代表不存在。

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn