Php 未显示或处理Zend Framework POST数据

Php 未显示或处理Zend Framework POST数据,php,zend-framework,Php,Zend Framework,这是我的表格:个人资料表格 它有两个元素password和passwordConf $this->password= new Zend_Form_Element_Password("password",array("label"=>"Password","required"=>true)); $this->passwordConf= new Zend_Form_Element_Password("confpassword",array("label"=&g

这是我的表格:个人资料表格

它有两个元素password和passwordConf

    $this->password= new Zend_Form_Element_Password("password",array("label"=>"Password","required"=>true));
    $this->passwordConf= new Zend_Form_Element_Password("confpassword",array("label"=>"Retype","required"=>true));
    $this->passwordConf->addValidator("Identical",array("token"=>"password"));
    $this->save=new Zend_Form_Element_Submit("save",array("label"=>"Change Password","class"=>"btn btn-primary"));
所以我在控制器中有一个实例,并将POST数据传递给它

    $profileForm= new Application_Form_Profile();

    if($_POST)
    if($profileForm->isValid($_POST))
    {

        $membersTable= new Application_Model_DbTable_Members();
        $member=$membersTable->find($this->user->id)->current();
        $member->password=sha1($profileForm->getValue("password").$member->salt);
        $this->_helper->flashMessenger(array("type"=>"success","content"=>"Password Changed!"));
        $this->_redirect("");

        $member->save();
    }

    $this->view->profileForm=$profileForm;
}
但是由于某种原因,我得到了Zend空的错误消息。我还注意到表单字段没有填充。 我在Chrome中检查了响应,结果显示post数据被很好地传递到页面。甚至做了一次打印(POST),即使这样,所有的数据看起来都很好。我在上面的代码块之前和之后都这样做了,但不起作用。它只是不填充表单,尽管传递了数据


PS:错误消息仅用于密码确认字段。密码字段工作正常

这里的问题是类变量的nae和元素的名称必须匹配

$this->passwordConf= new Zend_Form_Element_Password("confpassword",array("label"=>"Retype","required"=>true));

i、 e
$this->passwordConf
confpassword
不应不同,否则会发生此错误

Zend\u Form\u Element\u Password
默认设置为不重新显示与安全相关的值。没关系,但是密码conf的验证失败了,尽管我输入了datawow。显然,变量$this->passwordConf的名称和字段的名称必须匹配您应该在表单类中使用
addElement()
,例如
$this->addElement(new Zend\u form\u Element…
我已经习惯了这种语法。它更快,让我们使用$form->elementname直接访问表单元素,$form->getElement(“name”)的isntead