我使用文本文件作为我的"数据库"。
我用它来搜索用户
我的问题是:它搜索名称并且它正在工作,但它不会搜索密码
我知道这很令人困惑,但请查看我的代码,对于underteand来说要容易得多
PHP
<?php
$file = fopen("msskladanj_login/admins.txt","r");
$name = "Jonathan";
$password = "Jon123";
while(!feof($file)){
$array = explode("****",fgets($file));
$file_name = $array[0];
$file_password = $array[1];
if($file_password == $password && $file_name == $name){
echo "Wellcome: ".$file_name;
}
}
?>
admins.txt
Jonathan****Jon123
Arthur****arthur123
我不知道什么是问题,怎么可能它们不一样呢?
答案 0 :(得分:0)
您为密码和名称使用了相同的数组索引。试试这个。
<?php
$file = fopen("msskladanj_login/admins.txt","r");
$name = "Jonathan";
$password = "Jon123";
while(!feof($file)){
$array = explode("****",fgets($file));
$file_name = $array[0];
$file_password = $array[1];
if($file_name == $name ){
echo "Wellcome: ".$file_name;
}
}
?>
答案 1 :(得分:0)
你还有另一个错字
if($file_password == $password && file_name == $name){
它应该是$ file_name。 如果没有解决它,请尝试在每行的de if语句之前回显文件名和密码,并且可能会发现差异
答案 2 :(得分:0)
你的文件密码只是使用了修剪空白。
<?php
$file = fopen("msskladanj_login/admins.txt","r");
$name = "Jonathan";
$password = "Jon123";
while(!feof($file)){
$array = explode("****",fgets($file));
$file_name = $array[0];
$file_password = $array[1];
if(trim($file_password) == trim($password) && file_name == $name){
echo "Wellcome: ".$file_name;
}
}
?>