Heim  >  Artikel  >  Backend-Entwicklung  >  PHP 登陆验证时代码有问题

PHP 登陆验证时代码有问题

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

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

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn