[@ downvote和白癡的言論,這是不酷的打人。我甚至在問這個問題之前,重新檢查了整整3天的文檔和coursen。 正如詹姆斯所做的那樣,關閉此功能可以防止大量白癡堆在無用的,事實上不正確的評論上。感謝Charles和Brent B非常樂於助人。 這結果讓我刪除這些標籤不是一個Safari的問題。]
$ _SESSION是沒有得到在Safari設定,因此我的多頁表格休息。 $ _POST,$ _REQUEST確實已設置(但顯然會在後續頁面上消失)。 版本爲PHP:5.3.1,Safari 5.
幫助!這是不的問題與任何以下的,我檢查了所有,我讀的所有其他相關的問題:
- 在session_start()的作品。 SID/PHPSESSID在頁面之間保留。
- session.use_cookies = 1,session.use_only_cookies = 1
- 我檢查的php.ini,並認爲它是確定
- 我沒有Safari瀏覽器配置爲接受所有Cookie(現在)。沒有不同。
- 我可以手動設置$ _SESSION ['debug']和確實跨頁保留(並且會話文件被正確寫出)。除非我這樣做,否則$ _SESSION永遠不會被定義。
我沒有時間去調試這個廢話,那麼下面哪個最後一分鐘的解決方法是最不容易的? (這是一個編程任務,不是生產代碼) 根據課程筆記,$ _SESSION應該合併$ _POST,$ _REQUEST,$ _GET,session和globals吧?
- 手動做$ _SESSION = array_merge($ _ SESSION,$ _ POST); [這部作品]
- 採用隱藏式的形式重新發布$後續形式彥博
- 其他?
(在更廣泛的筆記,PHP應該簡單地認爲是破在Safari(5)?)
您是使用完全限定的域名,IP地址還是本地主機進行測試? Safari在過去曾經接受過不是真正的域名的cookies的許多挑剔問題,儘管我認爲他們之前已經修復了這些問題。此外,'$ _GET' /'$ _POST' /'$ _REQUEST'是根據提交的數據構建的,而'$ _SESSION'則存儲在磁盤上,但在cookie中被引用。沒有會話cookie意味着你得到一個空的會話。除了在所有的首都並且以下劃線開始之外,這些超全球資產共享*沒有其他*。不要將'$ _POST'合併到'$ _SESSION'中,這很愚蠢。 – Charles 2011-04-11 06:34:36
是的,從本地主機(我怎樣才能仔細檢查它看到的確切地址?是否安全?)並且**是一個會話cookie。 _session.cookie_domain_沒有任何價值。 – smci 2011-04-11 06:41:42
對於娛樂價值,嘗試訪問該網站作爲'127.0.0.1',它可能會有所作爲。您的會話cookie沒有cookie域可以在這裏。另外,請查看開發人員工具中的網絡選項卡。您應該能夠點擊PHP腳本的HTTP請求並檢查發送和接收的標題。你應該看到你的PHP代碼中的Set-Cookie頭(自動完成)以及相應的Cookie標頭。 – Charles 2011-04-11 06:44:19