我正在创建一个3D Secure PHP项目。我有一个相当古怪的问题,即" MD"重新提交数据数组时,代码将丢失
我的代码如下:
$paRes = $_REQUEST['PaRes'];
$md = $_REQUEST['MD'];
require "payment_method_3d.php";
x_load('cart','crypt','order','payment','tests');
/*
* For Debugging Purposes
* Only.
echo "The Value Of PaRes is : ";
echo $paRes;
*/
$soapClient = new SoapClient("https://www.secpay.com/java-bin/services/SECCardService?wsdl");
$params = array (
'mid' => '',
'vpn_pswd' => '',
'trans_id' => 'TRAN0095', // Transaction ID MUST match what was sent in payment_cc_new file
'md' => $md,
'paRes' => $paRes,
'options' => ''
);
似乎在肥皂呼叫之后$ _REQUEST [' MD']字符串似乎丢失了。虽然我很难将其打印到屏幕上。奇怪的是$ paRes变量没有问题。
为什么会出现这种情况?
答案 0 :(得分:3)
检查你的情况。 PHP数组键区分大小写。从这一小段代码看,请求变量可能是'md'而不是'MD'。
尝试$ md = $ _REQUEST ['md'];
答案 1 :(得分:1)
PHP数组语句区分大小写,因此这应该有效:....
$md = $_REQUEST['md'];
答案 2 :(得分:0)
感谢您的回复。
正在发生的事情是,包含页面位于请求方法的前面,导致将REQUEST方法加载到页面时出现问题。