如何在html中使用if-else

时间:2016-03-12 07:50:28

标签: php html css asp.net html5

我想在条件中使用选定的选项。如果$ type是房间,那么将选择床,如果是浴室,则选择厕所。这段代码有什么问题。如何纠正它????

<html>
  <body>
    <?php
      $type="bathroom";
    ?>
    <form method="post" action="<?php $_PHP_SELF ?>">
      <select name="bedtype">
      <% if($type=="bathroom"){ %>
       <option value="room">BED</option>
       <option value="bathroom" selected>TOILET</option>
      <% } else { %>
       <option value="room" selected>BED</option>
       <option value="bathroom" >TOILET</option>
      <% } %>
      </select>
    </form>
  </body>
</html>

2 个答案:

答案 0 :(得分:1)

您正在混合使用ASP和PHP标记。

虽然在PHP 5中允许使用ASP标记,但从PHP 7开始,它们已经已弃用已删除。您应该严格切换为<?php ?><?= ?>

http://php.net/manual/en/language.basic-syntax.phptags.php

您还有$_SERVER['PHP_SELF']错误。

三元条件会大大简化代码。它们的格式为if true statement ? do truth : do falsehood。在三元条件之前提供echo语句将回显出真或假的结果。

<html>
<body>
  <?php $type = "bathroom"; ?>
  <form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
    <select name="bedtype">
      <option value="room" <?php echo $type == "room" ? 'selected' : ''; ?>>BED</option>
      <option value="bathroom" <?php echo $type == "bathroom" ? 'selected' : '' ?>>TOILET</option>
    </select>
  </form>
</body>
</html>

答案 1 :(得分:1)

您的代码在PHP中是正确的&lt; 7.0。

使用可选 ASP标记(<% (...) %>)嵌入PHP代码。

要激活它,您必须修改 php.ini 文件,以此行:

asp_tags = Off

在:

asp_tags = On

请注意在PHP 7.0上很少使用ASP标记并完全删除

为避免将来出现不兼容问题,使用标准php代码 <?php (...) ?>

另外,对于回显某些内容,您可以使用短标记<?= (...) ?>

所以,这个:

<?php echo 'Hello World'; ?>

与:

相同
<?= 'Hello World'; ?>

或(你可以省略结束分号):

<?= 'Hello World' ?>

对于记录,还有另一种必须在 php.ini 中启用的短标记样式(<? (...) ?>)。但是,不鼓励使用这个短标签并且基本上放弃了(这种风格主要用于识别XML)。