从文本文件中读取内容时出现问题


Having problems while reading content from text file

我使用文本文件作为我的"数据库"
我用它来搜索用户
我的问题是:它确实可以搜索名字,而且可以工作,但不搜索密码
我知道这很令人困惑,但请查看我的代码,它更容易理解和

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语句之前回显文件名和密码,您可能会发现差异