2013-04-17 18 views
0

我想知道如何使用兩個獨立目錄中的頁面之間的會話傳遞某些內容。例如,如果我有以下代碼,我需要添加什麼才能使其工作?

第1頁:目錄\ directory1中\ directory2 \ page1.php中

session_start(); 

$_SESSION['example'] = '123'; 

第2頁:目錄\ DIR1 \ DIR2 \使page2.php

session_start(); 

echo $_SESSION['example']; 
+1

這不行嗎? – Blender

+0

不幸的是... – tmnol

+0

對本地主機運行?檢查您的響應標題以查看session_id cookie設置的位置。 – David

回答

1

你的代碼應工作如果這些頁面在同一個域內提供。

+0

我會接受你的話,我必須在自己的代碼中犯錯誤。謝謝! – tmnol

1

您不必在每個頁面中輸入session_start()。只要寫的是,在一個單獨的文件和共享你想在舉行會議的頁面之間的文件。

所以,如果你有page1.phppage2.phpsession.php您可以在創建page1.php中會議,並檢查它在第二頁,如:echo var_dump($_SESSION)和反之亦然

1

首先,檢查會話cookie是否正確設置。一些問題(例如,頭文件已經發送)可能會導致您的會話cookie不被設置。

如果工作正常,你可能必須通過session_set_cookie_params

改變會話cookie參數由第二個參數(路徑)設置爲/,會話cookie的有效期爲您的網站的根目錄及其所有子目錄。

session_set_cookie_params(0, '/'); 

相同的設置也可以在你的php.ini或通過ini_set()進行設置。見Session configuration

注:

我不知道如果這些設置在這種情況下所進行的更改前的餅乾頭可能已經被髮送,如果session.autostart啓用任何影響。

相關問題