ホームページ  >  記事  >  バックエンド開発  >  ThinkPHP は MYSQL に SESSION を保存するメソッドを実装します。 thinkphpmysql_PHP チュートリアル

ThinkPHP は MYSQL に SESSION を保存するメソッドを実装します。 thinkphpmysql_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-13 10:23:08825ブラウズ

ThinkPHP は、MYSQL に SESSION を保存するメソッド、thinkphpmysql を実装します

この記事では、ThinkPHP が MYSQL に SESSION を格納する方法を例を挙げて説明します。使用する動作環境は ThinkPHP バージョン 3.1.2 です。

最初にindex.phpを次のように設定します:

リーリー
config.phpで次のように設定します:

リーリー
データベースの設定はSessionDb.class.phpのDDLを使用していますが、最後にENGINE=MyISAM DEFAULT CHARSET=utf8を追加しています

リーリー
ここで、index.php にアクセスし、phpmyadmin で think_session テーブルを見つけます。さらに多くのデータがあることに驚くでしょう。

これで問題は解決しました。他に何も設定しないでください。SessionDb.class.php が自動的にロードされます。

ThinkPHP はこのように呼ばれます

リーリー
システムは、このセッションを上で作成したデータベースに自動的に保存します。

セッションをデータベースに保存する方法について話し合います

データベースとデータベースのテーブル構造を確立するには、PHP と MySQL の組み合わせが最適なので、名前を変更することもできます。同時に、MySQL にはトランザクション機能がないため、他のデータベースよりも高速ですが、セッション ファイルの保存にはトランザクション処理が必要ないため、より適切に実行することにしました。

データベースを作成します:
次のようにコードをコピーします: CREATE DATABASE 'session'; テーブル構造を作成します CREATE TABLE 'session'( id CHAR(30) NOT NULL , 'user 'CHAR(30), data CHAR(3000) ,PARMIRY BY ( 'id') );
セッションを保存するためにファイル session_start.php を作成しましょう
次のようにコードをコピーします:$con =mysql_connection("127.0.0.1","user", "pass") ;
mysql_select_db("session");
function open($save_path, $session_name){return(true);}function close(){return(true);}function read($id){if($result = mysql_query (" SELECT * FROM session WHERE id='$id'")){if($row = mysql_felth_row($result ))
{ return $row["data"] }}else{return "";}}関数write( $id, $sess_data){if($result = mysql_query("UPDATE session SET data='$sess_data' WHERE id='$id'")){return true;}else{return false;}}関数 destroy ($ id){if($result = mysql_query("DELETE * FROM session WHERE id='$id'")){return true;}else{return false;}}/********** ** *********************************
* 警告 - *
* のようなものを実装する必要があります。ガベージコレクションルーチンはこちら *
***************************************** ***** /
function gc($maxlifetime){return true;}session_set_save_handler("open", "close", "read", "write", "destroy", "gc");
session_start();
/.....残りのテキスト>>

データベースに保存されている session_id を確認するにはどうすればよいですか?

バックエンドのパブリック モジュールにメソッドを記述します。このメソッドの機能は、生成された session_id とデータベースの session_id を比較することです。それらが同じであれば、ログインしていることを意味します。ログインしていない。次に、ログインを検証する必要があるモジュールでこのメソッドを呼び出します。


http://www.bkjia.com/PHPjc/844125.htmlwww.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/844125.html技術記事 ThinkPHP が MYSQL に SESSION を格納する方法を実装する、thinkphpmysql この記事では、ThinkPHP が MYSQL に SESSION を格納する方法を実装する方法について説明します。 まず、使用する動作環境は ThinkPHP のバージョン 3.1.2 です。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。