[PHP-users 9599] Re: セッション変数の内容が復活する

Kohsaku php-users@php.gr.jp
Wed, 28 Aug 2002 17:58:41 +0900


佐藤です。

> 今作りこんでいるプログラムの方でこの問題が発生してるのですが、そちらの方
> では checkbox のほかに text や radio なども宣言していて、これらは
> $_SESSION = $_POST で正常に(こちらが意図した通りに)引き継がれているん
> です。

以下のPHPスクリプトを実行してみてください。
そして、URLの文字列を良く見るとなぜCheckBoxだけが意図したと
おりに動作しなかったかが見えてくると思います。

---- test3.php ----
<?php
  session_start();
?>
<html>
<body>
  <?php
    if ($_SESSION['C1'] == "ON")
      echo "ON";
    else
      echo "off";
  ?>
</body>
<form method="get" action="test4.php">
  <input type="checkbox" name="C1" value="ON">abc<br>
  <input type="radio" name="R1" value="123">123
  <input type="radio" name="R1" value="456">456
  <input type="submit" value="送信" name="B1">
  <input type="reset" value="リセット" name="B2">
</form>
</body>
</html>

---- test4.php ----
<?php
  session_start();
  $_SESSION = $_GET;
?>
<html>
<body>
  <?php
    if ($_SESSION['C1'] == "ON")
      echo "C1:ON<br>";
    else
      echo "C1:off<br>";
    echo "R1:". $_SESSION['R1']. '<br>';
  ?>
  <a href="test3.php">back</a>
</body>
</html>

  //--------------------------------//
 // Kohsaku (kohsaku@feelssoft.jp) //
//--------------------------------//