我正在尝试在购物车中添加促销部分。这是一个临时黑客,但代码不起作用。
/cart.php?promocode=1&productcode=434_red
// WILL ECHO NO
/cart.php?promocode=sale20&productcode=555_red
// WILL ECHO YES BUT NOT WORKING
这是PHP代码,我已经把它全部打破了,我正在考虑与我的&&
或in_array
做些什么?感谢帮助。
<?
// PROMO CODE
$promocode=$_GET["promocode"];
$productcode=$_GET["productcode"];
// SALE LIST (ONLY SALE20 WORKS ON THIS)
$saleitemlist=array("555_red, 305_black, 582_elecblue, 593_black");
// PROMO CODE VALIDATION CHECK
// ALLOW EXISTING CODES TO WORK
if($promocode=="chocolate2" || $promocode=="post") {
$promocode_validate_check = $_POST['promocode']; // APPLY CART FUNCTION
} else {
// NOT AN EXISTING CODE - IF SALE20, APPLY THE CODE OTHERWISE DO NOTHING
if($promocode=="sale20" && in_array($productcode, $saleitemlist)) {
$promocode_validate_check = $_POST['promocode']; // APPLY CART FUNCTION
echo "YES";
} else {
echo "NO";
}
}
?>
答案 0 :(得分:3)
它不是你想要的数组
$saleitemlist=array("555_red, 305_black, 582_elecblue, 593_black");
试
$saleitemlist=array("555_red", "305_black", "582_elecblue", "593_black");
使用in_array()check codepad
可以正常工作答案 1 :(得分:3)
$saleitemlist=array("555_red, 305_black, 582_elecblue, 593_black");
这一行意味着$saleitemlist
是一个只包含一个"555_red, 305_black, 582_elecblue, 593_black"
元素的数组。
如果您希望555_red
是一个元素,305_black
是另一个元素,依此类推。你必须做以下事情:
$saleitemlist=array("555_red", "305_black", "582_elecblue", "593_black");
答案 2 :(得分:0)
这个错了:
$saleitemlist=array("555_red, 305_black, 582_elecblue, 593_black");
正确的一个应该是这个:
$saleitemlist=array("555_red", "305_black", "582_elecblue", "593_black");
数组的每个元素都应该单独用qutes包装。