表单操作不在zend框架main.phtml文件中

时间:2014-11-21 15:28:57

标签: php zend-framework amember

**<div>
</div>
<form method='post' action='<?php echo /application/default/controllers/views/certificates.php  ?>'>
<input type='text' id='lon' value='<?php echo $user->login?>'/>
<input type='submit' Name='submit' value='Certificate'/>
    </form>
</div>
</div>**

上面的代码在用户页面中生成表单,但表单操作给出了错误,如找不到。 所以请给出一些答案来解决这个问题并帮助我将表单操作设置为zend框架中的.php文件。我正在使用wamp服务器来运行它。

1 个答案:

答案 0 :(得分:0)

aMember通过Front Controller(index.php文件)路由所有请求。无法直接从Web访问文件 /application/default/controllers/views/certificates.php 。我建议将您的文件certificates.php放在aMember文件夹之外。然后你就可以提交表格了。

其他选项是实现将处理此类表单提交的自定义控制器。您可以将控制器的代码放到site.php文件中 (http://www.amember.com/docs/Site.php_file)。

以下是代码示例:

class CertificatesController extends Am_Mvc_Controller {

    function indexAction()
    {
        //handle form submit here
    }
}

然后在表单操作属性中使用以下内容:

<form method="post" action="<?php p(REL_ROOT_URL . '/certificates') ?>">
  • REL_ROOT_URL - 具有当前相对网址的常量 aMember安装
  • p - 转义字符串并输出它的函数 在模板中