——此文章摘自《PHP網絡編程典型模塊與實例精講》定價
¥
特價
¥
詳細>>
http://track
linktech
cn/?m_id=dangdang&a_id=A
&l=
&l_type
=
width=
height=
border=
nosave>
HTTP協議是無狀態的它完成的事情只是簡單地發送請求到服務器以及從服務器獲取數據;除此之外一無所知即使兩次請求同一個PHP文件它也不會認為兩次請求之間有任何聯系
由於HTTP協議的無狀態這就使得無法在兩個不同的請求之間共享信息如無法記錄當前訪問者的信息雖然在登錄過程已經驗證了用戶的用戶名與密碼是正確的但是當用戶跳轉到其他頁面時從登錄頁面獲得的用戶信息全部丟失這是用戶不希望發生的同時要求用戶進入每一個頁面時都要輸入用戶名與密碼進行驗證又是不現實的這就要求可以在不同頁面之間共享信息
一般來說對於PHP以及其他的Web編程語言可以使用Cookie或者是Session來解決這個問題
Cookie是保存在客戶端的一個小文件可以將一些需要在頁面間共享的資料存儲在這個文件中但Cookie有個缺點一是大小不可以超過KB(不同的浏覽器可能限制不同)二是用戶可以在浏覽器設置中禁用Cookie三是Cookie是在客戶端記錄資料安全性較差
Session一般是通過Cookie來實現的如果用戶禁用了CookieSession也同樣失效不同於Cookie的是Session只是把一個信息的標識通過Cookie放在客戶端而實際的信息卻存放在服務器上這樣安全性能上有較大的提高現在也有另外一種不通過Cookie而使用Session的方法即URL重寫技術這種方法是將Session的標識作為URL的參數與服務進行交互其好處是不受客戶端對Cookie禁用的限制缺點是使用起來較為麻煩
在PHP中使用Session非常簡單PHP提供了一個自動全局變量$_SESSION用於處理 Session但是需要注意的是如果在PHP的配置文件中沒有設置自動啟動Session的話在使用Session之前一定要調用 session_start()函數啟動Session
再次打開loginphp添加以下以粗體顯示的代碼以記錄用戶信息
http://developcsaicn/web/images/gif>
不要濫用 SessionSession最大的作用是在頁面之間維持狀態許多初學者在掌握Session技術後很容易將Session作為存儲數據的法寶在 Session裡放置很多數據由於這些數據直到Session過期才會被釋放因此會給服務器帶來很大的負擔
From:http://tw.wingwit.com/Article/program/PHP/201311/21412.html