2012-03-29 59 views
2

後加工而成我使用發送用戶上頁:

header('Location: ' . $_SERVER['HTTP_REFERER'] . '?Add=Successful'); 

現在把我送到我的add.php

http://localhost/add.php?Add=Successful 

當我再次增加一個數據的標題位置傳遞以下:

我要的是修剪頭的位置,直到問號:

比方說像修剪$_SERVER['HTTP_REFERER']直到?,並將其保存到一個變量,因此如果關鍵字?存在,它應該再修剪它http://localhost/add.php,然後傳遞可變進頭的位置,使之能成爲這樣的事情:

header('Location: ' . $trimmedHeader . '?Add=Successful'); 

回答

7

您還可以使用PHP parse_url()函數。

$url = parse_url($_SERVER['HTTP_REFERER']); 
$trimmedHeader = $url['scheme'] . '://' . $url['host'] . $url['path']; 
header('Location: ' . $trimmedHeader . '?Add=Successful'); 
+0

你們所有人都給出了答案和它的工作,但問題是,它沒有將變量傳回頭部。它通過這個: - 'http:// localhost/add.php',而我想通過這個: - 'http://localhost/add.php?Add = Successful'再次。 – 2012-03-29 12:43:01

+0

但是,這是什麼在我的腳本再次通過這個變量:'?添加=成功'。 你還需要什麼? – Naki 2012-03-29 12:55:03

0
preg_replace('/(.*)\?/',$_SERVER['HTTP_REFERER'],'\1'); 
0

這將返回字符串中的第一個問號之前的一切。

$trimmedheader = array_shift(explode("?", $_SERVER['HTTP_REFERER'])); 
+0

大家都已經給出了答案和它的工作,但問題是,它不是通過可變後用頭一起。它通過這個: - 'http:// localhost/add.php',而我想通過這個: - 'http://localhost/add.php?Add = Successful'再次。 – 2012-03-29 12:43:10

+0

你說過:「我想要的是修剪標題位置直到問號」這就是我的腳本正在做的事情。如果你想追加「?Add = Successful」到你的字符串,只需在末尾加上:'array_shift(explode(「?」,$ _SERVER ['HTTP_REFERER']))。 「?Add =成功」' – 2012-03-29 12:49:33

0
$urlArray = parse_url($_SERVER['HTTP_REFERER']); 
$newUrl = $urlArray['scheme'].'://'.$urlArray['host'].$urlArray['path'].'?Add=Successful'; 
header("Location: $newUrl"); 

這已經過測試,工作正常....

+0

你們所有人都給出了答案和它的工作,但問題是,它沒有將變量和標題一起傳回。它通過這個: - 'http:// localhost/add.php',而我想通過這個: - 'http://localhost/add.php?Add = Successful'再次。 – 2012-03-29 12:42:49

+0

嘗試連接標題行外可能(我知道函數返回標題字符串foofs的東西了) – Ing 2012-03-29 13:41:40