我想知道是否使用SESSION變量將數據從一個PHP頁面傳遞到另一個頁面是有效的。我問這是因爲我認爲SESSIONS僅用於保持用戶登錄到網站,並且可以替代cookie。將數據(非敏感)從一個頁面通過一個URI如members.php?name=Joe&age=28
從一個頁面傳遞到另一個會不會更好?是否將會話數據從一個PHP頁面傳遞到另一個有效的頁面?
1
A
回答
2
會話對很多事情都有用,而不僅僅是登錄信息。它們非常適合在POST/redirect/GET循環期間保存狀態消息,或者其他任何可以跟蹤用戶會話狀態(因此名稱)的事件 - 但僅限於當前會話,而不是長期永久配置選項。
就效率而言,您需要記住,會話中的任何內容都需要在每個頁面加載時反序列化爲&。存儲名稱和年齡不會增加太多。添加兆字節的圖片上傳可能會很糟糕。
比效率考慮更重要的是要記住會話數據只是暫時持久。如果你想一直知道Joe是28,它應該放在數據庫中。如果它僅在單頁加載時有用,則它應該保留在URL中或被髮送。如果你有興趣記住它幾分鐘,這個會議可能是放置它的地方。
2
取決於你在做什麼。如果該頁面要求信息正常工作,並且不在登錄後面,那麼傳遞查詢字符串是一種可行的方式(例如搜索結果,產品頁面)。如果它在登錄後面,那麼使用會話可以讓您保持網址清潔,並且還會使用戶難以濫用網頁(例如,換出查詢字符串中的數據)。
5
PHP會話將cookie寫入您的瀏覽器,然後將與該會話關聯的數據存儲在磁盤上;它與include()一樣昂貴,以便在下一頁加載中讀取它,這就是說完全無關緊要。
此外,用戶不能更改會話數據,除非您創建允許他們的機制;他們可以很容易地混淆查詢字符串。
簡答:是的,它的高效。
0
是的,您可以在SESSION中存儲數據和消息,並且可以從任何頁面訪問它。但請記住,SESSION使用瀏覽器支持來存儲數據。它們可以由用戶手動刪除
相關問題
- 1. PHP會話。將輸入值從一個頁面傳遞到另一個頁面
- 2. 將會話變量從一個頁面傳遞到另一個
- 3. 將MySQL數據從一個php頁面傳遞到另一個
- 4. 將一個php變量從一個頁面傳遞到另一個php頁面
- 5. 是否有可能將arraylist從一個JSP頁面傳遞到另一個頁面而不使用會話
- 6. 將值從一個頁面傳遞到另一個頁面
- 7. 將值從一個HTML頁面傳遞到另一個頁面
- 8. 將var從一個頁面傳遞到另一個頁面
- 9. vb.net會話變量傳遞「空間」從一個頁面到另一個頁面
- 10. 將數組從一個頁面傳遞到另一個頁面php
- 11. 在PHP中將數組從一個頁面傳遞到另一個頁面
- 12. 如何將Now()函數從一個頁面傳遞到另一個頁面php
- 13. 將post值從一個php傳遞到另一個php頁面
- 14. 將數據從一個頁面傳遞到另一個頁面.net
- 15. 將數據從一個ASP.NET頁面傳遞到另一個頁面
- 16. 將代碼從一個php頁面傳遞到另一個頁面的方法
- 17. 數據傳遞到另一個頁面
- 18. 如何使用會話在ASP中將數據從一個頁面傳遞到另一個頁面?
- 19. 使用PHP將變量從一個頁面傳遞到另一個頁面
- 20. 將結果值從一個PHP頁面傳遞到另一個頁面
- 21. 將值從一個頁面傳遞到另一個頁面在PHP中
- 22. PHP/JavaScript:如何將變量從一個頁面傳遞到另一個頁面
- 23. 從一個頁面的PHP傳遞數組到另一個
- 24. 將變量值從一個php頁面傳遞到另一個
- 25. PHP cookie值不是從一個頁面傳遞到另一個
- 26. 如何在php中將會話值從一個頁面傳遞到另一個頁面?
- 27. 如何將一個bean從一個JSP頁面傳遞到另一個頁面?
- 28. 如何將php數組數據從一個頁面傳遞到另一個
- 29. 如何從一個PHP頁面值傳遞到另一個使用會話
- 30. 將JS數組傳遞到另一個沒有PHP的頁面
SESSION僅使用瀏覽器存儲會話ID cookie,而不是會話數據。 – Crontab
這就是我所說的 - 它需要瀏覽器支持,SESSION數據存儲在服務器上,但ID在瀏覽器中。如果通過刪除cookie來刪除ID,即使數組密鑰存在,也無法檢索數據 –