PHP基于网页显示内容

时间:2015-08-02 13:20:16

标签: php html

我有一个网站,每页都有一个页脚。 我希望页脚中的文本根据它们所在的页面而改变。

我想出的唯一方法是创建一个会话以查看它们所在的页面,在比较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;

?>

2 个答案:

答案 0 :(得分:1)

您不需要使用$_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>

答案 1 :(得分:0)

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

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来发出异步请求来更新页面。