在我的網站上,我想要有幾個子域。爲給定的子域創建上下文的文件存儲在相應的子目錄中。如何將SESSION變量傳遞給父目錄中的頁面?
有時我需要鏈接到不屬於子域的文件。
例如,在我的「subdomain1.mysite.org」上有一個鏈接到「www.mysite.org/login.php」。 「login.php」存儲在包含與子域對應的所有子目錄的目錄中。
如果我以這種方式鏈接到「www.mysite.org/login.php」:href='../login.php'
,它不起作用。因爲瀏覽器試圖訪問「subdomain1.mysite.org/../login.php」。爲了解決這個問題,我以這種方式建立鏈接:href='http://www.mysite.org/login.php'
但我認爲這樣我就不能將我的會話變量傳遞給新頁面(情況如何?)。
所以,我的問題是,我找不到一種方法將會話變量傳遞到位於父目錄(或位於另一個域中的頁面)的頁面。有人知道如何解決這個問題嗎?
ADDED
根據建議,我厭倦了使用session_set_cookie_params
來解決問題。但我仍然無法達到預期的效果。在更多的細節我做到以下幾點:
我在index.php
文件,對於subdomain1.mysite.org
我用下面的代碼生成內容:
session_set_cookie_params(24*60*60,'/','.mysite.org');
session_start();
$_SESSION['page'] = $PHP_SELF;
比以後,在同一個文件我做一個鏈接到一個我的網頁(我認爲問題可以在這裏)。我創建了以下方式聯繫:
href='http://www.mysite.org/login.php'
在login.php中的文件我有以下代碼:
session_set_cookie_params(24*60*60,'/','.mysite.org');
session_start();
print "a".$_SESSION['page']."b";
由於結果之間存在着「A」和「B」沒什麼。所以,我仍然無法將會話變量從一個頁面傳遞到另一個頁面。有人知道我做錯了什麼嗎?
加入2- 我不得不說,如果我添加以下行我的問題就解決了:前
session_set_cookie_params
session_name("some_name");
。
如果你使用cookies,它似乎工作正常。查看http://stackoverflow.com/questions/644920/allow-php-sessions-to-carry-over-to-subdomains – GWW