所以我有一个注册页面,用户在其中注册所有他/她的信息,然后当他们点击提交时,我将表单的操作设置为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表单,但之后有两个问题:
如何在输入值中使用变量?我可以这样做:
echo "<input type='hidden' value="$salt" name='salt'>"
然后我如何提交表格?
如果我的解决方案很糟糕,请让我知道从php发布到另一个网站的任何其他方式。感谢。
答案 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