1

コントローラーアクションがあります

public function pagedetailAction(){

    $id  = $this->_getParam('id',0);
    $detail = new Application_Model_Page();
    $this->view->detail = $detail->findArr($id);
    //CALLING FORM WITH OTHER CONTENTS
    $form = new Application_Form_Request();
    $this->view->form = $form;

}

フォームを処理するために私はこの機能を持っています

public function submitrequestAction(){

    if ($this->getRequest()->isPost()) {
        $formData = $this->getRequest()->getPost();
        if ($form->isValid($formData)) {


            $newsadd = new Application_Model_Request($formData);
            $newsadd->set_ID(null);
            $newsadd->save();

            $this->_helper->flashMessenger->addMessage(array('success'=>'Message Sent'));
            $this->_redirect('/index/frontmsg');
        } else {
            $form->populate($formData);
        }

    }

}

[送信]をクリックすると、エラーが発生します

Notice: Undefined variable: form in E:\xampp\htdocs\sandbox1\application\controllers\IndexController.php on line 84

Fatal error: Call to a member function isValid() on a non-object in E:\xampp\htdocs\sandbox1\application\controllers\IndexController.php on line 84

このフォームを介してデータベースに値を投稿できるように、私を助けてください。ありがとう

4

2 に答える 2

1

これを使って

 public function submitrequestAction(){

    if ($this->getRequest()->isPost()) {
        $form = new Application_Form_Request();//added this
        $formData = $this->getRequest()->getPost();
        if ($form->isValid($formData)) {


            $newsadd = new Application_Model_Request($formData);
            $newsadd->set_ID(null);
            $newsadd->save();

            $this->_helper->flashMessenger->addMessage(array('success'=>'Message Sent'));
            $this->_redirect('/index/frontmsg');
        } else {
            $form->populate($formData);
        }

    }

} 
于 2012-05-15T09:50:57.770 に答える
0

$form初期化をsubmitrequestActionに追加します。

$form = new Application_Form_Request();
于 2012-05-15T10:52:21.840 に答える