我正在使用session_name将我的会话重命名为“xxx”。使用这个我也可以使用session_start启动会话。我也能看到我的浏览器中设置了cookie。
//设置会话
session_name('xxx');
session_start();
但问题是我无法使用另一个脚本中的session_id调用来检索会话ID。
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将打开我现有的会话,但另一方面,如果根本没有会话,那么它将启动一个新的会话。如果尚未启动,我不想启动新会话。
我在这里做错了什么?
答案 0 :(得分:2)
在您使用session_id
开始会话之前,不会有session_start
session_name
只设置cookie / URL参数名称,它不会启动会话。
是的,您需要在每个要使用它的页面上start()
会话。