我在一个名为send_payment.php的文件中有以下代码。它将一些参数发送到银行支付页面,我假设某个表单已在某处提交。
<head>
<script type="text/javascript">
function onLoad()
{
document.frmInput.submit();
}
</script>
</head>
<body onLoad="onLoad();">
<form name="frmInput" id="frmInput"
action="https://tmbepgw.tmbbank.com/TMBPayment/Payment.aspx" method="post">
<input type="hidden" id=MERID name=MERID value="000001110801149">
<input type="hidden" id=TERMINALID name=TERMINALID value="78000113">
<input type="hidden" id=AMOUNT name=amount value="000000000000">
<input type="hidden" id=BACKENDURL name=BackendUrl value="">
<input type="hidden" id=RESPONSEURL name=ResponseUrl value="http://www.nibh.com/html">
<input type="hidden" id=MERCHANTDATA name=merchantdata value="NIBH">
<input type="hidden" id=INVOICENO name=INVOICENO value="090517153914">
<input type="hidden" id=CURRENCYCODE name=CURRENCYCODE value="764">
<input type="hidden" id=VERSION name=VERSION value="1.0">
</form>
</body>
</html>
我在我的网站上提交了表单提交的代码,其中包含点击按钮时的href:
<a class="button" href="#">Make Payment</a>
在该代码中,我可以访问表单中的字段,例如$ AMOUNT等... for send_payment.php。
但是,我被卡住了。我想在用户点击提交时进行与.php文件相同的调用。
最好是调用一个php文件来执行此操作 - 如果有的话,任何有关如何将参数发送到php文件然后调用该URL的指南:
&#34; https://tmbepgw.tmbbank.com/TMBPayment/Payment.aspx&#34;方法=&#34;后&#34;
我当时拥有的变量? (例如$ amount等......)
感谢。
答案 0 :(得分:0)
仅使用PHP,将POST发送到TWO文件,您需要使用CURL。 这样做:
1)在action
中设置form tag
属性,指向PHP文件(send_payment.php
)
2)在文件send_payment.php
中,您需要使用CURL将$ _POST变量发送到.aspx
文件,如下所示:
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,"https://tmbepgw.tmbbank.com/TMBPayment/Payment.aspx");
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($_POST));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$server_output = curl_exec($ch);
curl_close($ch);
if ( $server_output ){
// true
} else {
//false
}
这是使用CURL发送POST的最简单方法。大多数主机服务器都启用了CURL。但请检查您的主机是否真的启用。也许主机有一个在服务器中使用CURL的示例。但是CURL没有任何谜团。
您可以将此代码放在一个函数中,如:
function send_payment_curl( $post, $to_url ){
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$to_url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($post));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$server_output = curl_exec($ch);
curl_close($ch);
if ( $server_output ){
return true;
} else {
return false;
}
}
在您的文件send_payment.php
中,只需调用函数:
$r = send_payment_curl( $_POST, "https://tmbepgw.tmbbank.com/TMBPayment/Payment.aspx" );
if ( $r ){
// it works!
} else {
// there's a problem with the CURL. Please check the code
}
我希望它可以帮到你!