Zend Framework - 电子邮件主题行中的变量

时间:2012-08-07 20:42:27

标签: php forms zend-framework email variables

我之前在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字段?

1 个答案:

答案 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并显示结果。