2012-12-13 91 views
0

在我的控制器中,我需要一些指令才能在表單已發送時啓動。檢測表單是否已發送

這是我的控制器:

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'); 
      } 


     } 



    } 

問題$提交似乎總是返回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> 

誰能幫助找到我在做什麼提前

+2

不應該是'

+1

你表格不具有行動? –

+1

你的按鈕需要'name =「submit」',不是嗎? –

回答

1

你的提交按鈕應該是輸入:

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

和您的形式應該有一個動作:

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

錯誤 感謝嘗試

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

代替

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

並改變

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

代替

<form id="formulaire"> 
2

如果您設置你的表單方法來POST你可以用這個檢查一下:

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

}