PHP 使用 POST 数据重定向

2024-01-02

我对这个话题做了一些研究,有一些专家说这不是possible https://stackoverflow.com/questions/3045097/php-redirect-and-send-data-via-post,所以我想寻求替代解决方案。

我的情况:

页面 A:[checkout.php] 客户填写其账单详细信息。

页面 B:[process.php] 生成发票号码并将客户详细信息存储在数据库中。

C 页面:[thirdparty.com] 第三支付网关(仅接受发布数据)。

客户在页面 A 中填写详细信息并设置购物车,然后发布到页面 B。在 process.php 中,将发布的数据存储在数据库中并生成发票号码。之后,将客户数据和发票号码发布到thirdparty.com 支付网关。问题是在页面 B 中执行 POST。cURL 能够将数据 POST 到页面 C,但问题是该页面没有重定向到页面 C。客户需要在页面 C 上填写信用卡详细信息。

第三方支付网关确实为我们提供了 API 示例,该示例是 POST 发票号码和客户详细信息。 我们不希望系统生成过多不需要的发票号码。

有什么解决办法吗? 我们当前的解决方案是让客户在页面 A 中填写详细信息,然后在页面 B 中创建另一个页面,显示所有客户详细信息,用户可以在其中单击“确认”按钮发布到页面 C。

我们的目标是让客户只需点击一次。

希望我的问题很清楚:)


在页面 B 上生成一个表单,并将所有必需的数据和操作设置到页面 C,并在页面加载时使用 JavaScript 提交该表单。您的数据将被发送到页面 C,不会给用户带来太多麻烦。

这是唯一的方法。重定向是一个 303 HTTP 标头,您可以阅读它http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html,但我会引用其中一些:

对请求的响应可以是 在不同的 URI 下找到并且应该 使用 GET 方法检索 该资源。这个方法存在 主要是为了允许输出 POST 激活的脚本来重定向 用户代理到选定的资源。这 新 URI 不是替代引用 对于最初请求的资源。 303 响应不得被缓存, 但对第二个的回应 (重定向)请求可能是 可缓存。

实现您正在做的事情的唯一方法是使用中间页面将用户发送到页面 C。以下是有关如何实现这一目标的小/简单片段:

<form id="myForm" action="Page_C.php" method="post">
<?php
    foreach ($_POST as $a => $b) {
        echo '<input type="hidden" name="'.htmlentities($a).'" value="'.htmlentities($b).'">';
    }
?>
</form>
<script type="text/javascript">
    document.getElementById('myForm').submit();
</script>

您还应该在 noscript 标记内有一个简单的“确认”表单,以确保没有 Javascript 的用户能够使用您的服务。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

