[PHP-users 23117]HTML_QuickFormControllerのcheckboxの不審な挙動?

cxn03651 @ msj.biglobe.ne.jp cxn03651 @ msj.biglobe.ne.jp
2004年 8月 27日 (金) 16:00:31 JST


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

 Linux、apache、php+pearでサーバを立てていますが、おかしな現象に出会っ
ています。

 PEARのHTML_QuickFormControllerでチェックボックスのあるフォームを表示す
るときに、呼び出し側メソッドがGETとPOSTで挙動が異なるようなのです。

 末尾に私のところでの再現ソースを載せますが、QFCcheckbox.phpで
setDefaults()でチェック状態を規定値としている時に、
 GET で呼び出し・・・チェックされている(正常)
 POSTで呼び出し・・・チェックされない(???)
となってしまうのです。

 ブラウザは、WindowsXpPro上のIE6、Linux上のlynx、w3mで確認しています。

 とりあえず、GETで呼び出すことで急場しのぎをしていますが、こういうもの
なのでしょうか。それとも、私の環境のどこかに問題があるのでしょうか。
 PEARのソースを眺めてみましたが、複雑で・・・。

 よろしくお願いいたします。

------- test.html ---------
<html>
<head>
<title>QFCcheckbox TEST</title>
</head>
<body>
<form action="QFCcheckbox.php" method="get">
<input type="submit" name="GETbtn" value="QFcheckbox TEST by GET">
</form>
<form action="QFCcheckbox.php" method="post">
<input type="submit" name="POSTbtn" value="QFCcheckbox TEST by POST">
</form>
</body>
</html>
------- end of test.html --------

------- QFCcheckbox.php --------
<html>
<head>
<title>QFcheckbox TEST Result</title>
</head>
<body>
<?php

require_once '/usr/share/pear/HTML/QuickForm/Controller.php';

class checkboxForm extends HTML_QuickForm_Page
{
    function buildForm()
    {
        $this->_formBuilt = true;
        $this->setDefaults( array('test' => true) );
        $this->addElement('checkbox', 'test', 'checkbox', 'checked ?');
    }
}

// main routine
$page =& new HTML_QuickForm_Controller('form');
$page->addPage(new checkboxForm("TEST"));
$page->run();

?>
</body>
</html>
------- end of QFCcheckbox.php --------

我が家の環境:(関係しそうなもの)
Vine Linux 3.0  kernel 2.4.26-0vl15
apache-1.3.31-0vl5
php-pear-4.3.8-0vl1
php-4.3.8-0vl1
php-apache-4.3.8-0vl1

PEAR関係
HTML_Common               1.2.1   stable
HTML_Form                 1.0.1   stable
HTML_Menu                 2.1.1   stable
HTML_QuickForm            3.2.3   stable
HTML_QuickForm_Controller 1.0.2   stable
PEAR                      1.3.2   stable
PHPUnit                   1.0.1   stable

                  中村(cxn03651 @ msj.biglobe.ne.jp)




PHP-users メーリングリストの案内