使用PHP cURL在新窗口中打开结果

时间:2011-08-10 09:11:56

标签: php curl

我有一个使用cURL访问第三方应用程序的PHP表单。我也在表单上得到了自己的验证。目前,当您触发表单时,它会发送到$_SERVER['PHP_SELF'],如果出现问题,则验证错误会显示在表单的顶部。如果没有问题,变量将被发送到第三方应用程序,浏览器会将用户带到该应用程序以继续该过程。

现在,客户希望在新窗口中打开此表单。我已经将target = _blank添加到表单元素中,但是即使表单无效(即存在验证错误),这也会导致打开一个新窗口。因此,我需要将表单保留在原处,直到它实际提交给第三方应用程序。

任何人都知道是否存在重定向到新窗口的cURL变量?我似乎无法在手册中找到任何内容。

1 个答案:

答案 0 :(得分:3)

您会混淆服务器端和客户端代码。

  • cURL是服务器端。当cURL被触发时(在PHP中),你的表单已经发布,在客户端行动已经太晚了。
  • 但是,Javascript是一种客户端脚本语言。您可以使用它来验证表单。

现代Web应用程序的一个好习惯是使用Javascript预先验证表单,然后仅在表单经过验证后才发布到PHP脚本。如果您需要服务器端功能来验证表单,那么您可以首先使用Ajax从服务器发布一些数据和请求信息。有一些非常好的库,例如jQuery,这些库现在可以轻松实现(甚至可以在不离开页面的情况下使用Ajax发布整个表单)。

旧的替代方法是发布到PHP脚本,验证表单,然后输出一些Javascript标记,以在表单有效时打开新窗口。但是,任何浏览器内置的弹出窗口阻止程序现在都会阻止它。