PHP 使用 POST 数据重定向 的相关文章

  • Laravel 集合 .each() + array_push

    需要有关 Laravel 上 each 方法内的 array push 的帮助 我无法在此代码上获取容器数组 imagesData array collect data images gt each function v k use ima
  • 使用 .htaccess 启用 PHP 短标签

    我在自己的 Centos 服务器上设置了 Apache 并具有多个虚拟 Web 服务器 并且我希望仅为位于以下位置的其中一个 Web 服务器启用 PHP 短标记 var www ostickets html 我可以通过添加成功启用短标签sh
  • header() 错误未在 php 中显示

    我写了一个PHP程序 我用session start and header 函数 我知道在向客户端发送任何内容之前应该使用此函数 没关系 但是为了测试 我向客户端发送了一条测试消息echo test 在使用 header 之前 但我没有收到
  • 根据数组计数填充复选框

    我是新来的php我已经使用了它的开发php array 我想填充checkboxes根据数组计数 为了做到这一点 我尝试了以下方式 它对我不起作用 有什么方法可以做到这一点 在我的例子中 数组计数 5 所以我相应地需要 5 个复选框
  • 通过jquery传递搜索参数

    我有一个表单 如果用户输入搜索查询 其参数应通过 jquery 传递 并在获取结果后将结果加载到 div 容器中 由于我不太熟悉 jquery 我该怎么做 html currently the data is being displayed
  • PHP mail() 函数不发送邮件

    我有一个小问题 我正在使用一个工作脚本 在我的测试帐户 共享服务器上工作 使用 mail 函数通过 PHP 发送邮件 我刚刚得到了一个专用服务器 但我还无法让该功能发挥作用 在过去的 10 个小时左右的时间里 我阅读了有关 BIND 用于
  • Ubuntu 18.04升级后php7.2-curl无法安装

    今天从 16 04 升级到 18 04do release upgrade d 在升级过程中 我被告知一些软件包将被删除 其中包括 删除 libperl5 22 lxc common perl modules 5 22 php imagic
  • 将 PHP mcrypt 与 Rijndael/AES 结合使用

    我正在尝试使用 php 中的 mcrypt 和密码 Rijndael 加密一些文本消息 但我不确定 MCRYPT MODE modename 根据 PHP 手册 这些可用 ecb cbc cfb ofb nofb 或 stream 但我读到
  • 如何计算加权平均值?

    我的语言是PHP 但是算法应该是相当通用的 我有一个关联数组 比方说 评级和评级次数 ratings array 1 gt 1 2 gt 3 3 gt 6 4 gt 3 5 gt 3 这相当于 1 2 2 2 3 3 3 3 3 3 4 4
  • 如何在无法重启的服务器(Apache)上使用gettext?

    我在服务器故障上问了这个问题 https serverfault com questions 104224 how do you use gettext on server apache you cant restart但我没有得到任何回应
  • DOMPDF - 未找到“字体”类

    我正在尝试通过命令行添加字体 每次我尝试都会收到以下错误 Fatal error Class Font not found in home scripts public html MarketingPalv2 load font php o
  • Twig:选择某些块并渲染它们

    我正在将 twig 模板引擎集成到 PHP 应用程序中 特别是 我想使用 twig 引擎来渲染表单 了解了 symfony2 如何使用 twig 渲染表单小部件后 他们有一个巨大的模板文件 其中包含所有小部件 如下所示 block pass
  • 在 Apache 服务器上将特定的 .htm 页面处理为 .php [重复]

    这个问题在这里已经有答案了 我正在为 Apache 服务器编程 并且只需要将一个特定的 html 页面 例如 first htm 作为 PHP 脚本进行处理 可以设置吗 SetHandler http httpd apache org do
  • 如何将 yii2 Restful api 中两个表的关系数据显示为 json 格式

    我遇到了将两个表中的数据显示为 JSON 格式并在 yii2 Restful api 上工作的问题 这是我的结构数据库 TABLE volunteer volunteer id int 11 NOT NULL auto increment
  • PHP 时间间隔

    我正在寻找一个看起来应该非常简单的解决方案 但似乎我不能在这里找到任何好的答案 而且我自己似乎无法让它发挥作用 我正在寻找的是设置开始时间 结束时间 然后迭代给定时间间隔之间的一组时间 例如 上午 9 00 下午 5 00 是开始时间 这些
  • 隐藏产品价格和添加到购物车按钮,但不隐藏 WooCommerce 中未注册用户的变体

    在我的 WooCommerce 商店中 我想隐藏价格 直到客户登录为止 我有以下代码可以实现这一点 add action init hide price function hide price if is user logged in re
  • PHP 文件服务脚本:下载不可靠?

    这篇文章最初是关于 ServerFault 的一个问题 https serverfault com questions 131156 user receiving partial downloads https serverfault co
  • 如何使用 PHP 获取列中的所有值?

    我一直在到处寻找这个问题 但仍然找不到解决方案 如何从 mySQL 列中获取所有值并将它们存储在数组中 例如 表名称 客户 列名称 ID 名称 行数 5 我想获取此表中所有 5 个名称的数组 我该如何去做呢 我正在使用 PHP 我试图 SE
  • 如何移动 Zend_Layout 的“视图”

    通常它会是这样的结构 application modules somemodule views scripts index index phtml 我如何将其移动到 application templates somemodule temp
  • 如何显示 PHP 对象

    我有这样的代码 dataRecord1 client gt GetRecord token table filter echo pre print r dataRecord1 echo pre foreach dataRecord1 gt

