<?
$DB_SERVER = "サーバー"; /* データベースサーバーのホスト名 */
$DB_NAME = "データベース名"; /* データベース名 */
$DB_USER = "ルート"; /* データベース ユーザー */
$DB_PASS = "*************"; /* データベースのパスワード */
$DB_SELECT_DB = "";
$SESS_LIFE = get_cfg_var("session.gc_maxlifetime");
関数 sess_open($save_path, $session_name) {
グローバル $DB_SERVER、$DB_NAME、$DB_USER、$DB_PASS、$DB_SELECT_DB;
if (! $DB_SELECT_DB = mysql_pconnect($DB_SERVER, $DB_USER, $DB_PASS)) {
echo "申し訳ありません! MYSQL エラー: $DB_USER として $DB_SERVER に接続できません";
echo "MySQL エラー: ", mysql_error();
死ぬ。
}
if (! mysql_select_db($DB_NAME, $DB_SELECT_DB)) {
echo "申し訳ありません! MYSQL エラー: データベース $DB_NAME を選択できません";
死ぬ。
true を返します
。
関数sess_close()
{
true を返します。
関数sess_read($SessionKey)
{
グローバル $DB_SELECT_DB、$SESS_LIFE;
$Query = "SELECT SessionArray FROM cdb_global_sessions WHERE SessionKey = '".$SessionKey."' AND SessionExpTime > " .時間();
$Result = mysql_query($Query, $DB_SELECT_DB);
if (list($SessionArray) = mysql_fetch_row($Result)) {
$SessionArray を返します。
falseを返します
。
関数 sess_write($SessionKey, $VArray)
{
グローバル $DB_SELECT_DB、$SESS_LIFE;
$SessionExpTime = time() + $SESS_LIFE;
$SessionArray = ラッシュを追加($VArray);
$Query = "INSERT INTO cdb_global_sessions (SessionKey,SessionExpTime,SessionArray) VALUES ('".$SessionKey."','".$SessionExpTime."','".$SessionArray."')";
$Result = mysql_query($Query, $DB_SELECT_DB);
if (!$Result){
$Query = "UPDATE cdb_global_sessions SET SessionExpTime = '".$SessionExpTime."'、SessionArray = '".$SessionArray."' WHERE SessionKey = '".$SessionKey."' AND SessionExpTime > " 。時間();
$Result = mysql_query($Query, $DB_SELECT_DB);
}
$Result を返します。
関数sess_destroy($SessionKey)
{
グローバル $DB_SELECT_DB;
$Query = "cdb_global_sessions WHERE から削除 SessionKey = '".$SessionKey."'";
$Result = mysql_query($Query, $DB_SELECT_DB);
$Result を返します。
関数sess_gc($maxlifetime)
{
グローバル $DB_SELECT_DB;
$Query = "cdb_global_sessions WHERE SessionExpTime < " から削除します。時間();
$Result = mysql_query($Query, $DB_SELECT_DB);
mysql_affected_rows($DB_SELECT_DB)を返します;
session_set_save_handler
(
"sess_open",
"sess_close",
"sess_read",
"sess_write",
"sess_destroy",
"sess_gc");
セッション開始();
?>