我之前在Zend框架中没有做过表单。所以我的.phtml页面设置正确并使用我的表单。我有控制器文件和mailer.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字段?
答案 0 :(得分:2)
在控制器中获取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并显示结果。