在php中设置数据库中的会话
发布时间:2020-12-13 18:29:29 所属栏目:PHP教程 来源:网络整理
导读:如何在php和 mysql的数据库表中使用session? 你需要创建一个这样的对象: class SessionHandler { private static $lifetime = 0; private function __construct() //object constructor { session_set_save_handler( array($this,'open'),array($this,'clo
如何在php和
mysql的数据库表中使用session?
你需要创建一个这样的对象:
class SessionHandler { private static $lifetime = 0; private function __construct() //object constructor { session_set_save_handler( array($this,'open'),array($this,'close'),'read'),'write'),'destroy'),'gc') ); } public function start($session_name = null) { session_start($session_name); //Start it here } public static function open() { //Connect to mysql,if already connected,check the connection state here. return true; } public static function read($id) { //Get data from DB with id = $id; } public static function write($id,$data) { //insert data to DB,take note of serialize } public static function destroy($id) { //MySql delete sessions where ID = $id } public static function gc() { return true; } public static function close() { return true; } public function __destruct() { session_write_close(); } } 然后在session_start之前启动这个类! include 'classes/sessionHandlerDB.php'; $session = new SessionHandler(); $session->start('userbase'); $_SESSION['name'] = 'Robert Pitt'; //This is sent to SessionHandler::write('my_id','Robert Pitt') echo $_SESSION['name']; //This calls SessionHandler::read($id)//$id is Unique Identifier for that http://php.net/manual/en/function.session-set-save-handler.php http://php.net/manual/en/function.serialize.php (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |