2016-04-26 66 views
0

我張貼一個表單輸入值時:保值編碼提交表單

http://www.domain.com/script.php?var1=1120&var2=254949&url=http%3A%2F%2Fwww.domain2.com%2Ffile%2Bname%3Fvar1%3Dvalue1

在服務器(PHP)我得到這個值:

http://www.domain.com/script.php?var1=1120&var2=254949&url=http://www.domain2.com/file+name?var1=value1

有反正接收原始未解碼的值?

+0

你爲什麼要編碼?只需再次編碼即可。 – Rizier123

+0

@ Rizier123如果我編碼它將編碼整個字符串,我會得到:http%3A%2F%2Fwww.domain.com%2Fscript.php%3Fvar1%3D1120%26var2%3D254949%26url%3Dhttp%3A%2F% 2Fwww.domain2.com%2Ffile%2Bname%3Fvar1%3Dvalue1 – itaynoy

回答

0

您只需要編碼部分字符串。爲了達到這個目的,使用函數explode來創建兩個元素的數組,將第二個元素進行編碼並將它們重新放在一起。有些東西可能會有所幫助。

$str ='http://www.domain.com/script.php?var1=1120&var2=254949&url=http://www.domain2.com/file+name?var1=value1'; 
$url = explode('url=',$str); 
$str2 = $url[0].'url='.urlencode($url[1]); 
echo($str2); 
+0

「url」變量只是一個例子,它可以是任何東西,所以這種解決方案將無法工作。我真的很想找到一種方式來獲取POST的價值,沒有任何操縱在我身邊 – itaynoy