Maison  >  Article  >  développement back-end  >  PHP 登陆验证时代码有问题

PHP 登陆验证时代码有问题

WBOY
WBOYoriginal
2016-06-23 14:03:54876parcourir

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

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn