我想在登录或注册后使用函数链接((在导航栏中显示用户名,但保存用户名的变量不会显示,仅显示"$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(); ?>