割引を受けるために、ユーザーがクーポン番号を入力できるようにしたい。クーポン番号を入力して送信すると、ページがリロードされ、正しい金額が入力されたことを示すチェックマークが表示されます。
私がこれを行おうとしている方法は、クーポンの金額が0.00ポンドでない場合にティックを表示することです。しかし、文字列の比較は、常に£0.00ではないと考えているため、機能していないようです。コードは次のとおりです。関数coupon_amount()は、クーポンの金額を返します。Coupon_amount()は「£0.00」(ポンド記号を含む)を返します
<?php $coup_amount = coupon_amount(); ?>
<?php $zero_amount = "£0.00"; ?>
<?php if(strcmp($coup_amount, $zero_amount)== 0) { ?>
<?php echo 'Enter coupon code if applicable:' ?>
<input type='text' class='couponinput' name='coupon_num' id='coupon_num' value='coupons_name' />
<input type='submit' class='update-button' value='submitcoupon' />
<?php } else { ?>
<?php echo 'Thanks.' ?><input type='text' disabled='disabled' class='couponinput' name='coupon_num' id='coupon_num' value='coupons_name' />
<div class='tick'></div>
<?php } ?>
私は比較で何か間違ったことをしていますか?
私は以下のオスカーの提案に従いました、そしてここに出力があります。エンコーディングの問題のようです。また、zero_amountのポンド記号が正しく表示されていません。
coup_amount: (£0.00) zero_amount: (�0.00)
coup_len:10 zero_len:5
strcmp: -1
coup_ascii: 38 zero_ascii:163