首页 > 解决方案 > 帖子和表格列值之间的正确比较不显示正确的回声

问题描述

这是我对代码应该做什么的简要说明:

到目前为止,我的 if 语句总是直接转到即使有匹配项也没有找到的部分,从而只显示“echo 'Coupon code does not exist!';”

不存在

这是表格(名为“promocode_3”)

在此处输入图像描述

我从一个函数开始:(PromoCode.mc.php)

<?php
 Class PromoCode_MC {

    function getCoupons() { 
    global $db;
try {
    $stmt = $db->prepare("SELECT * FROM promocode_3 WHERE `used` = 0");
    $stmt->execute();
    return $stmt->fetchall();
} catch (Exception $e) {
    echo $e->getMessage();
} } } ?>

然后从另一个文件(membership.vc.php)调用函数

require_once($routePath . "_mc/PromoCode.mc.php");
$mcPromoCode = new PromoCode_MC();
$coupons = $mcPromoCode->getCoupons();

最后我的第三个文件将获得功能并显示回声(membership.php)

<?php
  session_start();
  require_once('membership.vc.php');
?>

          <form method="post">
            <input type="text"id ="lux_code" name="lux_code"  placeholder="ENTER PROMO CODE" style="text-align:center;" autocomplete="off">
            <input type="submit" class="full_width btn color-white mwc-orange-background-color" name="redeem" value="REDEEM">
          </form>

          <?php

            $coupons = ['coupon_code'];

            if (isset($_POST['redeem']) && $_POST['redeem'] == 'REDEEM'){

            $couponCode = $_POST['lux_code'];
            $match = false;
            foreach($coupons as $coupon){

                if($coupon == $couponCode) { //check to see if posted value matches

                    $match = true;
                    echo 'Coupon code exists!';
                    $stmt2 = $db->prepare("UPDATE coupons SET used = '1' WHERE p3id = :p3id");
                    $stmt2->execute(array(
                        ':p3id'=>$coupon['p3id']
                    ));

                    break;

                } else {
                  echo 'Coupon code does not exist!';
                }

            }
          }
           ?>

任何帮助找到错误将不胜感激

更新:

即使我只是尝试根据比较直接回声,我仍然没有得到“回声优惠券代码存在!”;如果我输入的字符串值应该与表中的 coupon_code 列之一匹配

            if (isset($_POST['redeem']) && $_POST['redeem'] == 'REDEEM'){

            $couponCode = $_POST['lux_code'];
            foreach($coupons as $coupon){

                if($coupon == $couponCode) { //check to see if posted value matches

                    echo 'Coupon code exists!';


                } else {
                  echo 'Coupon code does not exist!';
                }

            }
          }

标签: phphtmlsql

解决方案


推荐阅读