我以前没有在Zend框架中做过表单。所以我有我的 .phtml 页面,该页面设置正确并使用我的表单。 我有控制器文件和邮件.php文件,它们都工作正常。 表单使用 javascript 进行验证,向用户发送 HTML 电子邮件。 所有这些都工作正常。 我通常会被困在最简单的事情上。
下面是我的控制器文件中的快照,这是设置主题行的位置。
$arrData = $this->_request->getPost();
if (count($arrData) > 0) {
$arrErrors = array();
$objMailer = mymailer($arrData);
$objMailer->setSubject('Subject Line');
这工作正常,但我想在主题行中包含一个变量(或者更确切地说是一个 $_POST 字段)。 我已经使用标准PHP表单多次执行此操作,所有内容都在同一页面上。 我认为我的问题是 .phtml 页面正在将表单操作发布到我的控制器文件中的公共函数,然后运行邮件 php 脚本。
我尝试打印$arrData,什么都没有,试图看看我是否可以抓住我想要的 _POST 美元字段。
如何从原始 .phtml 页面中获取 $_POST 字段? 我认为这就是这里的问题。
感谢您的任何帮助,也许我需要休息一下然后回来,这通常会有所帮助。
我能够在这里打印出数组:print_r($objMailer);
mymailer Object
(
[_strRecipient:mymailer:private] =>
[_strBcc:mymailer:private] =>
[_strSubject:mymailer:private] =>
[_strEmail:mymailer:private] =>
[_arrData:mymailer:private] => Array
(
[full_name] => brian
[invitee_name] => test
[email] => test@testing.com
[captcha] => kqd2q9
)
[_arrAttachments:mymailer:private] =>
[_blnCaptcha:mymailer:private] => 1
[_arrErrors:mymailer:private] => Array
(
)
)
我需要抓住full_name领域。 如何仅回显/打印出full_name字段?
有
几种不同的方法可以在控制器中抓取 POST 变量。
基本的方式。
$post = $this->_request->getPost()
我通常使用这个...
$id = $this->_request->getParam('id', 0)
getParam 函数将返回 $_POST['id']/$_GET['id'] 的值或 0
尝试
$objMailer->setSubject($arrData['full_name']);
如果这不起作用,请对$arrData进行var_dump并显示结果。