codeigniter:如果表单有效,则将表单提交给不同的URL

时间:2012-02-01 17:10:03

标签: forms codeigniter post

需要一点帮助。

我有一个表单,我正在使用codeigniter中的“form_validation”库验证,显然表单操作指向自身进行验证(应该如此)但我需要提交到外部URL,包含帖子数据,如果验证成功。

CURL不是一个选项,因为我还需要将用户重定向到该页面,而GET方法也不是一个选项,因为数据需要被POST!!!

它几乎需要像PHP redirect()这样的函数,你可以附加一个帖子数据数组。

理想世界= redirect('https://payment.bank.com', 'method: POST', $data_array);

如果没有办法做到这一点,我可能不得不发明它,但想在我重新发明轮子之前先问问题(我猜这也需要相当长的时间)

编辑:还注意javascript也不是一个选项,因为该网站需要使用或不启用javascript !!!!!

2 个答案:

答案 0 :(得分:1)

这是不可能的描述方式,因为PHP是服务器端,而 SERVER 提交数据,而不是用户< / strong>,因此无法重定向到该数据。

您可以CURL数据,然后根据外部服务器的“引用”重定向(比如提交ID)。

然而,最简单的方法是:

  • 验证您现在正在执行的数据
  • 加载新的FORM页面,其中包含所有加载的数据&amp;以新形式隐藏
  • 新加载的表单页面会显示“已验证,如果您未自动重定向则单击以继续”(这将提交表单),此时使用Javascript提交/重定向,或者作为后备人员将单击按钮。
  • 数据最初由您验证(捕获/修改/扩充),然后准备好以稍微延迟传输到外国主机。

请记住,如果您在未经许可的情况下发布此类帖子,则外国帖子可能会进行跨域提交检查(例如abc.com不允许提交给xyz.com)。

希望有所帮助。

答案 1 :(得分:0)

我猜你可以用ajax来做。在后台提交您的表单以进行验证。如果有效,请使用javascript将相同的表单重新提交到外部网址。