我已經放在一起登錄腳本,通過放在一起我的意思是我複製並粘貼來自論壇的代碼片段,並通過試驗和錯誤工作。對象在PHP登錄腳本上移動頁面
到目前爲止,腳本工作正常,登錄時根本沒有問題,唯一的問題來自當您嘗試登錄而沒有填寫任何字段,它給了我一些奇怪的錯誤,並將我重定向到與
對象一個空白頁感動
該文件可以在這裏找到
這不是一個巨大的問題,因爲我不明白爲什麼人們會試着和空白領域登錄無論如何,但這是我想要的喜歡知道如何解決以備將來參考。
下面是我的代碼的登錄部分:
<?php
session_start();
$data=array("user1"=>array("url"=>"page1.php","password"=>"12345"),
"user2"=>array("url"=>"page2.php","password"=>"12345"),
"user3"=>array("url"=>"page3.php","password"=>"12345")
);
if(isset($_POST['username']) && isset($_POST['password'])) {
$user = strtolower($_POST['username']);
$pass = strtolower($_POST['password']);
if($data[$user]['password'] == $pass) {
$_SESSION['username'] = $user . " " . $pass;
header('Location: ' . $data[$user]['url']);
} else {
echo '<script type="text/javascript">window.onload = function() { document.getElementById("loginError").innerHTML = "' . "Invalid login details. Please try again." . '"; }</script>';
logIn();
}
} else {
logIn();
}
?>
將'isset'更改爲'!empty',一切都將被修復。我相信別人會回來解釋原因。 –
謝謝丹,這幾乎解決了我的問題。如果兩個字段都留空,它將不會執行任何操作(因爲它應該),但是如果用戶名已填寫並且留空,它仍然有相同的問題。 我想我明白你的建議。我假設isset是一個檢查,看看他們是否定義,而!空將檢查是否爲空。或者我可能完全錯了哈哈。 – user1172903
這意味着你沒有將'isset'同時改爲'!empty'。 –