国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > PHP > 正文

php SESSION類(購物車類)

2024-09-04 11:44:02
字體:
供稿:網(wǎng)友

關(guān)于 SESSION 在 php 中的應(yīng)用是必不要少的,最重要的功能之一,SESSION 在網(wǎng)絡(luò)應(yīng)用中,稱為“會話”,我們通常理解為存儲特定用戶會話所需的信息,這樣,當用戶在網(wǎng)站頁面之間跳轉(zhuǎn)時,存儲的 SESSION 值不會丟失,而是在整個用戶會話中一直存活下去。通俗一點講,就是當用戶A上網(wǎng)時,會創(chuàng)建一個ID(a)值進行保存下來,如果你的ID(A)值沒有進行注銷,下次上網(wǎng)時,這個網(wǎng)站還會記得你的ID(A)值,這個時候就可以在網(wǎng)上進行調(diào)用你的ID(A)值了,比如歡迎您ID(A)值再一次訪問。

關(guān)于在 PHP 中應(yīng)用 SESSION 值是很簡單的,只要在頂端提前輸入 session_start() 開始會話即可,下面就可以進行使用 SESSION 了,這只是小網(wǎng)站的應(yīng)用方法,實際上,SESSION 自身還有許多屬性,比如 SESSION周期,調(diào)用SESSION,SESSION數(shù)據(jù)有效期,SESSION保存,SESSION注銷等等,如果有了這些屬性,看起來才算是一個比較規(guī)范的SESSION應(yīng)用會話。

下面是一個完整的 Session 類,整合了 Session 最基本的屬性值,其中,打開,關(guān)閉與清理是符合php編程規(guī)范的,這也是一個很好的習(xí)慣。小小的說明一下,如果網(wǎng)站不是大量使用 Session 類,基本上就沒必要使用 SESSION 類了。

  1.  <?php 
  2. /** 
  3. * 文件描述 Session類 
  4. * ================================================================= 
  5. * 文件名稱 session.class.php 
  6. * ----------------------------------------------------------------- 
  7. * 適用環(huán)境: PHP5.2.x / mysql 5.0.x 
  8. * ----------------------------------------------------------------- 
  9. * 作 者 04ie。com 
  10. * ----------------------------------------------------------------- 
  11. * 創(chuàng)建時間 2010-2-1 
  12. * ================================================================= 
  13. */ 
  14. class Session 
  15. /** 
  16. * session默認有效時間 
  17. * @access public 
  18. * @var ineger $_expiry 
  19. */ 
  20. public $_expiry = 3600; 
  21. /** 
  22. * 有效域名 
  23. * @access public 
  24. * @var string $_domain 
  25. */ 
  26. public $_domain = '.phpfamily.cn'
  27. //初始化 
  28. public function __construct() 
  29. ini_set('session.use_trans_id', 0); 
  30. ini_set('session.gc_maxlifetime'$this->_expiry); 
  31. ini_set('session.use_cookie', 1); 
  32. ini_set('session.cookie_path''/'); 
  33. ini_set('session.cookie_domain'$this->_domain); 
  34. session_module_name('user'); 
  35. session_set_save_handler( 
  36. array(&$this'open'), 
  37. array(&$this'close'), 
  38. array(&$this'read'), 
  39. array(&$this'write'), 
  40. array(&$this'destroy'), 
  41. array(&$this'gc'
  42. ); 
  43. session_start(); 
  44. /** 
  45. * 打開session 
  46. * @access public 
  47. * @param string $savePath 
  48. * @param string $sName 
  49. * @return true 
  50. */ 
  51. public function open($savePath$sName
  52. $this->_conn = mysql_connect('localhost''root'''); 
  53. mysql_select_db('databases'); 
  54. mysql_query('SET NAMES "utf8"'); 
  55. return true; 
  56. /** 
  57. * 關(guān)閉session 
  58. * @access public 
  59. * @return bool 
  60. */ 
  61. public function close() 
  62. return mysql_close($this->_conn); 
  63. /** 
  64. * 讀取session 
  65. * @access public 
  66. * @param string $sid sessionID 
  67. * @return mixed 
  68. */ 
  69. public function read($sid
  70. $sql = "SELECT data FROM sessions WHERE sessionid='%s'"
  71. $sql = sprintf($sql$sid); 
  72. $res = mysql_query($sql$this->_conn); 
  73. $row = mysql_fetch_assoc($res); 
  74. return !$row ? null : $row['data']; 
  75. /** 
  76. * 寫入session 
  77. * @access public 
  78. * @param string $sid sessionID 
  79. * @param string $data serialize序列化后的session內(nèi)容 
  80. * @return 
  81. */ 
  82. public function write($sid$data
  83. $expiry = time() + $this->_expiry; 
  84. $sql = "REPLACE INTO sessions (sessionid,expiratio 
  85. n,data) VALUES ('%s''%d''%s')"; 
  86. $sql = sprintf($sql$sid$expiry$data); 
  87. mysql_query($sql$this->_conn); 
  88. return true; 
  89. /** 
  90. * 銷毀session 
  91. * @access public 
  92. * @param string $sid sessionID 
  93. * @return 
  94. */ 
  95. public function destroy($sid
  96. $sql = "DELETE FROM sessions WHERE sessionid='%s'"
  97. $sql = sprintf($sql$sid); 
  98. mysql_query($sql$this->_conn); 
  99. return true; 
  100. /** 
  101. * 清理過期session 
  102. * @access public 
  103. * @param integer $time 
  104. * @return 
  105. */ 
  106. public function gc($time = 0) 
  107. $sql = "DELETE FROM sessions WHERE expiration < '%d'"
  108. $sql = sprintf($sql, time()); 
  109. mysql_query($sql$this->_conn); 
  110. mysql_query('OPTIMIZE TABLE sessions'); 
  111. return true; 
  112.   

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 桐柏县| 长岭县| 乌拉特前旗| 兴国县| 扬州市| 广元市| 丹凤县| 天柱县| 潜江市| 个旧市| 安国市| 万载县| 车险| 赞皇县| 莆田市| 高唐县| 巴楚县| 古蔺县| 偃师市| 南丹县| 通州区| 贡嘎县| 丰城市| 保山市| 涿鹿县| 沈阳市| 京山县| 通化市| 攀枝花市| 金沙县| 读书| 红河县| 蒲城县| 吉木乃县| 吉木萨尔县| 武平县| 安丘市| 库车县| 双峰县| 夏河县| 望城县|