除非用户已登录,否则重定向到登录页面

时间:2014-11-12 12:00:44

标签: php mysql session url-redirection

我正在尝试设置一个只有在用户登录后才能访问的页面,否则会重定向到登录页面。

我有以下功能,我从“简易步骤中的PHP和mySQL”一书中得到了这个功能,但是当没有用户登录时,它只是挂起而不重定向。我检查了转录错误,没有看到任何问题。

我还尝试过直接使用header(),我也尝试使用ob_start(),以防首先没有发送标题出现问题 - 但我仍然无法将其发送到工作,看不出是什么问题。任何指导都将非常感谢!

<?php
    SESSION_START();

    function load($page='login.php') {
        $url='http://'.$_SERVER['HTTP_HOST'].dirname($_SERVER['PHP_SELF']);
        $url=rtrim($url,'/\\');
        $url.='/'.$page;
        header("Location:$url");
        exit();
    }

    if(!isset($_SESSION['userid'])) {
        load('login.php');
    }

    include_once('includes/header.html');
    /* ...rest of webpage...*/
    include_once('includes/footer.html');
?>

1 个答案:

答案 0 :(得分:3)

您在下面的行中有语法错误:

if(!isset($_SESSION('userid'))) {

更改为

if(!isset($_SESSION['userid'])) {

$ _ SESSION是一个数组而不是函数!

相关问题