session_id不使用session_name

时间:2012-03-21 04:06:03

标签: php sessionid

我正在使用session_name将我的会话重命名为“xxx”。使用这个我也可以使用session_start启动会话。我也能看到我的浏览器中设置了cookie。

//设置会话

的login.php

session_name('xxx');
session_start();

但问题是我无法使用另一个脚本中的session_id调用来检索会话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_name后检索我的会话ID?

我们知道session_start将打开我现有的会话,但另一方面,如果根本没有会话,那么它将启动一个新的会话。如果尚未启动,我不想启动新会话。

我在这里做错了什么?

1 个答案:

答案 0 :(得分:2)

在您使用session_id开始会话之前,不会有session_start session_name只设置cookie / URL参数名称,它不会启动会话。

是的,您需要在每个要使用它的页面上start()会话。