Несколько промо-кодов

Заполните здесь n00b, так что, пожалуйста, прощайте. Я унаследовал веб-сайт, и на нем есть код, чтобы снизить стоимость членства на один год на 10 долларов. Мне нужно добавить еще одну скидку «LEO», которая бы снизила цену на 15 долларов. Я думал, что смогу имитировать оригинальный код, и все будет хорошо, но когда я попробую его, он не будет работать должным образом. Я надеюсь, что это просто синтаксис?

Вот оригинальный код:

  <tr>
<td class='bottomborder'><div align='center'>
<span id='bobcontent1-title'><input type='radio' name='MembershipTerm' class='join_form_bullet' value='";
if($promocode == 'CIG9237'){echo("CigarFest Individual 1 Year");}
else {echo("Individual 1 Year");}
print"' checked='checked'></span>
</div></td>
<td class='bottomborder'>&nbsp;1 Year</td>
<td class='bottomborder'>";
if($promocode == 'CIG9237'){echo("$25");}
else {echo("$35");}
print"</td>
<td class='bottomborder'><span class='text_red'>";
if($promocode == 'CIG9237'){echo("$10.00!");}
else {echo(" ");}
print"</span></td>
<td class='bottomborder'>One Time Charge</td>
</tr>

И вот что я попробовал без удачи

  <tr>
<td class='bottomborder'><div align='center'>
<span id='bobcontent1-title'><input type='radio' name='MembershipTerm' class='join_form_bullet' value='";
if($promocode == 'CIG9237'){echo("CigarFest Individual 1 Year");}
if($promocode == 'LEO'){echo("Law Enforcement 1 Year");}
else {echo("Individual 1 Year");}
print"' checked='checked'></span>
</div></td>
<td class='bottomborder'>&nbsp;1 Year</td>
<td class='bottomborder'>";
if($promocode == 'CIG9237'){echo("$25");}
if($promocode == 'LEO'){echo("$20");}
else {echo("$35");}
print"</td>
<td class='bottomborder'><span class='text_red'>";
if($promocode == 'CIG9237'){echo("$10.00!");}
if($promocode == 'LEO'){echo("$15.00!");}
else {echo(" ");}
print"</span></td>
<td class='bottomborder'>One Time Charge</td>
</tr>

Когда я добавляю LEO затем отображается цена $25$35 за оригинальный промо-код CIG9237 но, кажется, выглядит правильным для LEO код.

2

Решение

Ваш первый набор операторов if выполняется не так, как вы ожидаете. else условие соответствует второму if заявление так, если $promocode является 'CIG9237' тогда первый if оператор выполняется и else Оператор будет выполняться, так как $promocode не равно 'LEO',

В основном, где у вас есть это:

if($promocode == 'CIG9237'){echo("$25");}
if($promocode == 'LEO'){echo("$20");}
else {echo("$35");}

Вы должны иметь это:

if($promocode == 'CIG9237'){echo("$25");}
elseif($promocode == 'LEO'){echo("$20");}
else {echo("$35");}

Связать все операторы вместе (теперь будет выполнено только одно из операторов).

И то же самое относится и к дальнейшему снижению, оно должно быть таким:

if($promocode == 'CIG9237'){echo("$10.00!");}
elseif($promocode == 'LEO'){echo("$15.00!");}
else {echo(" ");}
1

Другие решения

Изменить все if($promocode == 'LEO') линии, которые вы добавили в elseif($promocode == 'LEO'),

Происходит то, что else пункт после его запуска, когда промо-код не LEOвместо того, чтобы ни один из промо-кодов не совпадал.

2

Второй оператор if будет выполнен, даже если первое условие выполнено успешно, и в этом случае условие второго оператора if повторяет значение в блоке else. Чтобы избежать этого, используйте вместо этого оператор elseif. Когда используется elseif, он будет оцениваться только в том случае, если исходное условие в первом операторе if ложно.

1
По вопросам рекламы [email protected]