在引导导航栏中显示 PHP 变量


display php variables in bootstrap Navbar

我想在登录或注册后使用函数链接((在导航栏中显示用户名,但保存用户名的变量不会显示,仅显示"$can";

 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>

请问我如何实现这一点,谢谢。

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

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

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

虽然您对$acn的使用在double quotes中可以正常工作,但当包含在single quotes中时,它的行为不会在同一庄园中。

如果要使用single quotes则必须连接字符串:

  <li><a href='"account.php'"> '.$acn.' </a></li>

代码中需要注意的其他事项,在使用single quotes时,您无需转义double quotes,并且links函数内部还有一个echo,因此此处不需要:<?php echo links(); ?>