PHP文件和数组中的$\u POST变量出错

PHP文件和数组中的$\u POST变量出错,php,forms,Php,Forms,当我将值硬编码到php文件中时,它可以正常工作。当我从html表单发布帖子时,我可以正确地看到变量,因此我知道它们正在传递到php文件。但是,当我使用$\将值发布到硬编码值工作的地方时,脚本中会出现错误 以下是工作的硬编码值: $accountID = "XXXXXXXX"; $secretKey = "XXXXXXXXXXXXX"; $mode = "TEST"; $payment = new BluePay( $accountID, $secretKey, $mod

当我将值硬编码到php文件中时,它可以正常工作。当我从html表单发布帖子时,我可以正确地看到变量,因此我知道它们正在传递到php文件。但是,当我使用$\将值发布到硬编码值工作的地方时,脚本中会出现错误

以下是工作的硬编码值:

$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中的名称不正确。我不知道在哪里或如何。但我用上面的一个硬编码这个区域。