session_id не работает с session_name - PullRequest
0 голосов
/ 21 марта 2012

Я использую имя_сессии, чтобы переименовать сеанс, чтобы он говорил "ххх".Используя это, я также могу начать сеанс с помощью session_start.Я также могу видеть, что cookie устанавливаются в моем браузере.

// TO SET session

login.php

session_name('xxx');
session_start();

Но проблема в том, что я не могучтобы получить идентификатор сеанса с помощью вызова session_id в другом скрипте.

another.php

session_name('xxx');

$id = session_id();
echo $id // This is showing empty

var_dump($_COOKIE) // This is showing the cookie xxx with the session id 

if(!empty($id))
{
  //If he is already logged in, lets get his details
  session_start();
}

Я знаю, что могу пойти дальше и прочитать файл cookie, чтобы увидеть, установлен ли сеанс,Но мне было просто интересно узнать, почему это не работает.Разве функция session_id не получает мой идентификатор сеанса после установки имени сеанса?

Мы знаем, что сеанс session_start собирается открыть мой существующий сеанс, но, с другой стороны, если сеанс вообще не существует, он запуститсяновенький.Я не хочу начинать новый сеанс, если он еще не запущен.

Что я здесь не так делаю?

1 Ответ

2 голосов
/ 21 марта 2012

Перед началом сеанса с session_start.
не будет session_id. session_name просто задает имя параметра cookie / URL, но не запускает сеанс.

И да, вам нужно start() сеанс на каждой странице, которую вы хотите использовать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...