检测表单是否已发送

时间:2012-12-13 13:23:48

标签: php zend-framework submit

在我的控制器中,我只需要在发送表单时启动一些指令。

这是我的控制者:

public function indexAction() 
  {    

       $form   = array();
       $submit = $this->getRequest()->getParam('submit');


        if (!empty($submit))         
        {         

            $lastname = $this->getRequest()->getParam('last-name');
            $name     = $this->getRequest()->getParam('name');
            $email    = $this->getRequest()->getParam('email');

            $form     = array(

                'lastname' => $lastname,
                'name'     => $name,
                'email'    => $email);          

            $confirm      = Tools::checkInscription($form);

            var_dump($confirm);
            exit();

           if ($confirm === true)
           {        
                  Tools::saveUser($form);   
           }
           else 
           {
                  // Mets une variable a true pour savoir dans ta vu que tu as une erreur.  
                  $this->_redirect('/inscription');
           }


        }



  }

问题是$ submit似乎总是返回null。

我的观点:

        <form id="formulaire">
            <div class="msg">
                <p class="error">Merci de vérifier les champs en rouge</p>
            </div>
            <div class="last-name">
                <input type="text" class="error" id="last-name" name="last-name" placeholder="Votre nom" />
            </div>
            <div class="name">
                <input type="text" id="name" name="name" placeholder="Votre prénom"/>
            </div>
            <div class="email">
                <input type="text" id="email" name="email" placeholder="Votre email"/>
            </div>
            <button type="submit" title="Valider"></button>
        </form>

任何人都可以帮助找到我做错了什么 提前谢谢

3 个答案:

答案 0 :(得分:1)

如果您将表单方法设置为POST,则可以使用以下方法进行检查:

if ($this->getRequest()->isPost()) {

}

答案 1 :(得分:0)

尝试

<input type="submit" title="Valider">

而不是

<button type="submit" title="Valider"></button>

并改变

<form id="formulaire" action="" method="post">

而不是

<form id="formulaire">

答案 2 :(得分:0)

您的提交按钮应该是输入:

<input type="submit" title="Valider" />

你的表格应该有一个动作:

<form id="formulaire" method="POST" action="some_page.php">