2

ここで n00b を完了してください。ご容赦ください。Web サイトを継承しましたが、1 年間のメンバーシップの価格を $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$35CIG9237LEO

4

3 に答える 3

2

に追加したすべてのif($promocode == 'LEO')行を変更しますelseif($promocode == 'LEO')

何が起こっているかというと、どちらのプロモーション コードも一致しない場合でelseはなく、プロモーション コードが ではない場合に、句の後の節が実行されます。LEO

于 2015-04-17T21:35:24.167 に答える
1

2 番目の if ステートメントは、最初の条件が成功した場合でも実行されます。この場合、2 番目の if ステートメントの条件は、else ブロックの値をエコーし​​ます。これを回避するには、代わりに elseif ステートメントを使用します。elseif を使用すると、最初の if ステートメントの元の条件が false である場合にのみ評価されます。

于 2015-04-17T21:43:46.160 に答える