檢查遍佈網絡,並嘗試所有可能的解決方案寫在會議上的問題。每一個php頁面創建自己的會話
我有3頁:第1頁從重定向的形式讀取一些數據並在會話中存儲4個變量。這裏是第一個會話ID生成,如果我檢查print_r($ _ SESSION)一切正常。
表格從此頁面提交到第二頁,其中數據存儲在mysql數據庫(這裏沒有會話操作),然後「meta」重定向到第3頁。
在這裏,我嘗試從會話中讀取變量,而是生成一個新的會話。 如果我看看我的服務器tmp目錄,這兩個會話都在這裏。
爲什麼生成新的會話而不是從第一個會話讀取?
- 試圖頁面編碼:ANSI,UTF-8瓦特BOM,UTF-8 WO BOM
- 試圖腳本寫在php.net會話手冊
任何其他的想法?
代碼是簡單的會話是這樣的:
1 PHP
session_start();
$_SESSION['id'] = $id;
第2頁試圖
session_start();
print_r($_SESSION);
輸出Array{ id -> }
所以只有空瓦里能夠
第3頁
session_start();
$id = $_SESSION['id'];
echo $id;
和輸出是 ''
發佈您的代碼。我們不能盲目! – Polynomial
檢查會話cookie是否傳播正常,並在每個頁面請求之間保持不變。如果Cookie中的會話ID發生更改,則每次都會收到新會話。同樣,確保所有頁面都在執行session_start()。 –
如果第2頁上的「沒有會話操作」意味着你沒有調用'session_start()' - 那就是你的問題。 – Narf