【问题标题】:Send data via POST and then redirect to the same page通过 POST 发送数据,然后重定向到同一页面
【发布时间】:2011-08-10 12:23:39
【问题描述】:

在问这里之前我已经阅读了一段时间,但在这个主题上真的需要你的帮助。我发现了这个惊人的帖子([1],[2]),这基本上是我所需要的,但有一些细微的变化。这是我的流程:

  1. 用户在我的页面购买产品
  2. 用户端并开始支付和发货流程
  3. 当用户在付款前到达最新页面时,我拥有通​​过 POST 发送和进行在线支付所需的所有数据
  4. 在另一边存在一个 JSP,它接收两个参数:total 和 invoiceNumber

我知道我需要使用 cURL 才能通过 POST 发送数据,但我还需要重定向到银行在线支付页面。我该怎么做?

PS:对不起,我的英语不太好

[1]PHP - Redirect and send data via POST [2]http://davidwalsh.name/execute-http-post-php-curl

【问题讨论】:

    标签: php jsp redirect curl payment


    【解决方案1】:

    在 PHP 中,您可以使用以下语句重定向用户:

    header("Location: <your location>");
    

    【讨论】:

      【解决方案2】:


      首先欢迎来到 Stack Overflow。

      如果所有数据都在您的页面上,则无需使用 CURL。 CURL 用于跨域。 如果您想在同一页面上发布和重定向,请在同一页面上执行操作($_SERVER['PHP_SELF']);就是这样.. 以这种方式制作您的页面

      if(isset($_POST)){
      // do all the process with your post data
      }
      <form action="<?php echo $_SERVER['PHP_SELF']?>" method="post" name="shoppingForm">
      //here is your  form detail
      </form>
      

      注意:PHP manual最好学习

      【讨论】:

        【解决方案3】:
        if($_POST['youFormName'])
         {
         //whatever you do with your post data do here first then:
         header("Location: <your location>");
         exit;
         }
        

        【讨论】:

        • @k 到 z ,最佳做法是始终在 exit() 之后写 header()
        • 不知道退出最佳实践。什么原因?先生,你有我的兴趣。
        • 这不仅仅是最佳实践,而是重定向标头(位置)的必要条件,否则脚本将继续执行,您可能会看到不应该看到的输出。 exit 显然可以防止显示进一步的输出,因此您将看不到它。显然,如果使用 header 更改内容类型等,则不能使用 exit。
        • 当然,你们中的任何一个都理解我的问题:我有一个普通的 PHP 页面(将调用 page.php),其中有一些数据 $total 和 $order_id。这些数据是由以前的表格提交的。然后在 page.php 我有一个按钮或图像或其他任何东西。当我按下这个按钮时,我需要将 $total 和 $order_id 发送到远程 JSP(将调用 page.jps),但同时我需要重定向到 page.jsp。 page.jsp 将获得 $total 和 $order_id 并处理信息。现在明白了?干杯
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-03-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-10-16
        • 2021-01-11
        相关资源
        最近更新 更多