ホームページ >バックエンド開発 >PHPチュートリアル >PHP ログイン検証中のコードに問題があります

PHP ログイン検証中のコードに問題があります

WBOY
WBOYオリジナル
2016-06-23 14:03:54901ブラウズ

ユーザー名とアカウントはテキストテキストに保存されていますが、ユーザー名だけを検証しようとしましたが、何が間違っているのかわかりません。 。
$Logi = file ( "users.txt" );

$size = sizeof ( $Logi );

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

for( $K = 0 ; $K $user = $Data [ $K ][ 0 ]; $Data [ $K ][ 1 ];
if($user==$_POST[ "user" ]&&$pass==$_POST[ "pass" ])
{
echo "成功" }
else echo
取得された各行には改行文字が含まれます
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 までご連絡ください。