【问题标题】:PHP session if !isset {} else die()PHP 会话 if !isset {} else die()
【发布时间】:2014-12-29 14:07:42
【问题描述】:

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

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

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

【问题讨论】:

标签: php session header isset die


【解决方案1】:

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

header('Location: login.php');

否则你有一个错误。

【讨论】:

    【解决方案2】:

    @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();
    }
    ?>
    

    【讨论】:

      【解决方案3】:

      见 PHP 头 DOCS:

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

      【讨论】:

        猜你喜欢
        • 2015-11-08
        • 1970-01-01
        • 1970-01-01
        • 2017-04-10
        • 2016-01-06
        • 1970-01-01
        • 2016-11-21
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多