[PHP-users 8071] $_POST変数を初期化するには

ishihara php-users@php.gr.jp
Sun, 16 Jun 2002 13:42:28 +0900


こんにちは。
石原と申します。

【実現したいこと】
1.同じページにテキストボックスのデータ$_POST["xxx"]をPOSTしてpostgreSQLに
  登録したい。
    (これは実現できている)
2.ブラウザの更新ボタンがクリックされてもデータがpostgreSQLに登録
  されないようにしたい。

【質問】
$_POST["xxx"]グローバル変数(連想配列)を初期化することはできるのでしょうか
?

要するに、同じページにPOSTしてデータをDBに登録はしたいのですが、
$_POST["xxx"]グローバル変数(連想配列)のデータがそのまま残ってしまう
(キャッシュ?)。
その影響か、一度正常に登録後、ブラウザの更新ボタンをクリックすると、
isset($_POST["xxx"])にて、テキストボックスに入力されているか判別しているが、
初期化されていない$_POST["xxx"]グローバル変数(連想配列)のデータの為、入力
されていると判断され、DBに登録されてしまうんです。
そこで、正常にデータ登録後、$_POST["xxx"]を初期化またはクリアできれば、更新
されても、データ登録はされないだろうと考えたわけですが・・・


ソース例
$db = pg_connect("localhost", "", "", "db_name");
if (!$db) {
  echo "DB接続エラー<br>\n";
} else {
  if (isset($_POST["xxx"])) {
    データ登録
    $_POST["xxx"]の初期化(クリア)
  }
}

誰か知恵をお貸し下さい。