PHP文件和数组中的$\u POST变量出错
当我将值硬编码到php文件中时,它可以正常工作。当我从html表单发布帖子时,我可以正确地看到变量,因此我知道它们正在传递到php文件。但是,当我使用$\将值发布到硬编码值工作的地方时,脚本中会出现错误 以下是工作的硬编码值:PHP文件和数组中的$\u POST变量出错,php,forms,Php,Forms,当我将值硬编码到php文件中时,它可以正常工作。当我从html表单发布帖子时,我可以正确地看到变量,因此我知道它们正在传递到php文件。但是,当我使用$\将值发布到硬编码值工作的地方时,脚本中会出现错误 以下是工作的硬编码值: $accountID = "XXXXXXXX"; $secretKey = "XXXXXXXXXXXXX"; $mode = "TEST"; $payment = new BluePay( $accountID, $secretKey, $mod
$accountID = "XXXXXXXX";
$secretKey = "XXXXXXXXXXXXX";
$mode = "TEST";
$payment = new BluePay(
$accountID,
$secretKey,
$mode,
);
$payment->setCustomerInformation(array(
'firstName' => 'Bob',
'lastName' => 'Tester',
'addr1' => '1234 Test St.',
'addr2' => 'Apt #500',
'city' => 'Testville',
'state' => 'IL',
'zip' =>'54321',
'country' => 'USA',
'phone' => '1231231234',
'email' => 'test@bluepay.com'
));
下面是修改后的php表单和$\u POST。我得到了;其中的错误。我是否在设置和阵列中正确调用了$\u POST?当前获取名称错误,该错误是由于名称未通过而从处理器返回的
<?php
include('BluePay.php');
$payment = new BluePay(
$_POST['accountID'],
$_POST['secretKey'],
$_POST['mode']
);
$arrayVar = array(
$firstName => $_POST['firstName'],
$lastName => $_POST['lastName'],
$addr1 => $_POST['addr1'],
$addr2 => $_POST['addr2'],
$city => $_POST['city'],
$state => $_POST['state'],
$zip => $_POST['zip'],
$country => $_POST['country'],
$phone => $_POST['phone'],
$email => $_POST['email']
);
$payment->setCustomerInformation($arrayVar);
$payment->setCCInformation(array(
'cardNumber' => '4111111111111111', // Card Number: 4111111111111111
'cardExpire' => '1217', // Card Expire: 12/15
'cvv2' => '123' // Card CVV2: 123
));
/* $arrayVar2 = array(
$cardNumber => $_POST['cardNumber'],
$cardExpire => $_POST['cardExpire'],
$cvv2 => $_POST['cvv2']
);
$payment->setCCInformation($arrayVar2); */
$payment->sale('3.00'); // Sale Amount: $3.00
//$payment['sale'] => $_POST['sale'];
// Makes the API request with BluePay
$payment->process();
// Reads the response from BluePay
if($payment->isSuccessfulResponse()){
echo
'Transaction Status: '. $payment->getStatus() . "\n" .
'Transaction Message: '. $payment->getMessage() . "\n" .
'Transaction ID: '. $payment->getTransID() . "\n" .
'AVS Response: ' . $payment->getAVSResponse() . "\n" .
'CVS Response: ' . $payment->getCVV2Response() . "\n" .
'Masked Account: ' . $payment->getMaskedAccount() . "\n" .
'Card Type: ' . $payment->getCardType() . "\n" .
'Authorization Code: ' . $payment->getAuthCode() . "\n";
} else{
echo $payment->getMessage() . "\n";
}
?>
这是html表单
<html>
<body>
<form action="ccpost.php" method="post">
<input type="hidden" name="accountID" value="XXXXXXXXXX" />
<input type="hidden" name="secretKey" value="XXXXXXXXXXX />
<input type="hidden" name="mode" value="TEST" />
First Name: <input type="text" name="firstName"><br>
Last Name: <input type="text" name="lastName"><br>
Address 1: <input type="text" name="addr1"><br>
Address 2: <input type="text" name="addr2"><br>
City: <input type="text" name="city"><br>
State: <input type="text" name="state"><br>
Zip Code: <input type="text" name="zip"><br>
Country: <input type="text" name="country"><br>
Phone: <input type="text" name="phone"><br>
E-mail: <input type="text" name="email"><br>
Card Number: <input type="text" name="cardNumber"><br>
Card Expire: <input type="text" name="cardExpire"><br>
Cvv: <input type="text" name="cvv2"><br>
Sale: <input type="text" name="sale"><br>
<input type="submit">
</form>
</body>
</html>
您的PHP中似乎存在错误,以下是更新的:
$payment = new BluePay(
$_POST['accountID'], // you don't need to $accountID = $_POST['accountID']
$_POST['secretKey'],
$_POST['mode']
);
$arrayVar = array(
$firstName => $_POST['firstName'],
$lastName => $_POST['lastName'],
$addr1 => $_POST['addr1'],
$addr2 => $_POST['addr2'],
$city => $_POST['city'],
$state => $_POST['state'],
$zip => $_POST['zip'],
$country => $_POST['country'],
$phone => $_POST['phone'],
$email => $_POST['email']
);
$payment->setCustomerInformation($arrayVar);
你能不能也粘贴html表单代码?你没有正确使用数组函数。而不是数组($firstName=$\u POST['fistName'];),它应该是数组($firstName=>$\u POST['firstName'],$lastName=>$\u POST['lastName']),所以它们之间有个逗号?我怎么会错过这个?你没有用逗号。不要使用;在元素之间,使用“.I”将其更新为逗号。但是,在付款区域中我是PHP解析错误:语法错误,意外'。PHP解析错误:语法错误,意外',在模式行之后。这是我在模式后放置的非逗号。我试图重复您在变量上所做的一些操作$付款->销售('3.00');//销售金额:$3.00/$payment=>$\u POST['Sale'];第一个在我硬编码时有效。当我将$_POST应用于它时有什么问题?$payment=>$_POST['sale']
,这是无效的。我相信,您需要类似于$payment['sale']=>$\u POST['sale']
?这也会在sales中的=>中生成错误。当我硬编码该区域时,arrayVar中的名称不正确。我不知道在哪里或如何。但我用上面的一个硬编码这个区域。