1

我有一个 php 文件:

<?php  
 if (isset($_POST['submit'])) { 
    $file_name = 'hash.txt'; 
    $user = md5($_POST['user']); 
    $password = md5($_POST['password']); 
    $handle = fopen('hash.txt',"r"); 
    $read_file = file($file_name);


    if ($user == $read_file[0] and $password == $read_file[1]) { 
        echo 'correct !'; 
    } else { 
        echo 'incorrect !'; 
    } 
} else { 
    echo 'please input something'; 
}
?> 
<body> 
<form action="file_handle3.php" method="post"> 
User<input type="text" name="user"/><br/> 
Password <input type="password" name="password"/> 
<input type="submit" name="submit" value="submit"/> 
    </body>

文件 txt : hash.txt 第一行是 hello 第二行是 world

5d41402abc4b2a76b9719d911017c592

7d793037a0760186574b0282f2f435e7

我想比较 do value 用户输入并将它们转换为 md5 然后与 txt 文件中的比较。我不知道为什么我的代码即使我输入准确的值也不会输出正确的答案(用户:你好密码:世界)。对不起,我的英语不好

4

1 回答 1

1

当您使用 file() 时,文件中的每一行都成为数组中的一个项目。

但是,该数组中的每个字符串都包含换行符 (\n)。所以你需要确保你做类似的事情......

trim($read_file[0],"\r\n"); 

...第一的。

于 2013-04-11T14:31:39.583 回答