随机推荐

  • 如何使 Spark 驱动程序能够适应 Master 重启?

    我有一个 Spark Standalone 不是 YARN Mesos 集群和一个正在运行的驱动程序应用程序 在客户端模式下 它与该集群通信以执行其任务 但是 如果我关闭并重新启动 Spark 主节点和工作节点 驱动程序不会重新连接到主节点
  • 写入文本文件

    我正在寻找一种用 C 写入文本文件的方法 我创建了一个表单 其中包含名字 姓氏 电话号码 出生日期的文本框 当用户点击按钮时 我希望将该信息写入文本文件 我发现的例子并没有真正告诉我如何做到 所以这就是我在这里问的原因 最简单的方法就是使用
  • Spark中Map任务内存消耗巨大

    我有很多文件 大约包含 60 000 000 行 我的所有文件都采用以下格式 timestamp producer messageId data bytes n 我一一浏览我的文件 并且还想为每个输入文件构建一个输出文件 因为有些台词依赖于
  • robocopy 无效参数“-”

    我正在尝试完成我的批处理脚本 但在某些情况下它会失败 这是我正在运行的命令 ROBOCOPY C test dash2 Hello 4 C test dash2 Hello 4 MOV 这是我收到的错误 ROBOCOPY Robust Fi
  • 将图例名称设置为匿名 geom_function

    有没有办法为匿名 geom function 设置图例名称 我设法为不同种类的鸢尾花找到一个图例 但也想为我的产品线提供一个标签 非常感谢 data iris iris gt ggplot aes x Sepal Length y Sepa
  • Django modelformset_factory 删除标记为删除的模型表单

    使用 modelformset factory 时 如何从数据库中删除表单中标记为删除的对象 我像这样创建 modelformset factory ItemFormset modelformset factory Item ItemMod
  • 为什么需要这么长时间才能匹配?这是一个错误吗?

    我需要匹配 Web 应用程序中的某些 URL 即 123 456 789 并编写此正则表达式来匹配模式 r d 我注意到 即使在测试模式几分钟后 它似乎也没有进行评估 re findall r d 12345121 223456 12312
  • 纯CSS连续水平文本滚动不中断

    我正在尝试创建一个带有水平文本的新闻滚动条 该文本连续滚动 循环之间不会中断 理想情况下 解决方案是纯 css html 但我不知道这是否可能 到目前为止 这是我的初步尝试 http jsfiddle net lgants ncgsrnza
  • 默认关闭 HTML5 视频的隐藏式字幕

    这就是我所拥有的
  • 使用 CSS 将边框半径应用于滚动条

    简单地说 这就是我想要的 使用 Webkit 浏览器获得 webkit 滚动条 这就是我在 Opera 上得到的结果 Firefox 也不将边框半径应用于滚动条 但仍然应用边框 有没有一种简单的方法可以使滚动条下的边框不消失 我不需要花哨的
  • Bootstrap:带有键盘控件的轮播

    有人能够用键盘控制实现 Twitter Bootstrap 轮播吗 我知道这将在下一个版本中实现 但现在我想知道你们中是否有人能够使其工作 这是我当前的代码
  • jQuery .rotate() 不起作用

    我不知道为什么它不起作用 我正在使用 jQuery 2 1 0 我有这个代码 a shownav img rotate 180 我怎样才能让它发挥作用without使用插件 用于使用 rotate 你需要添加jquery旋转 https c
  • 使用 Java 反射查找最匹配的 writeMethod

    Commons BeanUtils getMatchingAccessibleMethod 找到匹配项 但不是最佳匹配项 考虑这个简单的例子 public class TestReflection extends TestCase publ
  • 最新 Chrome/V8 版本中的对象描述符 getter/setter 性能

    Given var obj var a 1 obj a 1 obj aGetter function return a obj aSetter function val a val Object defineProperty obj a e
  • Android 视频视图在视频播放后创建黑屏

    我正在使用 Android 的 VideoView 来播放本地存储的 mp4 视频 我的应用程序是一个混合应用程序 即基于 webview 的应用程序 我使用本机代码来播放视频 视频在与网络视图相同的 Activity 中播放 我仅在 An
  • 来自另一个 HTML 文件的 Bootstrap 弹出窗口数据

    我希望它从 html 文件 如果您愿意的话 也可以是模板 中检索数据 而不是对数据进行硬编码 我怎样才能做到这一点 假设我有另一个 html 文件 其中包含 h1 and a 弹出窗口应该从中获取数据 弹出窗口的标题 正文 h1
  • 为什么我的输出是空白图像?

    这是我编写的一些用于显示图像幅度谱的代码 orig imdata imread Original Image png spec orig fft2 double orig imdata spec orig2 abs spec orig sp
  • 如何调整图像大小以适应不同的响应视图?

    我创建了一个网站nuxt js https nuxtjs org and 引导程序 https getbootstrap com 对于响应式视图 我需要创建不同的图像尺寸 Nuxt js 无法调整图像大小 你怎么做到这一点 现在我有了解决方
  • Soundcloud API SC.stream(曲目未加载)

    我从 soundcloud API 流式传输音乐 有时当我调用 SC stream 时 曲目不会流式传输 并且出现错误 GET http api soundcloud com tracks 80608808 stream client id
  • PHP 使用 POST 数据重定向

    我对这个话题做了一些研究 有一些专家说这不是possible https stackoverflow com questions 3045097 php redirect and send data via post 所以我想寻求替代解决方