多个促销代码
Multiple Promo Codes
请在此处完成 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'> 1 Year</td>
<td class='bottomborder'>";
if($promocode == 'CIG9237'){echo("");}
else {echo("");}
print"</td>
<td class='bottomborder'><span class='text_red'>";
if($promocode == 'CIG9237'){echo(".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'> 1 Year</td>
<td class='bottomborder'>";
if($promocode == 'CIG9237'){echo("");}
if($promocode == 'LEO'){echo("");}
else {echo("");}
print"</td>
<td class='bottomborder'><span class='text_red'>";
if($promocode == 'CIG9237'){echo(".00!");}
if($promocode == 'LEO'){echo(".00!");}
else {echo(" ");}
print"</span></td>
<td class='bottomborder'>One Time Charge</td>
</tr>
当我添加 LEO
行时,CIG9237
的原始促销代码的定价显示 </code>,但 <code>LEO
代码的定价似乎是正确的。
更改您添加到 elseif($promocode == 'LEO')
的所有 if($promocode == 'LEO')
行。
发生的事情是,只要促销代码不是 LEO
,else
子句就会变成 运行,而不是两个促销代码都不匹配时。
即使第一个条件成功,第二个 if 语句也会执行,在这种情况下,第二个 if 语句的条件与 else 块中的值相呼应。为避免这种情况,请改用 elseif 语句。当使用 elseif 时,只有当第一个 if 语句中的原始条件为 false 时才会对其进行评估。
您的第一组 if 语句未按预期执行。 else
条件与第二个 if
语句匹配,因此如果 $promocode
是 'CIG9237'
则第一个 if
语句将执行并且 else
语句将也执行,因为 $promocode
不等于 'LEO'
.
基本上,你有这个:
if($promocode == 'CIG9237'){echo("");}
if($promocode == 'LEO'){echo("");}
else {echo("");}
你应该有这个:
if($promocode == 'CIG9237'){echo("");}
elseif($promocode == 'LEO'){echo("");}
else {echo("");}
到link所有语句一起(现在只有一个语句会被执行)。
再往下也是一样,应该是这样:
if($promocode == 'CIG9237'){echo(".00!");}
elseif($promocode == 'LEO'){echo(".00!");}
else {echo(" ");}
请在此处完成 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'> 1 Year</td>
<td class='bottomborder'>";
if($promocode == 'CIG9237'){echo("");}
else {echo("");}
print"</td>
<td class='bottomborder'><span class='text_red'>";
if($promocode == 'CIG9237'){echo(".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'> 1 Year</td>
<td class='bottomborder'>";
if($promocode == 'CIG9237'){echo("");}
if($promocode == 'LEO'){echo("");}
else {echo("");}
print"</td>
<td class='bottomborder'><span class='text_red'>";
if($promocode == 'CIG9237'){echo(".00!");}
if($promocode == 'LEO'){echo(".00!");}
else {echo(" ");}
print"</span></td>
<td class='bottomborder'>One Time Charge</td>
</tr>
当我添加 LEO
行时,CIG9237
的原始促销代码的定价显示 </code>,但 <code>LEO
代码的定价似乎是正确的。
更改您添加到 elseif($promocode == 'LEO')
的所有 if($promocode == 'LEO')
行。
发生的事情是,只要促销代码不是 LEO
,else
子句就会变成 运行,而不是两个促销代码都不匹配时。
即使第一个条件成功,第二个 if 语句也会执行,在这种情况下,第二个 if 语句的条件与 else 块中的值相呼应。为避免这种情况,请改用 elseif 语句。当使用 elseif 时,只有当第一个 if 语句中的原始条件为 false 时才会对其进行评估。
您的第一组 if 语句未按预期执行。 else
条件与第二个 if
语句匹配,因此如果 $promocode
是 'CIG9237'
则第一个 if
语句将执行并且 else
语句将也执行,因为 $promocode
不等于 'LEO'
.
基本上,你有这个:
if($promocode == 'CIG9237'){echo("");}
if($promocode == 'LEO'){echo("");}
else {echo("");}
你应该有这个:
if($promocode == 'CIG9237'){echo("");}
elseif($promocode == 'LEO'){echo("");}
else {echo("");}
到link所有语句一起(现在只有一个语句会被执行)。
再往下也是一样,应该是这样:
if($promocode == 'CIG9237'){echo(".00!");}
elseif($promocode == 'LEO'){echo(".00!");}
else {echo(" ");}