1 ページに 2 つのフォームがあり、1 つはログイン用で、もう 1 つはパスワードを忘れた場合です。
<?php echo $this->layout()->user_login = $this->action('login','user',null); ?>
<?php echo $this->layout()->user_forgot = $this->action('forgot','user',null); ?>
フォームはアクションであり、各フォームには独自のビューがあります。アクションを忘れたハッシュバリデータがありますが、忘れたフォームを送信すると、「与えられた2つのトークンが一致しません」というエラーが表示され、レイアウト中に考えますprocess 、フォームがインスタンス化され、ハッシュIDが変更されます:(修正方法がわかりません...
それは忘れられた形です
<?php
class listab_Form_Forgot extends Zend_Form
{
public function init()
{
$this->addPrefixPath("listab_Model",'listab/Model/','decorator');
// initialize form
$this->setAction('/user/forgot')
->setMethod('post');
// create text input for name
$user = new Zend_Form_Element_Text('name');
$user->setLabel('username or email')
->setOptions(array('size' => '30'))
->addFilter('HtmlEntities')
->addFilter('StringTrim')
->setDecorators(array('ViewHelper','Label'))
->setRequired(true);
$submit = new Zend_Form_Element_Submit('subfg');
$submit->setLabel('help me find my password')
->setOrder(100)
->setOptions(array('class' => 'submit'))
->setAttrib('class', 'gbox ozvbut')
->setDecorators(array('ViewHelper');
$hash = new Zend_Form_Element_Hash('hashs');
$hash->setSalt('wannaknowthisha?') ;
$this->addElement($user)
->addElement($hash)
->addElement($submit) ;
}
}