Перенаправление на другие страницы, не работающие после входа в Custom CMS с использованием PHP

0

Я создаю собственную систему управления контентом для веб-сайта, который я построил, и до сих пор все выглядит хорошо до этого дорожного блока. Я получил свой код для работы, где с login.php страницы вы можете ввести имя пользователя и пароль, и он успешно перенаправляет меня на страницу index.php, но затем я решил, что мне нужно перенаправить всех, кто не вошел в систему, чтобы войти в систему.php, прежде чем смотреть на другие страницы моей CMS.

Итак, вот этот код прямо здесь...

<?php require_once("lib/sessions.php");
      require_once("lib/functions.php");
      require_once("meta.php");
      login_confirm(); 
?>

Это в верхней части каждой страницы моей CMS и что функция login_confirm выглядит так...

function login_confirm() {
    if(!logged_in()) {
        redirect_to("login.php");
    }
}

function logged_in() {
    return isset($_SESSION['admin_id']);
}

$ _SESSION ['admin_id'] устанавливается на моей странице входа, как это...

$found_admin = attempt_login($username, $password); 
    if($found_admin) {
        //Success, mark user as logged in
        $_SESSION["admin_id"] = $found_admin["id"];
        $_SESSION["username"] = $found_admin["username"];
        redirect_to("index.php"); 
    } else {
        //failed
        $_SESSION["message"] = "Log in failed"; 
    }

И, как я уже сказал в начале, страница входа в систему успешно перенаправит вас на index.php без проблем, но это было до того, как я поместил login_confirm() в верхней части моих страниц. Теперь независимо от того, что я всегда перенаправляю на login.php, даже если я ввел правильные учетные данные. Я предполагаю, что сеанс не сохраняется или что-то еще...

Редактирование: session.php выглядит так. Таким образом, сеанс запускается в верхней части страницы.

<?php 
session_start(); 
ob_start();
//function for message and errors
?>
  • 1
    require_once("lib/sessions.php); Первая ошибка первой строки. Также я должен спросить, есть ли у вас session_start(); в любом используемом вами файле: $_SESSION ?
  • 0
    Это была просто ошибка при вводе кода здесь. Я исправил это здесь, а session.php находится в редакции
Теги:
session
redirect
content-management-system
login

1 ответ

0

Я не вижу, что вы используете session_start(); Перед использованием $ _SESSION вы должны инициализировать его.

  • 0
    Я инициализирую его в lib / session.php

Ещё вопросы

Сообщество Overcoder
Наверх
Меню