程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> PHP 使用者狀態管理功能的應用

PHP 使用者狀態管理功能的應用

編輯:關於PHP編程

使用者狀態管理(session support)是 PHP 4.0 一個讓大家期待已久的新功能。在 PHP 3.0 的時代,程序設計員必須使用其它人寫好的函式庫來實作狀態管理功能,或者就干脆放棄這項功能不用算了。而狀態管理功能的缺乏事實上是 PHP 3.0 最讓人感到失望的地方之一。不過現在狀況已經得到改變,從 PHP 4.0 的早期測試版開始,使用者狀態管理便已經成為 PHP 內建的功能之一了。
你可以使用狀態管理功能來管理使用者從進入網站開始一直到離開網站為止這段期間內的所有相關變量(只要使用者沒有離開網站,那麼這些變量就都可以取用,不會因為使用者離開某個單一頁面而造成資料消失),而不需要儲存許多cookie 或者使用隱藏窗體字段,甚至將這些變量儲存在數據庫裡面,造成數據庫服務器的大量負荷。
一旦你在網站中的某一頁激活狀態管理,PHP 引擎便會開始紀錄使用者狀態(如果對這個使用者來說系統還沒開始紀錄該訪問者的狀態的話),或者繼續紀錄某個先前已經激活的使用者狀態。要激活 PHP 的狀態管理功能,你可以使用下面這個語法:
session_start();
一旦激活狀態管理,PHP 會通過 cookie 傳送一個獨一無二的狀態代碼(這個代碼看起來會像是:940f8b05a40d5119c030c9c7745aead9)給使用者,同時在服務器這端,PHP 引擎會自動產生一個檔名與狀態代碼相對應的暫存文本文件(如:sess_940f8b05a40d5119c030c9c7745aead9),該檔案會用來儲存程序設計員在這個使用者狀態紀錄中所注冊的所有變量。
談到使用者狀態管理,最常使用的例子便是一個頁面存取計數器(access counter)了:現在我就開始教大家撰寫 PHP 程序代碼。
特別注意
在你嘗試激活使用者狀態紀錄之前,千萬不能夠輸出任何內容(不能有空格,TAB 甚至換行等等空格符,也不能有任何 HTML 卷標,任何內容都不行)給浏覽器。這是因為狀態管理相關函數會送出 HTTP 表頭(header)信息給浏覽器,如果在送出 HTTP 表頭信息給浏覽器之前已經有其它內容被輸出的話,系統將會出現錯誤訊息。
如果該使用者的狀態管理尚未被激活的話,下面這行程序便會激活該使用者的狀態管理:
session_start();
接下來,注冊一個名為count的變量:
session_register('count');
一旦你注冊了一個變量,PHP 便會在從使用者進入網站一直到離開網站的整個浏覽過程中自動替你維護這個變量的值,你可以隨時取用這些注冊過的變量。剛注冊好的變量並沒有指定任何值給它,不過一旦我們增加 count 變量的值,它的值便會是 1 了:

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved