PHP会话如果!isset{}else die()

PHP会话如果!isset{}else die(),php,session,header,isset,die,Php,Session,Header,Isset,Die,我最初有这个代码(没有死),但它允许查看页面 我尝试添加骰子函数,但是它只是显示空白页。 <?php require('dbcon.php');?> <?php session_start(); if (!isset($_SESSION['adminauth'])) { header('login.php'); die(); }; ?> 参见PHP标题: 使用错误报告(E\u ALL)和ini\u集('display\u errors','on')启用

我最初有这个代码(没有死),但它允许查看页面

我尝试添加骰子函数,但是它只是显示空白页。

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

参见PHP标题:


使用
错误报告(E\u ALL)
ini\u集('display\u errors','on')启用错误输出然后您将看到所有错误。有些事情。您应该在脚本的顶部启动会话,但标题不正确

header('Location: login.php');

否则你会有一个错误

@Rizier123是的,但有一条注释-HTTP/1.1需要一个绝对URI作为»Location:的参数:包括方案、主机名和绝对路径,但有些客户端接受相对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();
}
?>


我想您需要更改:
header('login.php')
标题('Location:login.php')也是
在if语句的末尾,您通常不会对该主题进行写读
<?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();
}
?>