php / mysql - 基于user_level重定向时出现问题

时间:2017-04-14 05:58:43

标签: php mysql

我目前正在构建基于user_level的控制面板。如果用户具有级别(0),则他们无法访问索引页面以外的任何内容,级别(1)可以访问所有内容。

我的问题是,使用我正在使用的当前代码...它只会将我重定向回索引页面,即使我将user_level设置为0以上。

代码:

<?php
$db_connection = new mysqli(DB_HOST, DB_USER, DB_PASS, DB_NAME);
require_once("config/db.php");

$page_rows = results_per_page;

if (!$db_connection->set_charset("utf8")) {
    $db_connection->errors[] = $db_connection->error;
}

if($_SESSION["user_level"] == 0)
                {
                header('Location: index.php');
                }
?>

如果我尝试使用以下代码....

<?php
$db_connection = new mysqli(DB_HOST, DB_USER, DB_PASS, DB_NAME);
require_once("config/db.php");

$page_rows = results_per_page;

if (!$db_connection->set_charset("utf8")) {
    $db_connection->errors[] = $db_connection->error;
}

if($_SESSION["user_level"] == 0) {
        header('Location: index.php');
    } else {
        header('Location: download.php');
?>

我在download.php页面上获得 HTTP ERROR 500

感谢所有帮助。 (对不起任何Noob&#39;错误,这是我的第一个更大的项目。)

1 个答案:

答案 0 :(得分:0)

您使用的是session

if($_SESSION["user_level"] == 0)
{
    header('Location: index.php');
}

但会话未在此处启动。在第一行开始会话,如:

session_start();

之后才能访问会话变量。