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

php4的session功能評述(一)

編輯:關於PHP編程

php4比php3新加了session的支持。稍微用了一下,對其函數接口,內部機制,  
應用的方便性做了大概的了解。  
session的意義大家都應該清楚,一個session可以包括數次http的請求和應答,  
比如我們用163.net,從login到logout或者超時就作為一個session,session  
的唯一標識一般是在系統內部生成一個唯一的session ID,一般是一個挺長的  
字符串。一個session除了session ID,還可以有自己的session data,可以  
記錄和區分sesion的不同狀態。  

php4對session操作提供以下接口:  

session_start — Initialize session data  
session_destroy — Destroys all data registered to a session  
session_name — Get and/or set the current session name  
session_module_name — Get and/or set the current session module  
session_save_path — Get and/or set the current session save path  
session_id — Get and/or set the current session id  
session_register — Register a variable with the current session  
session_unregister — Unregister a variable from the current session  
session_is_registered — Find out if a variable is registered in a session  
session_decode — Decodes session data from a string  
session_encode — Encodes the current session data as a string  

意義大家一看就能明白,session_start開始一個session,session_destroy結  
束一個session,session_id取得當前的session_id,session_register向當前  
的session注冊一個變量,這個很有用,比如用戶逛商場,選中了某幾樣商品你  
就可以用session_register把商品名稱或者代碼register到當前的session中。  

比如下面例子(摘自php manual):  

<?php  
session_register("count");  
$count++;  
?>  

Hello visitor, you have seen this page <? echo $count; ?> times.<p>  
# the <?=SID?> is necessary to preserve the session id
# in the case that the user has disabled cookies

To continue, <A HREF="nextpage.php?<?=SID?>">click here</A>

session_register可以隱式地激發session_start(如果用戶之前沒發session_
start調用),當前的session注冊了一個變量count,每次用戶點擊click here
的時候,這個變量都會增一。你可以自己試一下。<?=SID?>的意義不多贅述。  

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