ホームページ > バックエンド開発 > PHPチュートリアル > セッションをデータベースに保存する方法について説明する_PHP チュートリアル

セッションをデータベースに保存する方法について説明する_PHP チュートリアル

WBOY
リリース: 2016-07-21 15:07:47
オリジナル
831 人が閲覧しました

デフォルトでは、PHP セッションはファイルに保存されます。PHP 設定ファイル php.ini に、session.save_handler="files" という行が表示されます。これは、必要に応じてファイルがセッションの保存に使用されることを意味します。データベースを使用して保存するには、それをサポート モードに変更し、名前を session.save_handler="use" に変更する必要があります。ただし、これは、セッションの保存にファイルを使用しないことを意味するだけであり、データベースを選択して作成する必要もあります。データベーステーブル。

データベースとデータベースのテーブル構造を確立するには、PHP が使用できる任意のデータベースを使用できます。PHP と MySQL の組み合わせが最適であるため、例では 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 ))

{
if($result = my sql_query("UPDATE セッション SET data='$sess_data' WHERE id='$id'"))
"""""""
関数 destroy ($id)
{
if($result = mysql_query("DELETE * FROM session WHERE id='$id'"))
}
}
/**********************************************
* 警告 - 必要になります。ここに *
* 種類のガベージ コレクション ルーチンを実装します。  *
********************************************/
function gc($maxlifetime)
{
return true;
}
session_set_save_handler("open", "close", "read", "write", "destroy", "gc") ;
session_start() ;
// 通常のセッションの使用に進みます
?>


これで作業は完了しました。セッションを使用する必要がある限り、session_user_start.php を変更します。インクルードします。




、このファイルはファイルの最初の行にインクルードする必要があり、その後、ファイルのセッションと同じように使用できます。




http://www.bkjia.com/PHPjc/327508.html

www.bkjia.com

tru​​e

http://www.bkjia.com/PHPjc/327508.html

技術記事

デフォルトでは、PHP セッションはファイル モードで保存されます。PHP 設定ファイル php.ini の session.save_handler="files" に次のような行があります。これは...
を意味します。
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート