0

次の URL があるとします。

http://www.domain.net/?page=offsite&url=https://www.domain.com/LoanRequest/page.aspx?CUID=10414424&LOID=850&ChannelId=4078715104014180815

私が次のことをするとき:

echo ($_GET["url"]);

私は以下を取得します:

https://www.domain.com/LoanRequest/page.aspx?CUID=10414424

リンク全体ではなく、その理由はわかっています。「&」が新しい変数用であると想定しています...

リンク全体を取得するにはどうすればよいですか、または元のリンクをコーディングする必要がある特定の方法はありますか?

4

5 に答える 5

1

オフサイト URL の構造が予測できない場合は$_SERVER['QUERY_STRING']、文字列関数で必要なものを使用して引き出します。予測可能な場合は、リンクも制御しない限り、Maxiums2012 によって提供された回答を使用します。他の人がそうであるように、送信する前にオフサイト URL を urlencode することをお勧めします。

于 2013-09-10T15:38:06.747 に答える
0

これは、TecBrat の提案に基づいて最終的に行ったことです。

//get URL
$offsite_url = $_SERVER['REQUEST_URI'];

//break about URL
$offsite_url = str_replace('/?page=offsite&url=', '' , $offsite_url);

//clean input
$offsite_url = cleaninput($offsite_url);

(cleaninput はサニタイズ機能です)

私はそれが理想的な解決策だとは思いません(おそらくそうです-フィードバックを受け付けています)が、機能しているようです。urlencode はより良い解決策のように思えますが、それは選択肢ではありませんでした。

于 2013-09-11T14:02:00.357 に答える
0

あなたが持っているURLは間違っています。

URL ベース URL は

http://www.domain.net/

そしてそのパラメータは

page=offsite
url=https://www.domain.com/LoanRequest/page.aspx?CUID=10414424
LOID=850
ChannelId=4078715104014180815

LOID と ChannelID をその url= パラメータに関連付けるには、urlencode() で次のようにエンコードする必要があります。

http://www.domain.net/?page=offsite&url=https://www.domain.com/LoanRequest/page.aspx?CUID=10414424&LOID=850&ChannelId=4078715104014180815
于 2013-09-10T15:34:04.380 に答える