Я хочу разрешить пользователю вводить номер купона, чтобы получить скидку. После того, как номер купона введен и отправлен, страница обновляется с галочкой, показывающей, что они ввели правильную сумму.
Способ, которым я пытаюсь это сделать, заключается в отображении галочки, если сумма купона составляет , а не £ 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