我使用文本文件作为我的"数据库"
我用它来搜索用户
我的问题是:它确实可以搜索名字,而且可以工作,但不搜索密码
我知道这很令人困惑,但请查看我的代码,它更容易理解和
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
我不知道是什么问题,当它们是一样的时候,它们怎么可能不一样?
您的文件密码有空白,只需使用trim即可。
<?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;
}
}
?>
您使用了相同的数组索引作为密码和名称。试试这个。
<?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;
}
}
?>
这里还有一个打字错误
if($file_password == $password && file_name == $name){
它应该是$file_name。如果这还不能解决问题,请尝试在每行的de-If语句之前回显文件名和密码,您可能会发现差异