0

我正在使用jquery mobilejquery.validate验证表单。

如果使用会话禁用 JS,我也有 PHP 验证来检查字段

表单发布到自身 ( $_SERVER['PHP_SELF'])

我想要做的是,一旦表单通过验证,重定向到成功页面

使用 js 和 php 验证工作正常,所以这不是我的问题

我已将其$_POST存储在会话变量中,并header("Location: success.php")用于重定向到成功页面。

当 JS 被禁用时,这工作正常,我可以var_dump()在 success.php 中访问会话中的 POST 数据(使用检查),问题是,当启用 JS 时,当重定向到 success.php 时,似乎什么都没有发送.

我在 HTML 中得到以下内容:

<div data-role="page" data-url="/apply.php" data-external-page="true" tabindex="0" class="ui-page ui-body-c ui-page-active" style="min-height: 394px; ">undefined</div>

有谁知道为什么重定向似乎不起作用?

谢谢

我的php文件如下

  • php 检查表单是否已发送
  • 存储所有帖子变量
  • 将会话变量设置为发布变量并将这些变量存储在表单输入value=""字段中
  • 做验证
  • 如果通过验证,则使用 header() 重定向
  • 显示html表单
4

2 回答 2

0

问题是因为标头必须在 JS/纯文本/类似的东西启动之前发送(重定向功能是标头)。

我的解决方案是使用 Javascript 而不是 PHP 进行重定向。

于 2012-11-30T12:48:30.187 回答
0

行。所以环顾四周,似乎 jQuery mobile 是问题所在。将 data-ajax="false" 添加到 my 似乎已经解决了重定向问题

于 2012-11-30T15:09:35.980 回答