[PHP-users 13388] PHP4のセッション管理

Masato Tanaka php-users@php.gr.jp
Tue, 18 Feb 2003 17:55:28 +0900


こんにちは。田中と申します。

PHP4のセッション管理についての質問です。
環境はPHP4.2.2です。

カウントアップのプログラムを試しに作ってみました。
ボタンをクリックしたとき(POST)にはカウンタが正常にアップしていくのですが、
リンクをクリックしたとき(GET)にはブラウザがキャッシュを読み込んでしまうた
めか
最初の一度しかカウンタがアップしません。
これを正常にカウントアップさせる方法をご存知でしたら教えていただけると嬉しい
です。


以下session.phpの内容
******************************

<?php
session_cache_limiter("private");
session_start();


if (!isset($_SESSION["cnt"])) {
  // 新規セッション開始直後ならカウンタをクリア
  $cnt =0;
} else {
  // そうでなければセッション変数から前回のカウンタをクリア
  $cnt = $_SESSION["cnt"];
}

if (isset($_REQUEST["countup"])) {
  // カウントアップ要求
  $cnt++;
}
?>


<?php
print<<<EOF
カウント: $cnt<br>
<a href="{$_SERVER["PHP_SELF"]}?countup=true">カウントアップ</a>
<form method="post" action="{$_SERVER["PHP_SELF"]}">
<input type="submit" name="countup" value="カウントアップ">
</form>
EOF;

// セッション変数を登録
$_SESSION["cnt"] = $cnt;
?>