2016-04-26 11 views
0

フォーム提出時値のエンコードを保つ:サーバー(PHP)に私は値でフォーム入力を掲載しています

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

私は、この値を取得する:

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を使用して2つの要素の配列を作成し、2つ目の要素をエンコードして再度組み込みます。好きなものがあるかもしれません。

$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"変数は単なる例であり、この解決法は機能しません。私は実際に私の側で何の操作もせずにPOSTed値をそのまま取得する方法を探しています – itaynoy

関連する問題