PHP基于网页显示内容


PHP displaying content based on webpage

我有一个网站,每个页面都有一个页脚。我想在页脚的文本改变取决于他们在什么页面上。

我想到的唯一方法是创建一个会话来查看他们在哪个页面上,在比较if语句中使用会话,然后在退出时销毁它。

我的问题:是否有一个更简单的方法来改变我的页脚文本内容,基于当前页面的用户是在?

    if(isset($_SESSION['at_index']))
       { 
          $login = "<p>Already registered? <a href='login.php'>Sign in</a></p>";
       }
    if(isset($_SESSION['at_login']))
       {
          $login = "<p>Forgotten your password? <a href='reset_password.php'>Reset</a> your password!</p>";
       }

$footer = <<<FOOTER
    <div id='footer'>
          $login
    </div>
FOOTER;
?>

您不需要使用$_SESSION,只需获取当前页面的名称并显示您想要显示的页脚。

$current_page = basename($_SERVER['SCRIPT_FILENAME']);
if($current_page === 'home.php'{
 $footer = 'home contents';
}else{
 $footer = 'some page contents';
}

然后在你的页脚回显$footer

<div id="footer">
  <?php echo $footer; ?>
</div>

用不同的页脚创建两个单独的页面,然后检查用户是否登录?如果是这样,那么将用户重定向到您想要的任何页面。

if(isset($_SESSION['at_index'])){ 
    <?php header("Location: http://www.yoursite.com/loggedin.php"); ?>
}
if(isset($_SESSION['at_login'])){
    <?php header("Location: http://www.yoursite.com/login.php"); ?>
}

如果你不希望有两页…然后,您真的应该使用ajax发出异步请求来更新页面。