PHP生成后期数据

时间:2012-10-25 23:34:02

标签: php html forms post header

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

插件的作用是简单地获取所有输入的信息并将其插入我的数据库。之后,我需要将它们重定向到另一个可以付费的网站。但我需要将一些数据发布到以下网站。出于安全原因,我通过POST而不是会话发送它。我尝试将所需信息插入到内部的post数组或Insert.php中,但是当我重定向时,post数组被清除了。所以Insert看起来像这样:

$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. 然后我如何提交表格?

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

2 个答案:

答案 0 :(得分:2)

你有没有看过cURL

您是否需要将用户物理推送到其他网站或只是在那里发送表单信息?

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

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

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

我想我不知道你为什么先发帖给自己。如果您使用该问题更新您的问题,并且可能是您要发布的付款处理器,我们可能会优化答案

答案 1 :(得分:0)

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

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