当前位置:Gxlcms > PHP教程 > PHP登陆验证时代码有问题

PHP登陆验证时代码有问题

时间:2021-07-01 10:21:17 帮助过:4人阅读

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

$size = sizeof ( $Logi );

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

for( $K = 0 ; $K < $size ; $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 ]是个赋值语句,不是比较。
至于换行符,你是看不到的,但是不代表不存在。

人气教程排行