从文本文件中读取内容时遇到问题

时间:2015-03-03 12:24:28

标签: php

我使用文本文件作为我的"数据库"。
我用它来搜索用户 我的问题是:它搜索名称并且它正在工作,但它不会搜索密码 我知道这很令人困惑,但请查看我的代码,对于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

我不知道什么是问题,怎么可能它们不一样呢?

3 个答案:

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