В настоящее время я создаю панель управления на основе 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'); ?>
Я получаю HTTP ERROR 500 на странице download.php.
Вся помощь приветствуется. (Извините за ошибки «Noob», это мой первый крупный проект).
Вы используете session
как:
if($_SESSION["user_level"] == 0) { header('Location: index.php'); }
но сеанс здесь не запускается. Начните сеанс в первой строке:
session_start();
только после этого вы можете получить доступ к переменной сеанса.