次の URL があるとします。
私が次のことをするとき:
echo ($_GET["url"]);
私は以下を取得します:
https://www.domain.com/LoanRequest/page.aspx?CUID=10414424
リンク全体ではなく、その理由はわかっています。「&」が新しい変数用であると想定しています...
リンク全体を取得するにはどうすればよいですか、または元のリンクをコーディングする必要がある特定の方法はありますか?
次の URL があるとします。
私が次のことをするとき:
echo ($_GET["url"]);
私は以下を取得します:
https://www.domain.com/LoanRequest/page.aspx?CUID=10414424
リンク全体ではなく、その理由はわかっています。「&」が新しい変数用であると想定しています...
リンク全体を取得するにはどうすればよいですか、または元のリンクをコーディングする必要がある特定の方法はありますか?
オフサイト URL の構造が予測できない場合は$_SERVER['QUERY_STRING']
、文字列関数で必要なものを使用して引き出します。予測可能な場合は、リンクも制御しない限り、Maxiums2012 によって提供された回答を使用します。他の人がそうであるように、送信する前にオフサイト URL を urlencode することをお勧めします。
これは、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 はより良い解決策のように思えますが、それは選択肢ではありませんでした。
あなたが持っている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