从父目录读取会话

时间:2013-11-24 15:04:44

标签: php http session cookies

http://myDomain.com/directory_1/index.php中,我使用session_start()创建会话。

然后,在http://myDomain.com/directory_2/index.php中,我使用session_start()创建了一个会话。

现在,在http://myDomain.com/index.php中,我想访问与任何子目录绑定的所有会话。

这是怎么做到的?

编辑很抱歉,我刚刚意识到最初在directory_1 / index.php和directory_2 / index.php中创建会话时,我这样做了如下:

$cookie_domain=$_SERVER['HTTP_HOST'];
if (substr($cookie_domain, 0, strlen('www.')) == 'www.') {$cookie_domain = substr($cookie_domain, strlen('www.'), strlen($cookie_domain) );} //remove leading www (if exists)
$cookie_domain='.'.$cookie_domain;    //Add . wildcard
$cookie_path=dirname($_SERVER['PHP_SELF']).'/';
session_set_cookie_params(0, $cookie_path,$cookie_domain);
session_start();

2 个答案:

答案 0 :(得分:1)

你只需要添加:

  

在session_start()

位于页面顶部(index.php),然后您将能够访问在任何地方(目录外)声明的$_SESSION个变量。

答案 1 :(得分:1)

会话cookie的默认路径为/,因此(除非您已更改此设置),您可以通过将session_start()置于顶部而无论目录如何都能访问同一会话/index.php