0

我正在尝试在购物车中添加促销部分。这是一个临时黑客,但代码不起作用。

/cart.php?promocode=1&productcode=434_red
// WILL ECHO NO


/cart.php?promocode=sale20&productcode=555_red
// WILL ECHO YES BUT NOT WORKING

这是 PHP 代码,我已将其全部分解,我正在考虑与我的&&or 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";
        }
    }
?>
4

3 回答 3

3

这不是你想要的数组

  $saleitemlist=array("555_red, 305_black, 582_elecblue, 593_black");

尝试

 $saleitemlist=array("555_red", "305_black", "582_elecblue", "593_black");

它与 in_array()检查键盘工作正常

于 2012-11-12T09:54:56.047 回答
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");
于 2012-11-12T09:57:15.420 回答
0

这个是错的:

 $saleitemlist=array("555_red, 305_black, 582_elecblue, 593_black");

正确的应该是这样的:

 $saleitemlist=array("555_red", "305_black", "582_elecblue", "593_black");

数组的每个元素都应该用 qutes 单独包装。

于 2012-11-12T10:01:12.633 回答