2014-11-21 86 views
0
**<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服务器来运行它。表单操作在zend框架main.phtml文件中不工作

+1

只需指定'action =“controller/action”'并加载您的证书视图从该操作。 – 2014-11-22 05:50:52

+0

我已经在控制器目录中创建了新文件,并在那里创建了一个新类,但是如何在.phtml文件中创建一个视图,以及如何在控制器文件中实现表单动作。 – 2014-11-25 07:12:13

+0

使用'zftool'完成这项任务。 – 2014-11-25 07:18:39

回答

0

aMember通过前端控制器(index.php文件)路由所有请求。直接从网站访问文件/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 - 不断有相对URL到您当前 aMember安装
  • p - 功能,逃生字符串,并输出 模板内