【发布时间】:2016-11-18 21:51:01
【问题描述】:
我已经学习 PHP 几个星期了,现在我正在编写一个结合 MySQL 数据库、OOP PHP 和 PHP 会话的脚本。
现在,如果您已登录(即设置了会话变量),网站上会显示您的姓名,如果您未登录,则会显示一个登录框。
<?php
if(!isset($_SESSION['username'])) {
echo "<h3>Login</h3>
include("login.php");
} else {
echo "<h3>Welcome</h3> ". $user->get_name();
echo"<br><a href='logout.php'>Log-out</a>";
}
?>
假设有一个会话,上面的代码应该输出:
Welcome Alex!
但是,如果我运行它,结果是:
Alex
Welcome
为了快速修复它,我发现如果我这样做:
echo "<h3>Welcome</h3> ;
echo $user->get_name();
echo"<br><a href='logout.php'>Log-out</a>";
它修复了它。也就是说,如果我将语句分成两个回声并且文本正确输出。当然我知道这可能不是修复它的好方法,因为我需要添加以下代码:
echo "<img src='".$user->get_photo()." border='5''>";
再一次,图片的文本首先加载。
输出是文本中的图像链接,以及表示图像未加载的 chrome 图标。
有人可以帮帮我吗?谢谢!如果需要任何其他代码,请告诉我,我只写了我认为相关的内容,但我可能错了。
编辑:
“get_name()”函数代码:
function get_name() {
echo get_user_data($this->user_id,"name");
}
【问题讨论】:
-
$user->get_name()函数是否也包含echo代码?显示该功能代码。 -
假设它只是一个错字,但你在这一行的末尾缺少一个
"echo "<h3>Login</h3> -
它确实是血腥的指关节,添加了它。这是一个错字 RiggsFolly,谢谢!