如果else语句,代码不能在PHP中工作

时间:2014-04-11 05:46:32

标签: php

我正在尝试创建一个导航栏,如果您是访客,它会显示一个锁定图标和“登录”,当您登录时,它会显示一个锁定图标和“注销”。 以下是我标题的代码:

    <section class="top-bar-section">
  <ul class="left">
    <li><a href="/"><img src="images/icons/home_icon.png"> Home</a></li>
    <li><a href="page_about_1.html"><img src="images/icons/about_icon.png"> About</a></li>
    <li><a href="page_showcase_2.html"><img src="images/icons/pages_icon.png"> Showcase</a></li>
    <li><a href="page_videos_5.html"><img src="images/icons/videos_icon.png"> Videos</a></li>
  </ul>
  <ul class="right">
      <?php
        if (!empty($UserName))
        {
        echo <li><a href="admin/"><img src="../images/icons/login_icon.png"> Log in</a></li>;
        }
        else
        {
        echo <li><a href="<?php echo $logoutAction ?>"><img src="../images/icons/login_icon.png"> Logout</a></li>;
        }
      ?>
  </ul>
</section>

我正在处理的部分位于<ul class="right">

之下

我在测试网页时遇到的错误是

  

`解析错误:语法错误,意外'&lt;'在   第16行的C:\ wamp \ www ... \ header.php

PS:第16行是第一个“回声”是

的地方

HELP!请:)谢谢

3 个答案:

答案 0 :(得分:3)

您需要将echo语句中的字符串放在引号中(我建议使用单引号,因为您在文本中有双打)。

答案 1 :(得分:2)

尝试这样你就错过了关于echo的报价

if (!empty($UserName)) {
        echo '<li><a href="admin/"><img src="../images/icons/login_icon.png"> Log in</a></li>';
}
else {
        echo '<li><a href="'.$logoutAction .'"><img src="../images/icons/login_icon.png"> Logout</a></li>';
}

答案 2 :(得分:2)

echo需要像这样的字符串

echo "Hello World";

所以你的echo语句必须是这样的:

echo '<li><a href="admin/"><img src="../images/icons/login_icon.png"> Log in</a></li>';
echo '<li><a href="'.$logoutAction.'"><img src="../images/icons/login_icon.png"> Logout</a></li>';

如果要使用双引号,则应该转义字符串

中的引号
echo "\""; /* would echo " */