2010-07-13 62 views
0

我想重定向,但它不包括重定向不包括查詢字符串整體

if (!empty($_POST['nazwauzytkownika']) && $_POST['haslo']) 
{ 

removed.. 


if (isset($_GET['redirect'])) 
    $redirect = $_GET['redirect']; 
else 
    $redirect = 'http://*****.pl/konto/?a=powitanie'; 


header("Location: $redirect"); 

} 

如果$_GET[redirect]包含http://localhost/forum/?p=thread&threadid=9的URL的所有參數,它只是重定向到http://localhost/forum/?p=thread

回答

-1

它不是重定向問題,但URL問題
每一個GET參數應url編碼

$redirect = rawurlencode($redirect); 
?> 
<a href="some.php?redirect=<?=$redirect?>"> 

,那麼你將有你的重定向PARAM INACT並且可以使用它的重定向。

雖然它被認爲是不好的做法,因爲您的腳本可用於釣魚鏈接。

最好是通過URL只是標識,然後讀取從DB /會話/任何服務器端存儲

0

如果我正確理解你的問題,你正在尋找類似這樣的東西:

if (isset($_GET['redirect'])) 
    $redirect = substr($_GET['redirect'],0,strpos($_GET['redirect'],'&')); 

如果你只傳遞第一個參數查詢字符串。

+0

沒有工作,同樣的事情 – 2010-07-13 04:08:58

+0

我的道歉,與編輯的代碼之上嘗試的URL本身 – Josiah 2010-07-13 04:15:11