Typo3没有将发布数据发送到联系表单

时间:2013-09-09 07:30:53

标签: php post typo3

我正在开发一个基于typo3的系统(版本4.7),并尝试让联系电子邮件表单生效。发送简单的基于文本的电子邮件是一个相当简单的(名称,电子邮件,一些字段,如地址和问题文本)。我目前使用的插件是powermail

在我的本地系统版本上测试此表单时,它会将电子邮件发送到我的地址而没有任何问题 - 但在实时系统上,它只会显示消息

An error occurred while trying to call Tx_Powermail_Controller_FormsController->createAction(). Error: Required property 'form' does not exist.

我已经知道的事情:

问题似乎是html表单没有向扩展控制器提交任何POST数据,因此它没有任何工作可用并显示该错误......

这是 powermail的问题,使用其他扩展程序构建表单(mailformplus,内置form插件...)也存在同样的问题:没有发布帖子数据。

通常,该服务器上的POST数据也不是问题,只需调用一个简单的测试脚本:

<form method="post" action="test.php?gettest=1" enctype="multipart/form-data">
    <input type="text" name="test" value="" />
    <input type="submit" name="submit" value="Testen" />
</form>

来自typo3系统中的脚本不是显示

GET:

array (size=1)
  'gettest' => string '1' (length=1)

POST:

array (size=2)
  'test' => string 'test' (length=4)
  'submit' => string 'Testen' (length=6)

正确地在test.php(这只是var_dump($_POST/$_GET))。

但是,在typo3系统中将上面的内容构建为一个页面会在test.php中显示一个空的POST数组。

问题与realurl已停用相同。

现在我的问题是,在typo3重写/重定向请求中是否还有其他内容可能会丢失POST数据?正如我所说,我的本地系统工作,我真的找不到这两者之间的任何配置差异......(但我还远远没有理解错误的CMS内部工作的每一点)

1 个答案:

答案 0 :(得分:2)

它现在终于有效了,对于网络服务器来说这是一个相当愚蠢的简单问题。

它重写了对此站点的请求以使用http://example.de作为引用者,而Typo3生成的链接使用http://www.example.de(因为我将其作为config.baseUrl输入)。

正常页面没有任何问题,但每次在Typo3中使用POST - 形式时都会导致POST - 数据未被发送,导致上述错误来自Powermail(和所有其他电子邮件插件)。

所以解决方案是将config.baseUrl设置为http://example.de,与网络服务器重写请求完全相同。

我希望也许这可以帮助其他人有一天遇到类似的问题;)