有没有办法回应一个已经回响某个东西的变量,我尝试这样做,但它没有回应它
if (logged_in() === true) {
echo
'
<li ><a href="#">',$user_data['username'],'</a>
<ul>
<li><a href="../social.php">socail</a></li>
<li><a href="../my/pictures.php">my pictures</a></li>
<li><a href="../profile.php">profile</a></li>
<li><a href="../logout.php">logout</a></li>
</ul> ';
} else {
include'cpages/cmain/menuforms/formsmenu.php';
}
答案 0 :(得分:1)
if (logged_in() === true) {
echo
'
<li ><a href="#">'.$user_data['username'].'</a>
<ul>
<li><a href="../social.php">socail</a></li>
<li><a href="../my/pictures.php">my pictures</a></li>
<li><a href="../profile.php">profile</a></li>
<li><a href="../logout.php">logout</a></li>
</ul> ';
} else {
include'cpages/cmain/menuforms/formsmenu.php';
}
答案 1 :(得分:1)
你的意思是串联吗?
<li ><a href="#">' . $user_data['username'] . '</a>
答案 2 :(得分:0)
你将字符串连接错误,你应该使用点:
修改强>
经过一些谷歌搜索后,我发现用逗号连接显然也可以,我不知道......
echo "text".$variable."text".$variable2; //and so on.
编辑2
显然echo可以采用多个参数,这是通过用逗号分隔传递值时会发生的情况。然后它不是真正的字符串连接,用户ACJ指出了一个。
然而,在这种情况下,我仍会使用HEREDOC,或者将字符串连接起来,可能是变量,然后将其回显。要寻找的是你正确地转义双引号和单引号,这是使用长字符串时常见的问题,尤其是包含html的字符串。
您也可以查看Heredoc:
$variable = <<<EOT
Place your multiline string here
and dont forget to end it with the same as you started it.
EOT; //Must not be indented
您还应该查看此问题:Best practices working with long strings in PHP
好的,实际上是为了解决你的问题,假设你已经检查过看到logged_in()真的评估为true
,那么我能想到的唯一问题是$ user_data不包含密钥名为username
。
我首先通过调用文件顶部的以下内容启用error_reporting:
error_reporting(E_ALL | E_STRICT) //reports all errors.
然后你应该快速回答你的代码有什么问题,因为它在我的计算机上运行得很好。