2013-11-24 5 views
0

В http://myDomain.com/directory_1/index.php я использовал session_start() для создания сеанса.Чтение сеанса из родительского каталога

Затем, в http://myDomain.com/directory_2/index.php, я использовал session_start() для создания сеанса.

Теперь, в http://myDomain.com/index.php, я хотел бы получить доступ ко всем сеансам, привязанным к любому подкаталогу.

Как это делается?

EDIT Я извиняюсь, я просто понял, когда первоначально создания сеанса в 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(); 
+1

Используйте session_start(), поскольку это требуется на каждой странице, использующей переменные сеанса (независимо от того, где они созданы на сайте). – jeff

ответ

1

Путь по умолчанию куки сессии является /, поэтому (если вы не изменили это), вы будете иметь возможность получить доступ к той же сессии, независимо от каталога, поставив session_start() в верхней части /index.php.

+0

Ваше заявление «если вы не изменили это», похоже, было моей проблемой. – user1032531

1

вам просто нужно добавить :

session_start()

в верхней части страницы (index.php), а затем вы будете к способному доступом s $_SESSION переменные, объявленные в любом месте (внешний каталог).