只是想知道为什么下面的代码给出了"意外的T_ELSE"语法错误:
<?php if (isset($_SESSION["user_id"])) { ?>
<h2>Welcome, <?php echo $_SESSION["user_id"]; ?></h2>
<?php } ?>
<?php else { ?>
<form action="" method="post">
<label for="user">User ID</label>
<input type="text" id="user" />
<label for="password">Password</label>
<input type="password" id="password" />
<input type="submit" value="Login" />
</form>
<?php } ?>
Run Code Online (Sandbox Code Playgroud)
虽然我保持} else {在同一行,它工作正常.我的意思是下面的代码工作正常:
<?php if (isset($_SESSION["user_id"])) { ?>
<h2>Welcome, <?php echo $_SESSION["user_id"]; ?></h2>
<?php } else { ?>
<form action="" method="post">
<label for="user">User ID</label>
<input type="text" id="user" />
<label for="password">Password</label>
<input type="password" id="password" />
<input type="submit" value="Login" />
</form>
<?php } ?>
Run Code Online (Sandbox Code Playgroud)
稍微思考一下,我意识到这必须是预期的行为。
考虑以下(语法错误)示例:
<?php if ($condition == true) { ?>
<div id="first">Yey</div>
<?php } ?>
<span id="second?">where am I?</span>
<?php else { ?>
<div id="first">Ney</div>
<?php } ?>
Run Code Online (Sandbox Code Playgroud)
span 元素将处于未定义状态