- ベストアンサー
phpでリフレッシュな実行を毎回するにはどうすればいいですか?
以下のようにぐるぐると2つのPHPモジュールを移動したときに、php_pgm2.phpに行くとたまに前回表示した内容が再表示される事があります。 php_pgm2.phpでPF5などで再表示すると新しくなるのですが、毎回フレッシュな状態で実行するにはどうすれば良いですか? ■php_pgm1.php [表示] ↓ [ボタン] ↓ header("Location: php_pgm2.php") ↓ ■php_pgm2.php [表示] ↓ href="php_pgm1.php" ↓ ■php_pgm1.php [表示] ↓ [ボタン] ↓ header("Location: php_pgm2.php") ↓ ■php_pgm2.php [表示] ↓ href="php_pgm1.php" 例えば毎回セッションに時刻を書き込んだとしたら $_SESSION["aaaaa"] = time(); 最初のphp_pgm1.phpで$_SESSION["aaaaa"]が12時00分00秒 として php_pgm2.phpで$_SESSION["aaaaa"]が12時00分30秒 とすると 2回目のphp_pgm1.phpで表示されるのは12時00分30秒ではなく12時00分00秒となっています。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
ブラウザのキャッシュが表示されていると思われます。 PHPのheader関数を利用して、HTTPレスポンスヘッダで ブラウザにキャッシュ機能を使わないように指示してあげて見てください。 参考サイト:技林 http://tech.bayashi.net/pdmemo/browsercache.html
その他の回答 (1)
- papillon68
- ベストアンサー率61% (42/68)
spywareさん、こんにちは。 #1さんのようにキャッシュを無効にする方法と 違うページだとブラウザに認識させる方法があります。 キャッシュの無効方法については回答がありますので、省略します。 後者はURLの後ろにランダムな数字を付加したりなどして違うページだと思わせるやり方です。 例えば、以下のような方法です。 $rnd = time(); header("Location: php_pgm2.php?{$rnd}");
お礼
ありがとうございました。 お二人のやりがたを簡単にサンプル作成して試してみましたが、どちらも大丈夫でした。