[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 メーリングリストの案内