- 締切済み
QuickFormのradioボタンでエラーが出る
require_once("HTML/QuickForm.php"); $form = new HTML_QuickForm(); $ques[] = &HTML_QuickForm::createElement('radio', null, 'Yes', 'Yes', '1');←”ここでエラーがでる” $ques[] = &HTML_QuickForm::createElement('radio', null, 'No', 'No', '2'); $form->addGroup($ques, 'ques'); $form->addRule('ques', '入力してください。', 'required', null, 'client'); if ($form->validate()){ $form->freeze();} $form->addElement('submit','submit', '送信'); require_once("HTML/QuickForm/Renderer/ArraySmarty.php"); $renderer= new HTML_QuickForm_Renderer_ArraySmarty($smarty); $form->accept($renderer); $smarty->assign('form', $renderer->toArray()); $file = 'test.tpl'; $smarty->display($file) ----------------------------------------------------------- HTML_QuickFormでラジオボタンをチェックしたいのですが、「←”ここでエラーがでる”」の部分で、Fatal error: [] operator not supported for strings in /virtual/パス/test.php on line 19←ここの数字はエラー行 のエラーがでます。 どうやったら、エラーを回避できるか分かりません。 よろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- wp_
- ベストアンサー率54% (132/242)
- shimix
- ベストアンサー率54% (865/1590)
QuickFormは触ったことがありませんが(汗 [] operator not supported ということですから、[]がマズイのでは? $ques1 = &HTML_QuickForm::createElement('radio', null, 'Yes', 'Yes', '1'); $ques2 = &HTML_QuickForm::createElement('radio', null, 'No', 'No', '2'); $form->addGroup($ques1, 'ques'); $form->addGroup($ques2, 'ques'); とかではダメですか?(どうしても配列にしないと困るとか)配列だと、こんなの↓は通るんですかねぇ・・と私なら試行錯誤してみます(苦笑 $ques[0] = &HTML_QuickForm::createElement('radio', null, 'Yes', 'Yes', '1'); $ques[1] = &HTML_QuickForm::createElement('radio', null, 'No', 'No', '2'); $form->addGroup($ques, 'ques');
補足
>$ques1 = &HTML_QuickForm::createElement('radio', null, 'Yes', 'Yes', '1'); radioボタンが表示されませんでした。 >$ques[0] = &HTML_QuickForm::createElement('radio', null, 'Yes', 'Yes', '1'); 「Fatal error: Cannot create references to/from string offsets nor overloaded objects in /virtual/パス/test.php on line 19」 と言うエラーが出ました。
補足
array_push($ques, &HTML_QuickForm::createElement('radio', null, 'Yes', 'Yes', '1')); $ques2 = &HTML_QuickForm::createElement('radio', null, 'Yes', 'Yes', '1'); array_push($ques, $ques2); どうやって良いのか分からなかったので、上記のようにして試してみましたが、ダメでした。