【问题标题】:move to the target URL after PHP CURL form submitPHP CURL 表单提交后移动到目标 URL
【发布时间】:2011-06-10 09:19:51
【问题描述】:

我是新手。我刚刚发现了卷曲。 看来我错过了什么。

这就是想法。

  1. HTML 页面有一个带有一个隐藏字段的表单,在用户单击 SUBMIT 后将其发布到 php 文件 (order.php)。

  2. order.php 然后生成一堆其他参数并将它们 POST 到不同的 php 文件 (ordercheck.php)

  3. ordercheck.php 使用 POST 数据。

这几乎可行。

但是:问题是浏览器仍然在地址字段中显示 order.php。

有没有办法让浏览器在 order.php 发布后移动到 ordercheck.php?

最后,我想从 order.php 转移到不同的服务器(paypal 的 webscr),所以仅仅处理数据对我来说还不够好。我需要实际发布数据并移动到新的 url,就好像它是一个普通的表单提交......

请帮忙!

【问题讨论】:

    标签: php redirect curl


    【解决方案1】:

    是的,只需像这样在 curl 请求之后添加重定向

    header("Location: newPage.php");
    

    我可能会检查以确保 curl 请求成功,然后在 php 代码中添加标头,这将重定向用户。

    如果你的 curl 请求是用 $ch 之类的变量初始化的,那么只需执行以下操作:

    if ($ch){
       header("Location: newPage.php");
    }
    

    这将确保 curl 请求返回 true 并完成。

    【讨论】:

    • 谢谢。但由于某种原因,它给了我无法修改标头信息 - 标头已由 order.php 发送。错误显示在 ordercheck.php 的输出之后(基本上回显来自 $_POST 的值)
    • 我正在考虑如何做到这一点。如果您需要真正的快速修复,即使不是理想的方式,您也可以在要移开表单的页面上放置一个元刷新标签。像这样:pageresource.com/html/metref.htm 但是我会看看我能不能想出一个更巧妙的方法
    • 考虑一下,由于设置或未设置选项之一,您可能会收到已发送消息的标头,请参阅此页面php.net/manual/en/function.curl-setopt.php
    • CURLOPT_RETURNTRANSFER 是我特别想到的。我这么说的原因是我知道其中一个 curl ootions 返回页面,这意味着标题已经设置,但是通过更改选项,标题没有设置,并且我在上面解释的重定向可以发生。
    • 不要让事情进一步复杂化,但你确实有其他工具可以做与 Jquery 等 CUrl 相同的事情。使用 Jquery 你可以做一些简单的事情看api.jquery.com/jQuery.ajax
    猜你喜欢
    • 2017-02-11
    • 1970-01-01
    • 2012-12-16
    • 2011-02-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-24
    • 2014-10-12
    相关资源
    最近更新 更多