[PHP-users 27869] PHPとPEARでHTML_QuickFormのaddGroupの挙動について
GaGaCat
gagacat @ n.email.ne.jp
2005年 12月 19日 (月) 19:32:27 JST
はじめまして。
早速の質問で恐縮ですが...
PEARのHTML_QuickFormを使用していて不思議な現象に
当たってしまいました。
addGroup()の第一引数に与える変数名と、第二引数に与える
文字列は同じにしてはいけないのでしょうか?
「PEAR入門」を参考に以下のソースを実行し、送信ボタンを
押すと...
----------
Fatal error: Call to a member function getName() on a non-object in C:\php\PEAR\HTML\QuickForm\group.php on line 391
----------
となってしまいます。
<body>
<?php
require_once("HTML/QuickForm.php");
function showForm($values) {
print_r($values);
}
$form = new HTML_QuickForm("myForm");
$gender[] = $form->createElement("radio", "gender1", NULL, "男",
"male");
$gender[] = $form->createElement("radio", "gender2", NULL, "女",
"female");
$form->addGroup($gender, "gender", "性別:");
$form->addElement("submit", "sbm", "送信");
if($form->validate()) {
$form->process("showForm", FALSE);
}
else{
$form->display();
}
?>
</body>
ここで、上記の
$form->addGroup($gender, "gender", "性別:");
を
$form->addGroup($gender, "sex", "性別:");
にする(第二引数を変える)か、もしくは
$gender[] = $form->createElement(...
を
$sex[] = $form->createElement(...
にする(変数名を変える)と期待した動作になります。
-- 第二引数を変えた場合の結果 --
Array
(
[sex] => Array
(
[gender2] => female
)
[sbm] => 送信
)
-- 変数名を変えた場合の結果 --
Array
(
[gender] => Array
(
[gender2] => female
)
[sbm] => 送信
)
「PEAR入門」の本文中でも、添付のサンプルでも同じ名前(?)
を使用しており、私の環境では添付のサンプルは動きません。
どなたか上記現象に当たった方はおられますでしょうか?
以上、乱文ではありますがよろしくお願いいたします。
-- 環境 --
PHP:
Version 5.1.1
PEAR:
Version 1.4.5 / Release Date 2005-11-21
HTML_QuickForm 3.2.5 stable
HTML_QuickForm_Controller 1.0.5 stable
Apache:
Version 2.0.55 (Win32)
OS:
Windows XP Professional(SP2)
----------
ぼけ猫
----------
PHP-users メーリングリストの案内