如何显示不同header的页面?

How to display pages with different header?

我正在为我的学校项目开发网站。但是我遇到了一个问题。我在每一页显示一个 header。我的 header 之一包含登录表单,另一个包含用户名、搜索栏等。

问题是,共有3页;常见问题解答,联系方式,关于。我想向他们展示用户是否已登录。但是 header 是个问题。如果用户已登录,我希望用户看到 header-after-login 如果没有,我想显示 header-before-login.

我有所有的代码。我需要一种方法或逻辑来解决这个问题。

谢谢。

可能有一百万零一种方法可以解决这个问题,我假设您能够以编程方式查明用户是否已登录。

faq.php, contact.php, about.php:

include 'header.php';
//content
include 'footer.php';

header.php:

echo '<!doctype html><html>...';
if($user_is_logged_in == true) {
    echo '<body class="logged_in">You are logged in!';
    include 'sidebar.php';
} else {
    echo '<body class="not_logged_in">You are not logged in!';
    include 'user_not_logged_in_header.php';
}
echo '<div class="main">';

footer.php:

echo '</div></body></html>';

sidebar.php:

echo '<div class="sidebar">Sidebar!</div>;

然后侧边栏div和主div可以使用类独立控制。

header();

function header(){
   $header = "<div ";
   if($_SESSION['userID']){
      $header .= "class=\"header user_info_header\"";
      $content = "logged user info";
   }else{
      $header .= "class=\"header login_form_header\"";
      $content = "login form";
   }
   $header .= ">".$content."</div>";
   echo $header; 
}