我通過在整個腳本中填充$ _SESSION - Array來分配會話變量。我的問題是,由於某些原因,並不是所有變量都可以在會話中使用。PHP不會在會話中存儲所有變量
這裏是我的代碼用於解釋此問題的縮短版:
session_start();
print_r($_SESSION);
$_SESSION['lang'] = 'de';
$_SESSION['location_id'] = 11;
$_SESSION['region_id'] = 1;
$_SESSION['userid'] = 'eccbc87e4b5ce2fe28308fd9f2a7baf3';
$_SESSION['hash'] = 'dce57f1e3bc6fba32afab93b0c38b662';
print_r($_SESSION);
第一次調用打印是這樣的:
Array
(
)
Array
(
[lang] => de
[location_id] => 11
[region_id] => 1
[userid] => eccbc87e4b5ce2fe28308fd9f2a7baf3
[hash] => dce57f1e3bc6fba32afab93b0c38b662
)
第二個呼叫打印:
Array
(
[lang] => de
[location_id] => 11
[region_id] => 1
)
Array
(
[lang] => de
[location_id] => 11
[region_id] => 1
[userid] => eccbc87e4b5ce2fe28308fd9f2a7baf3
[hash] => dce57f1e3bc6fba32afab93b0c38b662
)
如您所見,重要的登錄信息不會存儲在會話中。 有沒有人有一個想法,我的會議可能會出錯?謝謝你的回答!
你碰巧在腳本的其他地方使用了名爲'$ userid'和'$ hash'的變量嗎? – 2010-04-08 19:19:07
相同的調用是否發生在同一個腳本中?在第二次調用print_r之前,是否以任何方式取消設置Session變量?你是否使用可能使用相同散列進行用戶認證的組件或庫('userid'和'hash')? (確保你已經禁用全局變量) – Andreas 2010-04-08 19:22:05
我使用了許多不同的腳本。但是第一個print_r在session_start()之後的第一個開頭,第二個print_r之後是exit() – 2010-04-08 19:34:26