そこで、Zend Frameworkを使用して以下のフォームを作成し、それをカスタマイズします。私の最初の問題は、csrfハッシュセキュリティでアプリケーションエラーが発生することです。ただし、それらの行を削除すると、空白の画面が表示されます。これは、CPATCHA保護を削除した場合にのみ解決されます。誰かが私に理由を説明できますか?
私のフォーム:
class Application_Form_Clips extends Zend_Form
{
    public function init()
    {
        // Set the method for the display form to POST
        $this->setMethod('post');
        // Add an email element
        $this->addElement('text', 'email', array(
            'label'      => 'Your email address:',
            'required'   => true,
            'filters'    => array('StringTrim'),
            'validators' => array(
                'EmailAddress',
            )
        ));
        // Add the comment element
        $this->addElement('textarea', 'comment', array(
            'label'      => 'Please Comment:',
            'required'   => true,
            'validators' => array(
                array('validator' => 'StringLength', 'options' => array(0, 20))
                )
        ));
        // Add a captcha
        $this->addElement('captcha', 'captcha', array(
            'label'      => 'Please enter the 5 letters displayed below:',
            'required'   => true,
            'captcha'    => array(
                'captcha' => 'Figlet',
                'wordLen' => 5,
                'timeout' => 300
            )
        ));
        // Add the submit button
        $this->addElement('submit', 'submit', array(
            'ignore'   => true,
            'label'    => 'Sign Guestbook',
        ));
        // And finally add some CSRF protection
        $this->addElement('hash', 'csrf', array(
            'ignore' => true,
        ));
    }
}
私のコントローラー:
class AdminController extends Zend_Controller_Action
{
    public function init()
    {
        // get doctrine and the entity manager
        $this->doctrine = Zend_Registry::get('doctrine');
        $this->entityManager = $this->doctrine->getEntityManager();
        // get the users repository
        $this->indexVideos = $this->entityManager->getRepository('\ZC\Entity\Videos');
        $this->indexClips = $this->entityManager->getRepository('\ZC\Entity\Clips');
    }
    public function indexAction()
    {
        // action body
    }
    public function clipsAction()
    {
        // get a form
        $form = new Application_Form_Clips(); 
        $this->view->form = $form;
    }
    public function videosAction()
    {
        // action body
    }
}
私の見解:
<?php echo $this->form; ?>