2011-03-29 107 views
0

我有一個非常奇怪的問題,將通過$ _POST提交的表單值保存爲會話變量。

OK,所以我有第1頁它提交到2

第2頁,我所有的帖子變量設置爲Session變量頁面上的表單。

第3頁我正在檢索這些變量。

在第2頁,如果我寫的東西是這樣的:

$_SESSION['fname'] = 'john'; 

它工作正常。我怎樣才能取出第3頁。

。如果我喜歡寫東西

$_SESSION['fname'] = $_POST['fname']; 

即會話變量是頁面上的空白3.

即使怪異,如果我這樣做:

$_SESSION['fname'] = $_POST['fname'].' Doe'; 

第3頁我只看到了Doe。以前由其他頁面設置

Session變量也3.

該職位變量2頁面上設置我已經驗證頁面上罰款,我在在這一點上的損失。我不是一個PHP會話專家或任何東西,但我曾與他們合作過,並沒有見過這樣的事情。

任何人有任何想法?

編輯:變量在會議上被設置,這是第3頁。

+1

我想冒險一個猜測,即你「驗證」了帖子變量的錯誤,並且他們拼寫錯誤或者其他原因。 – zzzzBov 2011-03-29 18:46:38

+0

此外,我剛剛證實session.save_path,session.cookie_path,session.name和session_id()在所有3個頁面中都是相同的,所以沒有任何可以看到的瘋狂的多個會話問題。 – Dan 2011-03-29 19:09:41

回答

0

的只是空白,這意味着,在後($_POST['name'])一些沒有被設置;

嘗試第2頁var_dump($_POST);也希望看到什麼是真正得到了公佈

+0

'array(1){[「fname」] => string(3)「Dan」}' – Dan 2011-03-29 18:52:37

+0

@丹有你的答案。切換到'$ _POST ['fname']',你應該很好^ _^ – Neal 2011-03-29 18:53:52

+0

@丹然後選擇你的問題的最佳答案。如果你這樣做的話,更多的人會更喜歡將來的問題:-) – Neal 2011-03-29 18:54:38

-1

我相信這個問題是因爲會話數據寫入時,POST數據不可用。

您可以通過打開php.ini並確保POST在SESSION之前註冊來解決該問題,這樣,當您嘗試編寫SESSION數據時,POST可用。

+0

在您的腳本獲得控制權之前,超全球體會被填充。會話在腳本結束時寫出,或者調用'session_write_close()'。您不必「註冊」POST。它總是在那裏,如果腳本通過POST調用被調用,將在其中包含POST的鍵/值對。 – 2011-03-29 18:59:45

0

我不禁要問:你是否檢查過method="POST"而不是GET頁1表格?