我在網站的每個頁面都有登錄表單,所以用戶可以從任何地方登錄。我有一個login.php文件,我從表單中引用它(使用'action')。PHP登錄系統問題...發送頁面到頁面的錯誤
我使用$_SERVER['HTTP_REFERER']
將用戶重定向到他成功登錄或登出時登錄的同一頁面。
但是,如果登錄時出現問題,我如何向他嘗試登錄的同一頁發送錯誤?我曾嘗試使用發送的$_GET
錯誤,像這樣:
// process the script only if the form has been submitted
if (array_key_exists('login', $_POST)) {
// Login code goes here...
// If there was a problem, destroy the session and prepare error message
else {
$_SESSION = array();
session_destroy();
header('Location: '.$_SERVER['HTTP_REFERER'].'?error');
exit;
}
但問題是,很多在網站的網頁都是這樣details.php?mid=0172495
。他們已經從$_GET
方法recove信息和出於安全原因我不能使用另一個$_GET
方法...
所以,我怎麼能通過錯誤? 謝謝...
使用$ _SERVER ['HTTP_REFERER']是一個壞主意,因爲客戶端可以阻止引用。考慮使用$ _SERVER ['PHP_SELF']來代替。 – Powerlord 2009-04-09 17:07:12
PHP_SELF會給出登錄腳本的地址,他試圖找出它們來自哪裏。通常,正確的解決方案包括將$ _GET變量中的地址發送到登錄腳本,以避免引用阻止問題。 – 2009-04-09 17:12:51