Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/293.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 从文本文件读取内容时出现问题_Php - Fatal编程技术网

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

Php 从文本文件读取内容时出现问题,php,Php,我使用文本文件作为我的“数据库”。 我用它来搜索用户。 我的问题是:它确实在搜索姓名,但它不搜索密码。 我知道这是混乱的,但请看我的代码,这是更容易为底层 PHP <?php $file = fopen("msskladanj_login/admins.txt","r"); $name = "Jonathan"; $password = "Jon123"; while(!feof($file)){ $array = explode("****",fgets($file)); $f

我使用文本文件作为我的“数据库”。
我用它来搜索用户。
我的问题是:它确实在搜索姓名,但它不搜索密码。
我知道这是混乱的,但请看我的代码,这是更容易为底层

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;
  } 
}
?>

我不知道问题出在哪里,为什么它们不一样呢?

您对密码和名称使用了相同的数组索引。试试这个

  <?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\u name。
如果这还不能解决问题,请尝试在de If语句之前为每行回显文件名和密码,您可能会发现de DIFFER

您的文件密码有空白,只需使用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;
  } 
}
?>


使用$array[0]作为文件名。文本文件中的明文密码。。。。。巴亚德。即使是为了练习runs@MihirBhatt我编辑了我的问题,抱歉:)也尝试回显计数($file\u密码)和计数($password)谢谢伙计,你太棒了。:)
<?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;
  } 
}
?>