session_start не работает :( - PullRequest
       26

session_start не работает :(

2 голосов
/ 10 сентября 2009

Я начинаю новый сеанс с: session_start(); затем я установил некоторые переменные сессии, как это:

$_SESSION['name']=$_POST['name'];

и некоторые другие переменные.

В нижней части страницы я установил заголовок для другой страницы:

header('location: index.php');
exit();

Теперь на новой странице (index.php) я не могу получить доступ к переменным сеанса, например $_SESSION['name'].

Что не так?

Спасибо.

Ответы [ 2 ]

7 голосов
/ 10 сентября 2009

Вы звоните session_start() на других своих страницах, где пытаетесь получить доступ к написанным $_SESSION переменным? Вам нужно будет сделать это тоже, прежде чем пытаться что-то прочитать, например ::1003

session_start();
$blah = $_SESSION['blah'];
4 голосов
/ 10 сентября 2009

Это известная проблема в PHP, HTTP или тех, кого вы хотите обвинить. По сути, вы не можете устанавливать куки и перенаправлять по HTTP в одном запросе Когда вы начинаете сеанс, который еще не был создан, вы отправляете cookie.

Два варианта:

  1. начать сеанс в другом месте или
  2. отправить либо JavaScript, который вызывает перенаправление, либо использовать метатег.

Пример:

<?php /* set session cookies */ ?>
<script>window.location.replace("index.php");</script>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...