我正在尝试设置一个只有在用户登录后才能访问的页面,否则会重定向到登录页面。
我有以下功能,我从“简易步骤中的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');
?>
答案 0 :(得分:3)
您在下面的行中有语法错误:
if(!isset($_SESSION('userid'))) {
更改为
if(!isset($_SESSION['userid'])) {
$ _ SESSION是一个数组而不是函数!