PHP会话if!isset {} else die()

时间:2014-12-29 14:07:43

标签: php session header isset die

我最初有这个代码(没有死),但它可以让页面被查看。

我尝试添加模具功能,但它只是显示空白页面。

<?php require('dbcon.php');?>
<?php session_start();
if (!isset($_SESSION['adminauth']))
{
    header('login.php');
    die();
};
?>

3 个答案:

答案 0 :(得分:1)

使用error_reporting(E_ALL)ini_set('display_errors', 'on');启用错误输出,然后您会看到所有错误。有一些事情。您应该在脚本顶部开始会话,并且标题不正确。

header('Location: login.php');

否则您有错误。

答案 1 :(得分:0)

参见PHP标题DOCS

<?php
  header('Location: http://www.example.com/');
  exit;
?>

答案 2 :(得分:0)

@ Rizier123正确,但有一条评论 - HTTP / 1.1需要绝对URI作为参数来»位置:包括方案,主机名和绝对路径,但有些客户端接受相对URI。

<?php require('dbcon.php');?>
<?php
/* Redirect to a different page in the current directory that was requested */
if (!isset($_SESSION['adminauth'])) {
    $host  = $_SERVER['HTTP_HOST'];
    $uri   = rtrim(dirname($_SERVER['PHP_SELF']), '/\\');
    $extra = 'login.php';
    header("Location: http://$host$uri/$extra");
    die();
}
?>