好的,所以我有一個重定向函數爲我的登錄。下面有一些代碼:保留在提交的表格
if ($sukces) {
$_SESSION['id'] = $row['id'];
if($_POST['location'] != '') {
header('Refresh: 1;url='.$_POST['location'].'');
echo message('You have logged in.<br>Press <a href="'.$_POST['location'].'">here</a> if you are not returned automatically.');
return false;
} else {
header("Location: /home");
}
} else {
// login failed
exit();
}
if($_POST['location'] != '') {
header('Refresh: 1;url='.$_POST['location'].'');
} else {
header("Location: /account");
}
<form action="?page=login" method="post">
<input type="hidden" name="location" value="<?=isset($_REQUEST['redirect']) ? htmlspecialchars($_REQUEST['redirect']) : ''?>">
E.g:
http://localhost/?page=login&redirect=%2Fforum%2F%3Faction%3Dpost%26boardid%3D1
的問題是,如果你輸入了錯誤的登錄憑據位置輸入字段的值將成爲空。但是,如果你輸入錯誤,然後輸入正確的,你不會被重定向。這是爲什麼?我如何保持重定向網址?
你沒有做任何事情,除了退出();在其他情況下(登錄字段)。我認爲你需要在那裏做出改變。 – Maximus2012
嘗試將'exit()'改爲'echo「登錄失敗」 – pattyd