php中session處理的定製

來源:互聯網
上載者:User

 user-define-session-inc.php檔案代碼:<?php<br />function mysession_open($save_path, $session_name)<br />{<br />@mysql_connect("localhost", "root","1981427")//選擇資料庫之前需要先串連資料庫伺服器<br />or die("資料庫伺服器串連失敗");<br />@mysql_select_db("test")//選擇資料庫mydb<br />or die("資料庫不存在或不可用");<br />return true;<br />}</p><p>function mysession_close()<br />{<br />return true;<br />}</p><p>function mysession_read($key)<br />{<br />@mysql_connect("localhost", "root","1981427")//選擇資料庫之前需要先串連資料庫伺服器<br />or die("資料庫伺服器串連失敗");<br />@mysql_select_db("test")//選擇資料庫mydb<br />or die("資料庫不存在或不可用");<br />$expiry_time = time();//擷取Session失效時間<br />//執行SQL語句獲得Session的值<br />$query = @mysql_query("select session_data from mysession "<br />."where session_key = '$key' and session_expiry > $expiry_time")<br />or die("SQL語句執行失敗");<br />if($row = mysql_fetch_array($query))<br />return $row['session_data'];<br />else<br />return false;<br />}</p><p>function mysession_write($key, $data)<br />{<br />@mysql_connect("localhost", "root","1981427")//選擇資料庫之前需要先串連資料庫伺服器<br />or die("資料庫伺服器串連失敗");<br />@mysql_select_db("test")//選擇資料庫mydb<br />or die("資料庫不存在或不可用");<br />$expiry_time = time() + 1200;//擷取Session失效時間<br />//查詢Session的索引值是否已經存在<br />$query = @mysql_query("select session_data from mysession "<br />."where session_key = '$key'")<br />or die("SQL語句執行失敗");<br />//如果不存在,則執行插入操作,否則執行更新操作<br />if(mysql_numrows($query) == 0)<br />{<br />//執行SQL語句插入Session的值<br />$query = @mysql_query("insert into mysession values('$key', '$data', $expiry_time)")<br />or die("SQL語句執行失敗");<br />}<br />else<br />{<br />//執行SQL語句更新Session的值<br />$query = @mysql_query("update mysession set "<br />."session_data = '$data', session_expiry = $expiry_time "<br />."where session_key = '$key'")<br />or die("SQL語句執行失敗");<br />}<br />return $query;<br />}</p><p>function mysession_destroy($key)<br />{<br />@mysql_connect("localhost", "root","1981427")//選擇資料庫之前需要先串連資料庫伺服器<br />or die("資料庫伺服器串連失敗");<br />@mysql_select_db("test")//選擇資料庫mydb<br />or die("資料庫不存在或不可用");<br />//執行SQL語句刪除Session<br />$query = @mysql_query("delete from mysession where session_key = '$key'")<br />or die("SQL語句執行失敗");<br />return $query;<br />}</p><p>function mysession_gc($expiry_time)<br />{<br />@mysql_connect("localhost", "root","1981427")//選擇資料庫之前需要先串連資料庫伺服器<br />or die("資料庫伺服器串連失敗");<br />@mysql_select_db("test")//選擇資料庫mydb<br />or die("資料庫不存在或不可用");<br />$expiry_time = time();<br />//執行SQL語句刪除Session<br />$query = @mysql_query("delete from mysession where session_expiry < $expiry_time")<br />or die("SQL語句執行失敗");<br />return $query;<br />}</p><p>//設定使用者自訂Session儲存<br />session_set_save_handler('mysession_open',<br />'mysession_close',<br />'mysession_read',<br />'mysession_write',<br />'mysession_destroy',<br />'mysession_gc');<br />?>

<?php<br />include('user-define-session-inc.php');//包含session_set_save_handler定義的檔案</p><p>session_start();<br />$_SESSION['username'] = "zhuzhao";<br />$_SESSION['password'] = "123456";<br />?>

<?php<br />include('user-define-session-inc.php');//包含session_set_save_handler定義的檔案</p><p>session_start();<br />echo "UserName:".$_SESSION['username']."<BR>";<br />echo "PassWord:".$_SESSION['password']."<BR>";<br />?>

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.