php - 帖子和表格列值之间的正确比较不显示正确的回声
问题描述
这是我对代码应该做什么的简要说明:
- 检索文本字段的 (POST) 值
- 在数据库列中搜索与输入匹配的“促销代码”
- 如果找到匹配项,则回显“不存在优惠券代码!”;
- 匹配代码的“已使用”列将从 0 变为 1
到目前为止,我的 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!';
}
}
}
解决方案
推荐阅读
- sql - 从单列计算多个闯入和退出
- clojure - 在 clojure 中,我如何访问和返回此集合的修改版本
- python - 我无法向电报机器人用户发送消息,但我自己
- typescript - 打字稿条件导入
- python - 通过唯一整数将 numpy 数组值作为列添加到 DataFrame
- javascript - 与 Redux 反应,组件无法识别从父级传递的属性
- corda - Corda 中的共识算法
- android - 通过 linux 终端命令为 android 远程设备打开 DevTools chrome 应用程序
- sql - 如何将 IP 地址从 Google Analytics 过滤到 Big Query
- google-apps-script - 排列和调整 Google 幻灯片中的所有图像