Я делаю пользовательский интерфейс входа в систему на архитектуре MVC.Представление имеет форму логина / пароля, которая отправит результаты формы в файл в части контроллера.Контроллер вызовет запрос sql в модели, чтобы проверить, присутствует ли этот логин / пароль, и если они есть, они перенаправляют на домашнюю страницу с переменной сеанса, имеющей логин.
Однако, пока редиректработает, переменная сеанса, кажется, не переносится через домашнюю страницу, когда она там перенаправлена.
Это мой файл controller / login.php
include '../model/query.php'; //the model file with the sql queries
$query = new query();
if ( isset($_GET['login']) && isset($_GET['password']) )
{
$login = $_GET['login'];
$password = $_GET['password'];
$user = $query->checkUser($login, $password);
//this will return an array containing the result of the query that checks the lines with that login and password
if($user)
{
$_SESSION['login'] = $user['login'];
header('Location: ../view/home.php'); //this also works correctly
}
}
И этоФайл my view / home.php
include 'page.php';
//page.php is a class that features the elements common to all pages
$page = new page();
$page->body = "test" . print_r($_SESSION);
//I've added the print_r($_SESSION) to check if the session variable's value
echo $page->showpage();
Однако, после вычислений на login.php и возврата к home.php, на странице отображается сообщение об ошибке
Примечание: не определенопеременная: _SESSION в C: [...] \ home.php в строке 15 "
(в строке 15 я делаю print_r)
И на странице отображается"test1 "(он же соответствует" test ". print_r ($ _ SESSION))