回答:
Cookie(状況に応じて許容できる場合)またはセッション変数に格納します。
session_start();
if ( !isset( $_SESSION["origURL"] ) )
$_SESSION["origURL"] = $_SERVER["HTTP_REFERER"];
http_referer
存在しないことが多いため、存在するかどうかも確認する必要があります。これにより、「未定義のインデックス」エラーが発生する可能性があります。
Cookieは参照ページのリポジトリとしてCookieを使用する方がはるかに優れています。Cookieはブラウザーが閉じられるまでリファラーを保持するため(ブラウザーのタブが閉じられても保持されます)、ユーザーがページを開いたままにした場合は、週末の前に、数日後に戻った場合、セッションはおそらく期限切れになりますが、Cookieはまだ残っています。
そのコードをページの先頭に配置します(Cookieはエコー/印刷の前にのみ適切に設定されるため、html出力の前に):
if(!isset($_COOKIE['origin_ref']))
{
setcookie('origin_ref', $_SERVER['HTTP_REFERER']);
}
その後、後でアクセスできます。
$var = $_COOKIE['origin_ref'];
また、@ pcpが$ _SERVER ['HTTP_REFERER']のエスケープについて提案したことに加えて、Cookieを使用する場合は、リクエストごとに$ _COOKIE ['origin_ref']をエスケープすることもできます。
これを試して
(isset ($_SERVER['HTTP_CLIENT_IP']) ?
$_SERVER['HTTP_CLIENT_IP'] :
(isset ($_SERVER['HTTP_X_FORWARDED_FOR']) ?
$_SERVER['HTTP_X_FORWARDED_FOR'] :
$_SERVER['REMOTE_ADDR']
)
)
IP ADDRESS
が、投稿は問題のREFERER
ページへと導いたウェブページについてです。