我正在尝试创建一个php / mysql系统,当买家使用paypal从单个购物车购买多个产品后,返回URL将包含一个项目ID的数组。从那里我可以使用返回页面上的ID来删除系统中的项目。包含所有购物车数据的sql表将被称为userCarts。每次用户访问它时,它将首先检查项目是否仍然可用,然后运行:
$DB //db info here
$username = $_SESSION['userlogin'];
$query = SELECT itemID FROM userCarts WHERE user=$username;
$result = $mysqli->query($query);
$items = $result->fetch_array(DB_NUM);
$url = 'http://mysite/return.php?';
$url .= 'items[]=' . implode('&items[]=', array_map('urlencode', $items));
这样我就可以在Paypal代码中生成有效的返回Url:
<input type="hidden" name="return" value="<?php $url ?>">
在Return.php上我可以使用$ _GET ['items']然后从可用的items表中删除。
现在这是概念性的,我无法使用paypal沙盒进行测试。我想知道梯子是否可行,或者是否有更好的方法可以解决它。
答案 0 :(得分:0)
也许,您的代码看起来应该更像:
$username = $_SESSION['userlogin'];
$result = $mysqli->query("SELECT itemID FROM userCarts WHERE user=$username");
$url = 'http://mysite/return.php';
if($result->num_rows > 0){
$url .= '?';
while($row = $result->fetch_assoc()){
foreach($row as $i => $v){
$url .= "&$i=$v";
}
}
}
$url = rawurlencode($url);
$result->free(); $mysqli->close();
···