這是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