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 コードです。すべてを分解して、&&または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が である要素を 1 つだけ含む配列であることを意味し"555_red, 305_black, 582_elecblue, 593_black"ます。

必要に応じて、それ555_redが 1 つの要素、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 に答える