【问题标题】:Discount Coupon System for php [closed]php的折扣券系统[关闭]
【发布时间】:2020-11-06 09:38:44
【问题描述】:

谁能告诉我这段代码有什么问题?

我正在尝试从 mysql 数据库申请优惠券。但是这个简单的 php 变量并没有被执行。

<html> 
<head> 
<title>Coupon test code</title> 
<style>
#error{
color: red;
font-weight: bold;
}
</style>
</head> 

<body> 
    <form name="couponField" action=""> 
        <span id="error"></span>
        Coupon code: 
        <input type="coupon" id="coupon" name="coupon"> 
        <input type="button" id="submit" value="Apply Coupon Code"> 
    </form> 
<?php $promo = "total"; ?>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>
<script>
$('#submit').click(function(){
  var input = $('#coupon').val();
  var promo = <?php echo $promo; ?>;
  if(input === promo){
    $('#error').text('correct code!');
  } else if (input !== ''){
    $('#error').text('wrong code!');
  }
});
</script>

</body> 
</html>

谢谢!

【问题讨论】:

  • 我认为您需要引号将值分配给您的 promo 变量。至少,当我在浏览器中查看源代码时,没有,这看起来很奇怪,并且它会抛出一个错误,该错误会在开发人员控制台上显示一个未定义的变量。它甚至会告诉你错误所在的行。
  • 这是主要问题...... php vaiable 不适用于 js
  • 如前所述,您必须使用引号来指定值使用:var promo = &lt;?php echo "{$promo}"; ?&gt;;。在这个链接上有清楚的解释:dummies.com/programming/php/how-to-display-php-variable-values
  • @JulienMaret 不起作用....

标签: javascript php cart coupon


【解决方案1】:

问题是您的 javascript 函数中的这一行:

var promo = <?php echo $promo; ?>;

通过用引号括住 php 标签来解决这个问题:

var promo = '<?php echo $promo; ?>';

这个问题是由于 PHP 不理解您正在回显的变量将作为字符串值传递给 javascript 中的另一个变量;所以在运行代码时 javascript 会看到:

var promo = total;

代替:

var promo = 'total';

【讨论】:

  • 谢谢...它现在可以正常工作了...如果你请给我一些关于从数据库验证优惠券的建议!!!
  • 抱歉回复晚了。验证过程通常取决于项目的目标和所需的安全级别。对于优惠券,我建议将所有优惠券存储在 SQL 表中,每次输入优惠券代码时,都应搜索它以查看它是否在优惠券表中(因此有效)或不(无效)。您还可以计算优惠券的使用次数,并在使用特定次数后将“活动”列(默认情况下应为 1)设置为 0。
猜你喜欢
  • 1970-01-01
  • 2011-11-08
  • 2012-12-27
  • 1970-01-01
  • 1970-01-01
  • 2014-10-17
  • 1970-01-01
  • 1970-01-01
  • 2022-11-25
相关资源
最近更新 更多