@yagyar001

Почему не выводится сообщение из сессии при редиректе?

Всем привет. Не выводится сообщение из сессии. Вообще если закомментировать header('Location: ../index.php'); на странице login.php, то в сессию записывается и выводится на этой же странице. Но когда редирект на главную страницу, почему то приходит пустой массив $_SESSION. Сессию стартовал на index.php. Туда подключается файл top_content.php, а к нему уже все остальные в зависимости от условий. Помогите разобраться. Почему не приходит массив?
Файл index.php
<?php include 'connectdb.php';
		error_reporting(E_ALL);
		ob_start();
		session_start();
 ?>
<!DOCTYPE html>
<html lang="ru">
<head>
	<meta charset="UTF-8">
	<link rel="stylesheet" href="css/style.css?v=1">
	<link href="https://fonts.googleapis.com/css?family=Roboto:300,400,700,900" rel="stylesheet">
	<title>Forum</title>
</head>
<body>
	<header id="header">
		<?php 
			include 'pages/header.php'; 
		?>
	</header>
	<div class="top_content">
		<?php include 'pages/top_content.php'; ?>
	</div>
	<footer>
		<?php var_dump($_SESSION); ?>
	</footer>
</body>
</html>

Файл top_content.php
<?php 
ob_start();
error_reporting(E_ALL);
	if (isset($_GET['reg'])) {
		include 'elems/register.php';
	} elseif (isset($_POST['login']) and isset($_POST['pass'])) {
		include '../elems/login.php';
	} else {
		include 'elems/rows_themes.php';
	}

Файл login.php (с которого происходит редирект и в котором записываю сообщение в сессию)
<?php 
		error_reporting(E_ALL);
		include '../connectdb.php';
		$query = "SELECT * FROM users WHERE login = '$_POST[login]'";
		$result = mysqli_query($link, $query) or die (mysqli_error($link));
		$user = mysqli_fetch_assoc($result);
		if (empty($user)) {
			$_SESSION['error'] = "Пользователя не существует";
			header('Location: ../index.php');
		} else {
			echo "Есть такой";
		}
  • Вопрос задан
  • 65 просмотров
Пригласить эксперта
Ответы на вопрос 1
@yagyar001 Автор вопроса
Причина найдена. В файле login.php нужно было стартовать сессию.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
YCLIENTS Москва
от 200 000 до 350 000 ₽
Ведисофт Екатеринбург
от 25 000 ₽
ИТЦ Аусферр Магнитогорск
от 100 000 до 160 000 ₽