2016-10-10 17 views
0

PHPを使用してXamppとApache 2.2.22の両方を使用してPHPでページのリロード/リフレッシュを検出しようとしています。それはPHPのリロードの検出がXamppで動作していますが、Apache2.2.22で動作していません。

<?php 
// Start the session 
    session_start(); 
    $RequestSignature = md5($_SERVER['REQUEST_URI'].$_SERVER['QUERY_STRING'].print_r($_POST, true)); 

    if (isset ($_SESSION['LastRequest']) && $_SESSION['LastRequest'] == $RequestSignature) 
    { 
      echo 'This is a refresh.'; 
    } 
?> 
+0

を試してみてくださいXAMPPに罰金WORKDが、(私のUNIX環境上)のApache 2.2.22を使用していませんか? 'xampp'がapacheサーバを使用するので混乱します。 – imrealashu

+0

はい。それはApache Serverを使用します。だから、上記のコードをApache ServerとしてXamppを使って実行すると、正常に動作します。しかし、UNIX環境でApacheサーバー(Apache 2.2.22)を使用しようとすると、動作しません。 – parul71625

+0

Xamppには、あらかじめ調べておく必要のある設定があります。 しかし、私はあなたがこれをやっているものを何を作成しようとしているのか知りたいですか? – imrealashu

答えて

1

あなたは少し手の込んだDIS

$pageWasRefreshed = isset($_SERVER['HTTP_CACHE_CONTROL']) && $_SERVER['HTTP_CACHE_CONTROL'] === 'max-age=0'; 

if($pageWasRefreshed) { 
    //do something because page was refreshed; 
} else { 
    //do nothing; 
} 
+0

は、少なくともコピー先の変数とコメントを変更します。 – Jigar

+0

それは問題です...ちょうど詰まった仲間を助けたいと思っていました。 –

+0

こんにちはありがとうございます。ページが更新されたときにうまく動作しますが、ページが読み込まれていないときは正常に動作しません。 – parul71625

関連する問題