0

所以我有一个注册页面,用户在其中注册他/她的所有信息,然后当他们点击提交时,我将表单的操作设置为action="Scripts/Insert.php

insert 所做的只是将所有输入的信息插入到我的数据库中。之后,我需要将他们重定向到另一个他们可以付款的网站。但我需要将一些数据发布到以下站点。出于安全原因,我必须通过POST而不是会话发送它。我尝试将所需的信息插入到内部的 post 数组中,或者Insert.php当我重定向时 post 数组被清除。所以插入看起来像这样:

$gen = new Generator();
$_POST["SITEID"] = 3;

//Validation Key Generator
$_POST["TransactionID"] = $gen->keygen(10);
$_POST["Amount"] = 500;
$salt = "somelongstring";
$_POST["VALIDATION_KEY"] = base64_encode(md5($posting_valKey+$_POST["EXT_TRANS_ID"]+$_POST["AMT"]));

//Use PDO to insert previous page form information into the database

header("Location: www.paymentsite.com/index.jsp");

但就像我说的那样,帖子被删除了,所以没有任何东西被发送到网站。那么如何在这里生成一些帖子数据并将其发送到站点呢?我正在考虑一种可能的解决方案,即回显具有这些值的隐藏字段的 html 表单,但是有两个问题:

  1. 如何在输入值中使用变量?我可以这样做:

    echo "<input type='hidden' value="$salt" name='salt'>"
    
  2. 然后我该如何提交表格?

如果我的解决方案很糟糕,请让我知道从 php 发布到另一个网站的任何其他方式。谢谢。

4

2 回答 2

2

你看过cURL吗?

您是否需要将用户物理推送到另一个站点或只是将表单信息发送到那里?

如果您需要发布到外部站点,您可以使用隐藏字段来传递必要的信息。您可以将您的操作参数更改为接收站点 www.paymentsite.com/index.jsp

不过,您会认为支付网站会为您提供基本的集成教程。如果他们不这样做,他们可能不值得使用。

澄清一下,用户在单击提交按钮时会发送表单和隐藏字段的信息。如果您将操作点指向接收站点,它将自动将它们带到那里。但这可能很明显,所以我质疑您网站的实际需求。您是否首先发布给自己以创建交易记录、参考或接收站点所需的内容?那么您知道将付款记入哪个帐户吗?这可以在页面加载之前完成吗?

我想我只是不知道你为什么先给自己发帖。如果您用它更新您的问题,也许您发布给我们的支付处理器可以改进答案

于 2012-10-25T23:37:59.300 回答
0

你有不同的可能性,其中两个是 Curl 和 Pecl。

更多信息:http ://www.lornajane.net/posts/2010/three-ways-to-make-a-post-request-from-php

于 2012-10-25T23:37:38.987 回答