在bootstrap Navbar中显示php变量

时间:2015-02-17 16:56:12

标签: php twitter-bootstrap

我希望使用函数links()在导航栏中登录或注册后显示用户名,但保存用户名的变量不会显示,只显示" $ acn";

 function links()
{
if(!isset($_SESSION['username']))
     {
         echo '         <div class="collapse navbar-collapse" id="signup">
            <!--<form class="navbar-form navbar-right" role="search">
              <div class="form-group">
                <input type="text" class="form-control" placeholder="Search">
              </div>
              <button type="submit" class="btn btn-default">Submit</button>
            </form>-->
          <ul class="nav navbar-nav navbar-right" id="signup">
            <li><a href="signup.php"><span class="glyphicon glyphicon-user"></span> Sign Up</a></li>
            <li><a href="index.php"><span class="glyphicon glyphicon-log-in"></span> Login</a></li>
          </ul>
        </div>';
         }
         else
         {
           $acn= $_SESSION['username'];
        echo   '<div class="collapse navbar-collapse" id="signup">
          <ul class="nav navbar-nav navbar-right" id="signup">
            <li><a href=\"account.php\"> $acn </a></li>
            <li><a href="logout.php"><span class="glyphicon glyphicon-log-out"></span> Log Out</a></li>
          </ul>
        </div>';
    }
}

,功能如下所示

<nav class="navbar navbar-inverse" role="navigation">
    <div class="container-fluid">
        <div class="navbar-header">
          <a class="navbar-brand" href="#">OOOO</a>
            <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#signup">
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
            </button>
        </div>
        <?php echo links(); ?>
    </div>
</nav>

如何实现这一目标,谢谢。

2 个答案:

答案 0 :(得分:1)

在PHP中,如果你有一个用单引号包装的字符串,则不会解析变量。

'$acn'只是一个值为$acn的字符串。 "$acn"将被解析为$acn变量的值。

请注意,您正在回显links()函数的输出,但该函数没有返回值。

答案 1 :(得分:0)

虽然$acn使用double quotes可以在single quotes中正常工作,但在single quotes中包含时,它的行为并不相同。

如果您希望使用 <li><a href=\"account.php\"> '.$acn.' </a></li> ,则必须连接字符串:

single quotes

您的代码需要注意的其他事项,在使用double quotes时,您不需要转义echolinks函数内也有<?php echo links(); ?>,所以它不是这里需要:{{1}}