1

セッションに保存されたデータを HTML フォームに入力しようとしています。これは私がこれまで行ってきたことですが、機能していません:

私のコントローラーで:

      $sessionErrorForm = new Zend_Session_Namespace('errorForm');

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

      $this->_redirect('/inscription');

私の見解では、セッションが存在する場合、値フィールドに何かを表示する必要があります:

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

よろしくお願いいたします。

4

1 に答える 1

0

Ok。ここと同じこと。アクセスする前に、常にセッションをインスタンス化する必要があります。コントローラーで宣言できます。

$session = new Zend_Session_Namespace('errorForm');
$this->view->sessionErrorForm = $session;

$this->sessionErrorFormビューで次のようにアクセスします。

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

または、ビューで宣言して、次のように使用できます。

<?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 *"/>

ただし、以前のリクエストでセッションに書き込む場合、以前にスコープで宣言していない場合は、常にセッションへの新しい参照を作成する必要があります。

于 2012-09-24T10:14:42.690 に答える