2015-04-22 68 views
3

不知道我在做什麼錯在這裏...獲取PHP變量從頁面到其他

在一個頁面上,我關閉啓動會話的代碼開始的開始,是這樣的:

session_name('raprec'); 
session_start(); 

然後我被分配會話變量到PHP變量,我需要重新使用收集整個代碼會話變量,如下所示:

$_SESSION['item_type'] = $item_type; 
    $_SESSION['special_rope_fields'] = $special_rope_fields; 
    $_SESSION['zoom_obj'] = $zoom_obj; 

在第二頁,在這裏我需要的項目我打電話給再次會話:

session_start(); 
session_name('raprec'); 

然後我嘗試使用它們本第二頁上,如下所示:

$special_rope_fields = $_SESSION['special_rope_fields']; 
$item_type = $_SESSION['item_type']; 
$zoom_obj = $_SESSION['zoom_obj']; 

但它不工作...

我嘗試看看是否有什麼是這樣的:

print_r($_SESSION['special_rope_fields']); 
print_r($_SESSION['item_type']); 
print_r($_SESSION['zoom_obj']); 

但是什麼也沒有出現。

我在這裏做錯了什麼?我怎樣才能正確地將這些變量從一個頁面傳遞到下一個頁面?也許有更簡單的方法嗎?

+0

設置 session.auto_starttrue確保你調用'session_start'在每個腳本的最開始的session_name()功能沒有本質影響。檢查您的PHP日誌中是否有關於輸出後發送的標題的警告。 – Barmar

+0

你可以用session_name試試嗎,也不需要第二次啓動它,這會引發警告,你確定這是同一個應用程序嗎?因爲那將是一個問題。即如果您運行兩個不同的php文件,那麼您可能會運行兩個不同的應用程序。第一頁和第二頁是什麼樣的? – blamb

回答

0

根據本文檔,http://php.net/manual/en/function.session-name.php您需要在調用session_name後調用session_start。

編輯 @maztch對不起,我更新。感謝您指出了這一點。我倒退了,但那就是我的意思,我試圖指出文檔有一個特定的順序......謝謝。在這種情況下,它根本就不是答案,因爲它畢竟沒有解決這個問題。哎呀..

+0

對不起,但在doc上卻恰恰相反。 session_name必須在session_sart之前設置 – maztch

2

我測試你的代碼在我的服務器和我有同樣的結果,你,沒事......然後,在second page,我已經改變了:

session_start(); 
session_name('raprec'); 

session_name('raprec'); 
session_start(); 

會議raprec現在按預期工作。


NOTE:

,如果你在php.ini