1

我以前没有在 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
    (
    )

 )

我需要获取全名字段。我怎样才能回显/打印出全名字段?

4

1 回答 1

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

于 2012-08-07T21:01:06.380 回答