2016-10-11 6 views
2

PHP 5.6では、私がページAにいて、ページAの起動ページBであれば、ページAのURLを取得する方法がありますページB?PHPで起動ページのURLを取得する方法はありますか

私はページA.

+0

あなたは何起動ページB '手段を指定してもらえますか?ユーザーは他のページにリダイレクトされますか?あるいは、ページBにページBを何とか入れたいのですか? – Defozo

+0

このようなアンカー要素を使ってa.phpからb.phpを起動したい:launch B Andy

答えて

4

ブラウザ(ユーザーエージェント)がそれをサポートしている場合は、あなたが使用できます。

$_SERVER['HTTP_REFERER'] 

「HTTP_REFERER」

にユーザーエージェントを参照するページ(もしあれば)のアドレス現在のページ。これはユーザエージェントによって設定されます。すべてのユーザーエージェントでこれを設定するわけではなく、HTTP_REFERERを機能として変更する機能もあります。要するに、それは本当に信頼できるものではありません。

http://php.net/manual/en/reserved.variables.server.php

2

からページBを起動するときは、$_SERVER['HTTP_REFERER']を使用して、それを確認することができURLのAの値を渡すためにクエリパラメータを使用しないことに注意してください。 HTTPリファラーヘッダは文字列を返します。あなたはこれで作業する方法がわからない場合、あなたは試すことができます:

echo $_SERVER['HTTP_REFERER']; 

をお使いのユーザーは、Googleのページで来た場合は、$_SERVER['HTTP_REFERER']はあなたにhttp://www.google.com

を与えるそして、もちろん、ドキュメントを確認してください。http://php.net/manual/en/reserved.variables.server.php

launchincludeまたは requireを意味
3

場合は、この(印刷例)でURLを取得することができます:

echo $_SERVER['HTTP_HOST'].$_SERVER['SCRIPT_NAME']; 

http://example/web/pageb.php 

私はそれが動作を確認するためにこれをテストしていますように、

$_SERVER['HTTP_HOST']は、ベースURLを出力しますと$_SERVER['SCRIPT_NAME']は、残りの部分(サブフォルダとファイル名)を印刷します。しかし、ここに脆弱性が存在する可能性があるので、必ず逃げてください。あなたのケースでは、$_SERVER['HTTP_REFERER']nullの場合にも機能します。

関連する問題