首页 > 解决方案 > php优惠券系统

问题描述

有人可以告诉我这段代码有什么问题吗?

我正在尝试从 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>

谢谢!

标签: javascriptphpcartcoupon

解决方案


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

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

这可以通过用引号括起来的 php 标签来解决:

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

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

var promo = total;

代替:

var promo = 'total';

推荐阅读