代码之家  ›  专栏  ›  技术社区  ›  Sadee

我可以在Zend框架中使用我的普通(HTML)表单吗?

  •  1
  • Sadee  · 技术社区  · 15 年前

    我可以在Zend框架中使用我的普通(HTML)表单吗?如何执行此操作?如何调用indexcontroller文件中的操作?

    5 回复  |  直到 12 年前
        1
  •  2
  •   roman    15 年前

    当然你可以…只使用

    <form action="/index/action" methode="POST">
    

    要访问post参数,请使用

    $this->getRequest()->getParam('argument')
    
        2
  •  1
  •   opHASnoNAME    15 年前

    没问题,将表单代码放入相关操作的视图脚本中。也许吧:

    formAction() 
    {
       // check if post request
       if ($this->getRequest()->isPost()) {       
           // read global $_POST array
           $data = $this->getRequest()->getPost();
       }
    }
    

    关联的视图比form.phtml

        3
  •  1
  •   Hanseh    14 年前

    是的,当然……您只需删除控制器中的isvalid调用,因为它不会执行任何验证,并且还必须删除post请求检查,如果它不包含任何表单。这就像创建一个包含简单链接的公共视图。

        4
  •  0
  •   markus    15 年前

    是的,我有一个叫做“接触”的模块,还有一个动作 addcontactAction() 在contactController.php中。

    所以我可以使用: /查看/脚本/联系人/addcontact.phtml

    <form  action="" method="post" name="frm_addcontact" />
    <input name="cn_fname" type="text" class="textbox" id="cn_fname"/>
    <input type="submit" class="button" id="save" value="Save" />
    </form>
    

    提交此表单时,它调用 添加联系人操作() 在控制器中。

    $cn_fname       = $_REQUEST['cn_fname']; 
    
        5
  •  0
  •   Vishal Pawar    12 年前

    只是要知道这不是一个很好的实施方法,但要解决这类问题,请执行以下操作: 在视图文件中定义窗体时

        <form action = "<?php echo $this->url(array('action'=>'ACTIONAME')); ?>" ...>
    ................
    </form> 
    

    在相应的操作名称中

     if($this->_request->isPost()){
            foreach ($_POST as $var => $value) { 
            echo "$var = $value<br>"; 
            }