为什么我的页面会在包含后忽略其余内容?

时间:2014-07-22 19:20:37

标签: php include

我正在尝试使用includes来根据用户是否登录来创建页眉,但是虽然出现了正确的标题,但页面内容的其余部分却没有。

<div class="header">
<?php 
if ($login->isUserLoggedIn()) {
    include("views/logged_in.php");
    exit;
} else {
    include("views/not_loggedin.php");
    exit;
}
?>
</div>

//Rest of page content goes here

如果我在页面内容之后放置此代码,它显示的内容基本上就像一个页脚,的所有内容都很好,但看起来并不像我想要的那样。< / p>

2 个答案:

答案 0 :(得分:0)

删除退出

if ($login->isUserLoggedIn()) {
 include("views/logged_in.php");
} else {
include("views/not_loggedin.php");
}
?>

答案 1 :(得分:0)

你遇到的问题是你对exit()函数的调用,这个函数是php die()函数的别名,它阻止任何进一步的输出到浏览器,导致底部的文件不被处理。

如果在包含后删除退出函数调用,则下面的页面应该正常呈现。

你可能已经被浏览器中呈现的结束标记所抛弃了,php不会对此进行处理,但大多数现代浏览器都足够聪明,可以意识到结束标记丢失并将它放在那里给你