Webform不提交,而是重定向到自己


8

我即将投入生产的Drupal网站的Webforms已停止保存提交。而是返回到同一页面,其中包含输入的值。当它停止工作时,我没有时间表。在沙盒环境中,Webform 7.x-3.17可以正常工作。

我正在寻找进一步调试的建议。

我尝试了以下方法,但没有成功:

  • 禁用所有引用Webform的模块(特别是Webform TemplateWebform Validation,以及我自己一直在使用的自定义模块hook_form_alter)。
  • 升级到最新的Webform(是的,我记得使用过update.php)。
  • 根据文件,结合hook_form_alter($form, &$form_state)array_unshift($form['#submit'],'my_custom_submit')插入定制的回调,在这里我呼吁drupal_build_form($form['form_id']['#value'],$form_state)效仿提交。
  • 显然,持续刷新缓存。
  • 确保已发布Webform。
  • 编写一个简单的模块以进行简单监视$form_state['executed'](它始终返回false)。
  • 检查我的服务器是否error_log同时使用SSH和FTP。
  • 检查报告>最近的日志消息。
  • 新增功能:尝试禁用和卸载Webform,删除旧的Webform文件并安装新的Webform版本;不好。

我敢肯定,这个问题不是隔离在Webform上的,因此发布到他们的问题队列中没有任何意义。

我还可以使用哪些其他调试方法来解决此错误?如果禁用所有模块而不卸载,是否需要整个FTP备份还是仅SQL?

编辑:根据建议,我尝试了一些其他操作(未成功)

  • 在settings.php中明确定义$ cookie_domain和$ base_url
  • 通过触发器和操作模块查找任何可能触发失败的重定向

您是否检查了导致重定向失败的触发器/动作或规则?
帕特里克·肯尼

@PatrickKenny不幸的是,在Trigger或Action模块UI页面中没有潜在客户。
Morgan Delaney 2012年

确保使用正确的settings.php,并正确设置了$ base_url和$ cookie_domain的值,我建议对不同的设置使用多个设置文件夹。每个都有自己的数据库,$ base_url和$ cookie域设置。以我的拙见,使故障排除更加容易。
stefgosselin 2012年

Answers:


2

我从来没有Webform模块有任何问题,但是如果发生在我身上,我会仔细检查site / default / setting.php以查看是否有任何显式$base_url或设置$cookie_domain。后者是不可能的,因为您登录时可能会遇到问题。


ang 我尝试将其添加到sites / default / settings.php:pastebin.com/94PBeeiG的底部。那没有用,但是感谢您的答复!(我的确很拼命。)
Morgan Delaney 2012年

1

我遇到过同样的问题。与Dennis一样,此问题是由在Webform节点上放置URL别名引起的。当我删除别名并使用完整的URL时,它就可以正常工作。就我而言,发生了冲突,因为我选择的URL别名等于我网站上的目录名称。因此,我可以使用其他别名,并且效果很好。我只是无法使用我想要的别名,除非我在站点上重命名冲突的目录。


0

我只是得到这个问题。我发现问题在于表单的更改方式使Web表单无法理解它。据我所知,$ form_state不受更改的影响,但是更改$ form仍然足以破坏整个事情。

我还没有找到解决方法。如果会的话,我会更新答案。

更新:对于我的解决方法,我使用#prefix和#suffix向元素添加标记,而不是将它们放入表单容器中。这解决了问题。


我在这里有一个类似的问题,即某些字段的存在会删除该#node元素,从而破坏提交/验证。
njp

0

我想在这里加两分钱。我在开发站点上遇到了同样的问题。该站点即将上线,但是我正在检查功能并遇到了同样的问题。

该问题是由在Webform节点上放置URL别名引起的。当我删除别名并使用完整的URL(mysite.com/?q=node/8)时,它就可以正常工作。

另外,我没有启用干净的URL,因此可能会解决URL别名的问题。

但是我想把这个问题抛给其他人。。。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.