Php 使用Zend Framework会话填充HTML表单

Php 使用Zend Framework会话填充HTML表单,php,forms,zend-framework,Php,Forms,Zend Framework,我试图用会话中保存的数据填充HTML表单。这是我迄今为止所做的,但它不起作用: 在我的控制器中: $sessionErrorForm = new Zend_Session_Namespace('errorForm'); $sessionErrorForm->prenom = $form['prenom']; $this->_redirect('/inscription'); $session = new Zend_Session_Na

我试图用会话中保存的数据填充HTML表单。这是我迄今为止所做的,但它不起作用:

在我的控制器中:

      $sessionErrorForm = new Zend_Session_Namespace('errorForm');

      $sessionErrorForm->prenom     = $form['prenom'];

      $this->_redirect('/inscription');
$session = new Zend_Session_Namespace('errorForm');
$this->view->sessionErrorForm = $session;
在我看来,如果存在会话,我需要在值字段中显示一些内容:

 <div><input type="text" name="prenom" value="<?php if (isset($sessionErrorForm->prenom)): echo $sessionErrorForm->prenom; endif;?>" title="Pr&#233;nom *"/>
提前感谢您的帮助

好的。和你一样。您必须先实例化会话,然后才能访问它。您可以在控制器中声明它:

      $sessionErrorForm = new Zend_Session_Namespace('errorForm');

      $sessionErrorForm->prenom     = $form['prenom'];

      $this->_redirect('/inscription');
$session = new Zend_Session_Namespace('errorForm');
$this->view->sessionErrorForm = $session;
并使用$this->sessionErrorForm在视图中访问它:

或者,您可以在视图中声明它,并按如下方式使用它:

<?php $sessionErrorForm = new Zend_Session_Namespace('errorForm'); ?>    
<div><input type="text" name="prenom" value="<?php if (isset($sessionErrorForm->prenom)): echo $sessionErrorForm->prenom; endif;?>" title="Pr&#233;nom *"/>

但是,如果您在以前的请求中写入会话,您必须始终为会话创建一个新引用,前提是您之前没有在作用域中声明它。

在分配到会话之前,您是否获得$form['prenom']值?是的,此部分正在工作。我在会话中测试了数据,它是正确的…它只是不显示在HTMLdoes中。您在没有isset条件的情况下获取数据吗?不幸的是,没有isset,它也不工作