我正在尝试向 3rd 方结帐 PayPal 选项添加“自定义”值。我遇到的问题是 PHP 变量正在屏幕上显示。我在会话变量中传递购物车值。
if(isset($_SESSION['checkout'])){
$orderData = '<table border="1"><th style="width:80px">Item</th>
<th sytle="width:250px">Size</th>
<th style="width:60px">Quantity</th>';
for ($i=0; $i<count($_SESSION['checkout']); $i++){
$orderData .= '<tr><td style="text-align:center">'.$_SESSION['checkout'][$i][0].'</td><td style="text-align:center">'.$_SESSION['checkout'][$i][1].'</td><td style="text-align:center">'.$_SESSION['checkout'][$i][2].'</td></tr>';
}
}
我希望传递该表,并且根据PayPal 文档,我需要做的就是包含它。我正在呼应这样的 PayPal 表格:
echo '<form>
//other hidden values
<input type="hidden" name="custom" value="'.$orderData.'">
//input submit button here
</form>
就像我说的那样,输入应该是隐藏的,但它会显示在 PayPal 按钮之前。怎么来的?
更新:这些代码完美地传递了数量:
<input type="hidden" name="amount" value="';?><?php if(isset($_SESSION['disc'])){print_r($_SESSION['disc']);}?><?php echo '">
它不会显示在页面上,但变量数量在页面源中是正确的。
UPDATE2:这是我的整个购物车脚本:
echo '<div style="position:absolute; left:770px; top:50px">
<form action="https://www.paypal.com/cgi-bin/webscr" method="post">
<input type="hidden" name="cmd" value="_xclick">
<input type="hidden" name="business" value="myemail@example.com">
<input type="hidden" name="item_name" value="Merchandise">
<input type="hidden" name="currency_code" value="USD">
<input type="hidden" name="no_shipping" value="0">
<input type="hidden" name="custom" value="'.$orderData.'">
<input type="hidden" name="return" value="backtomywebsite.com">
<input type="hidden" name="cancel_return" value="backtomywebsite.com">
<input type="hidden" name="amount" value="';?><?php if(isset($_SESSION[$disc])){print_r($_SESSION[$disc]);}?><?php echo '">
<input type="image" src="http://www.mywebsite.com/images/BuyNow.png" name="submit" alt="Make payments with PayPal - it\'s fast, free and secure!" width="300" height="204">
</form>
</div>';
当我有一个包含项目信息的 print_r 会话而不是 $orderData 时,该脚本可以工作。该信息被发送到我的贝宝帐户,但它是数组形式,看起来很难看。如果有办法将所有内容(会员信息、订单信息)变成一个 php 变量并将其传递给自定义字段,那就太好了。无论如何......这是屏幕上的内容:
希望你仍然愿意帮助我。