php session 写入数据库_PHP
php
session
データベース
本文实例介绍了php session 写入数据库的方法,分享给大家供大家参考,具体内容如下
<?php # # codeMaker Alpha 0.1.1 ( haowei.me ) # This framework comply with the GPL license agreement # class session_handler { protected $maxlifetime = null; protected $dbHandle = null; public $config = null; public static function init($args) { return new self($args); } public function __construct($args) { $this->config = $args; $this->maxlifetime = get_cfg_var("session.gc_maxlifetime"); session_set_save_handler( array($this, "open"), array($this, "close"), array($this, "read"), array($this, "write"), array($this, "destroy"), array($this, "gc")); } public function open() { $this->link = mysqli_connect( $this->config['host'], $this->config['user'], $this->config['password'], $this->config['database']); mysqli_set_charset($this->link, "utf8"); $sql = 'CREATE TABLE IF NOT EXISTS `%s` ( `session_id` varchar(255) NOT NULL, `session_data` text, `session_expires` char(10) NOT NULL, PRIMARY KEY (`session_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;'; $sql = sprintf($sql, $this->config['table']); mysqli_query($this->link, $sql); return true; } public function close() { return true; } public function read($session_id) { if(empty($session_id)) return null; $sql = 'SELECT `session_data` AS `data` FROM `%s` WHERE `session_id` = "%s" AND `session_expires` > "%u"'; $sql = sprintf($sql, mysqli_real_escape_string($this->link, $this->config['table']), mysqli_real_escape_string($this->link, $session_id), time()); $result = mysqli_query($this->link, $sql); $row = mysqli_fetch_assoc($result); return $row['data']; } public function write($session_id, $session_data) { if(empty($session_id)) return null; $newExpires = time() + $this->maxlifetime; $sql = 'REPLACE INTO `%s` SET `session_id` = "%s", `session_data` = "%s", `session_expires` = "%u"'; $sql = sprintf($sql, mysqli_real_escape_string($this->link, $this->config['table']), mysqli_real_escape_string($this->link, $session_id), mysqli_real_escape_string($this->link, $session_data), $newExpires); $result = mysqli_query($this->link, $sql); return mysqli_affected_rows($this->link); } public function destroy($session_id) { $sql = 'DELETE FROM `%s` WHERE `session_id` = "%s"'; $sql = sprintf($sql, mysqli_real_escape_string($this->link, $this->config['table']), mysqli_real_escape_string($this->link, $session_id)); $result = mysqli_query($this->link, $sql); return mysqli_affected_rows($this->link); } public function gc() { $sql = 'DELETE FROM `%s` WHERE `session_expires` < "%u"'; $sql = sprintf($sql, mysqli_real_escape_string($this->link, $this->config['table']), time()); $result = mysqli_query($this->link, $sql); return mysqli_affected_rows($this->link); } } class session { public static $collection = null; public static function open($clean = false, $token = false) { if($clean) ob_end_clean(); if($token) session_id($token); session_start(); self::$collection = $_SESSION; } public static function id() { $num_args = func_num_args(); if($num_args) { $args = func_get_arg(0); return session_id($args); }else{ return session_id(); } } public static function get($name) { return isset($_SESSION[$name]) ? $_SESSION[$name] : null; } public static function set($name, $value) { $_SESSION[$name] = $value; return true; } public static function delete($name) { if(!isset($_SESSION[$name])) return null; unset($_SESSION[$name]); return true; } public static function destroy() { session_destroy(); } } $config = array( "host"=> "127.0.0.1", "user"=> "root", "password"=> "123456", "database"=> "test", "charset"=> "utf8", "table"=> "user_session"); session_handler::init($config); session::open(); session::set("profile", array("id"=> 1, "user"=> "haowei", "vip-level"=> 6));
ログイン後にコピー
以上就是本文的全部内容,希望对大家的学习有所帮助。
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事
R.E.P.O.説明されたエネルギー結晶と彼らが何をするか(黄色のクリスタル)
2週間前
By 尊渡假赌尊渡假赌尊渡假赌
スプリットフィクションを打ち負かすのにどれくらい時間がかかりますか?
1 か月前
By DDD
R.E.P.O.ファイルの保存場所:それはどこにあり、それを保護する方法は?
1 か月前
By DDD
R.E.P.O.最高のグラフィック設定
2週間前
By 尊渡假赌尊渡假赌尊渡假赌
アサシンのクリードシャドウズ:シーシェルリドルソリューション
1週間前
By DDD

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック
Gmailメールのログイン入り口はどこですか?
7390
15


Java チュートリアル
1630
14


CakePHP チュートリアル
1357
52


Laravel チュートリアル
1268
25


PHP チュートリアル
1216
29



PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

ファイルのアップロードを行うには、フォーム ヘルパーを使用します。ここではファイルアップロードの例を示します。

CakePHP は、PHP 用のオープンソース フレームワークです。これは、アプリケーションの開発、展開、保守をより簡単にすることを目的としています。 CakePHP は、強力かつ理解しやすい MVC のようなアーキテクチャに基づいています。モデル、ビュー、コントローラー

CakePHP でデータベースを操作するのは非常に簡単です。この章では、CRUD (作成、読み取り、更新、削除) 操作について理解します。
