这是login.php
。用户在前一页输入用户名和密码。数据库以“user | pass”格式存储信息。使用爆炸函数分隔用户并通过“|”传递。使用.txt不能正常工作的简单PHP登录
$ details [0]在同一行上找到匹配项。但即使输入的数据与实际的.txt文件正确,也不能用于$ detail [1]。
$user = $_POST['user'];
$pass = $_POST['pass'];
$db = file("database.txt");
$valid = false;
foreach ($db as $person) {
$details = explode('|', $person);
if ($details[0] == $user && $details[1] == $pass) {
// Found a math to the database.
$valid = true;
break;
}
}
为什么会出现这种情况?
谢谢
尝试'error_log(print_r($ details,TRUE))'并查看日志文件以查看“$ details”数组中的实际内容。您很可能会发现您的“数据库”记录不符合您期望的格式。 – FKEinternet