2013-03-07 47 views
1

我遇到了一個奇怪的問題。我有一個密碼保護的網站,其中大部分文件位於主目錄中。所有文件在登錄前都無法訪問,但設置會話變量變爲可訪問。我也使用其他會話變量,所有這些文件都可以訪問它們。PHP:無法在子目錄中訪問會話變量

但是,爲了方便起見,我將一堆與一個主題相關的文件轉儲到一個子目錄中。但是,我發現該子目錄中的文件似乎無法訪問會話變量。

PHP

login.php 
$_SESSION['username'] = "Bob"; //sets session variable. 

subdir/file.php 
echo $_SESSION['username']; //echoes nothing. 
$username = $_SESSION['username']; 
if (!isset($username)) { 
echo "var not set"; //echoes out 
} 

有沒有人遇到過這個問題?會是什麼呢?

感謝您的任何建議。

+4

愚蠢的問題,但你所謂的session_start ()在subdir/file.php? – Ynhockey 2013-03-07 13:04:11

+0

你檢查過這個嗎? http://stackoverflow.com/questions/4957523/accessing-php-session-variable-from-different-paths – haim770 2013-03-07 14:26:10

+0

你叫它!總是人們忘記的明顯事物。謝謝! – user1904273 2013-03-07 17:47:42

回答

2

你有沒有開始在這些頁面上的會話:session_start();

你必須開始在網頁會話是你賦值會議,以及在您使用SEESION值的頁面。

0

首先,你需要與這個

session_start(); 

啓動會話,然後直到會議結束,你可以得到存儲在會話這些變量可以在所有目錄中使用和子目錄

1

你應先添加session_start(),然後才能調用會話變量,以便$ _SESSION ['username']不會被定義或爲空。

0

類型

Session_start(); 

頁面... 的beggining和echo變量..

echo $<variable_name>; 

您可以看到價值