PHP-Zend框架getPost()返回null并且select()函数不起作用

时间:2016-03-05 08:57:58

标签: php zend-framework

我是Zend的新手并且是我的第一个大项目。我面临两个问题:

第一个是getPost()总是返回NULL。我也尝试了不同的方法,但即使是$_POST[],但仍然返回NULL。这是代码 形式:

<?php 
class Application_Form_Add extends Zend_Form
{

    public function init()
    {
        /* Form Elements & Other Definitions Here ... */
        $this->setAction('b-add'); 
        $this->setMethod('post') ; 


        $name = new Zend_Form_Element_Text('name') ;
        $name->setRequired(true) ; 
        $name->setLabel('Podaj tytul') ;


        $sciezka = new Zend_Form_Element_Text('sciezka') ;
        $sciezka->setRequired(true) 
        ->setLabel('Podaj sciezke') ;


        $kom = new Zend_Form_Element_Text('kom') ;
        $kom->setRequired(false) 
        ->setLabel('Podaj komentarz') ;


        $sub = new Zend_Form_Element_Submit('sub') ;
        $sub->setRequired(true) 
        ->setLabel('dodaj album') ;


        $this->addElements(array($name,$sciezka, $kom, $sub)) ;
    }

并且b-add

public function bAddAction()
    {
        // action body
        if(isset($_POST['name'])) {

            $name = $this->getRequest()->getPost('name', null);
            $sciezka = $this->getRequest()->getPost('sciezka', null);
            $kom = $this->getRequest()->getPost('kom', null);

            require_once "C:/xampp/htdocs/projects/plyta/application/models/Database.php" ;

            $datab = new Application_Model_Database();

            $datab->add(array(
            [name] => $name,
            [sciezka] => $sciezka,
            )) ;

            //header('Location : index') ;*/
        }
}

第二个错误是当我使用select()时,找不到网页:

public function pokaz() {
    $db =new Application_Model_DbTable_Database() ;
    $select = $db->select();
    $select->from('pytania') ;
    $r = $select->query() ;
}

1 个答案:

答案 0 :(得分:0)

您可以尝试以下方法:

use Application_Model_Database; // put this above class declaration

 public function bAddAction()
    {   
     if ($this->request->isPost()) {
         $formData = $this->request->getPost();
         $datab = new Application_Model_Database();

                $datab->add(array(
                ['name'] => $formData['name'],
                ['sciezka'] => $formData['sciezka'],
                )) ;
}
}

我注意到了一些事情,但特别是一个错误。在宣布阵列的地方,您还没有放入“阵列”中。或&#34;围绕着名字和sciezka。 希望这会有所帮助。

$datab->add(array(
            [name] => $name,
            [sciezka] => $sciezka,
            )) ;