質問

PHPスクリプトhttp://site.com/process.phpをパラメータの1つとして呼び出します。for=

http://site.com/process.php?for=http://www.anotherwebsite.com
.

iを実行し、parse_url()を試してくださいが、parse_url()は解析エラーを与えます。

$uri = $_SERVER['REQUEST_URI']; // /process.php?for=http://www.anotherwebsite.com
parse_url($uri);
.

forがURLのように見えるようになったパラメータであることを理解するように、送信側(URL内)または受信側(PHP)でparse_url()パラメータをエンコードする方法

役に立ちましたか?

解決

well、最初にurlencode()パラメータをfor=パラメータで、process.phpで、単にを実行することができます。

$url = $_GET["for"];
$url = urldecode($url); // http://www.anotherwebsite.com
.

これは関数です: http://php.net/manual/en/function.urlencode.php http://php.net/manual/en/function.urldecode.php

他のヒント

あなたのURLをgetパラメータとして含める前に、 urlencode

$full_url = 'http://site.com/process.php?for=' . urlencode('http://www.anotherwebsite.com');
.

この機能はいつの便利です Aに使用される文字列をエンコードする 便利なURLの一部をクエリする 変数を次に渡す方法 ページ。


urlencodeの結果を逆にするには、 urldecode を使用します。Marioが以下のコメントで指摘されているように、$_GETパラメータはすでにURLDecodedです。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top