>  기사  >  데이터 베이스  >  MySQL 액세스 세션 인스턴스

MySQL 액세스 세션 인스턴스

高洛峰
高洛峰원래의
2016-12-02 13:58:141179검색

파일:
common/Common.config.php
include/session.inc.php
session_test.php
get_session_test.php
get_session_test2.php


Common.config.php
   
/*
* 공통 구성
* 작성자: 恋太后天
*/


/*
* 데이터베이스 구성
*/
define( "DBTYPE", "mysql" );
$database = array
(
    "mysql" => array
    ( 
        "기본값" => 배열
        (
              "호스트"     => "localhost",
             "사용자"     => "루트",
              "비밀번호" => ; "",
             "dbname"   => ""
        ),
        "세션" => 배열
        (
             "localhost ",
"사용자"= "세션",
"SESSION", "dbname"= & gt; >
?>


session.inc.php

 

//使用mysql存放session 函数表
// by 恋太后天 2005-4-28

if (!isset($include_path)) $include_path = '';

if (!is_array($database))
{

    include ($include_path."common/Common.config.php");

}

$DBsess      = $database[DBTYPE]["session"];
$DBsess_link = mysql_connect( $DBsess["host"], $DBsess["user"], $DBsess["password"]) 
               또는 사망("오류:Mysql 서버에 연결할 수 없습니다." );
$SESS_LIFE = get_cfg_var("session.gc_maxlifetime");


function sess_open($path, $name)
{

    return true;

}

함수 sess_close()
{
    return true;
}

함수 sess_read($id)
{
    전역 $DBsess , $DBsess_link;
    mysql_select_db($DBsess["dbname"]);

    $now = time();

    $result = mysql_query("`sessions`에서 `data` 선택 
                                           WHERE `id`= '$ id' AND `expiry_time` > $now", $DBsess_link);    
    if (list($data) = mysql_fetch_row($result))
    {   
       return $data;   
    }   
    return false;
}

함수 sess_write($id, $data)
{
    전역 $DBsess , $DBsess_link, $SESS_LIFE;
    mysql_select_db($DBsess["dbname"]);

    $expiry_time = time() + $SESS_LIFE;

    if ( !get_magic_quotes_gpc() )
    {

        $data = addlashes($data);

    }

    $now = time();

    $result = mysql_query("`세션`에 삽입(`id`, `expiry_time`,  `data`)", $DBsess_link);

if (! $ result) { $ result = mysql_Query ( "update` sessions` set`data` = '$ data',`eppiry_time` = $ expiry_time

여기서`id` = '$ id ' AND `expiry_time` > $now", $DBsess_link);

    }

    $result;

}
반환

함수 sess_destroy($id)
{
    전역 $DBsess , $DBsess_link;
    mysql_select_db($DBsess["dbname"]);
    $query = mysql_query("DELETE FROM`session ` WHERE `id`='$id'");
    return $query;
}

function sess_gc($maxlifetime)
{
    전역 $DBsess , $DBsess_link;  
    $query = mysql_query("`expiry_time`     return mysql_affected_rows($DBsess_link);  

}

session_module_name();
session_set_save_handler("sess_open", "sess_close", "sess_read", "sess_write", "sess_destroy", "sess_gc");

?>


session_test.php
   
// 세션 사용 테스트
include("common/Common.config.php ");
include ("include/session.inc.php");

session_start();

$_SESSION["abc"] = "A: 다시 올게요 !";
$_SESSION["meto"] = "B: 나도 ";
echo "

?>

get_session_test.php


   
// 세션 사용 테스트
include("common/Common.config. php");
include ("include/session.inc.php");

session_start();
/*
* www.knowsky.com
*/
$_SESSION["c"] = "
C: 나는 U를 따라갈 것입니다. ^0^!";
print($_SESSION["abc"]);
print("< br>");
print($_SESSION["meto"]);
echo "
".
     "

?>


get_session_test2.php

   
//get_session_test2.php
// 세션 사용 테스트
include ("common/Common.config.php");
include ("include/session.inc.php");

session_start();
인쇄 ($_SESSION["c"]);
?>