Mysql存取session實(shí)例

files:
common/common.config.php
include/session.inc.php
session_test.php
get_session_test.php
get_session_test2.php

Common.config.php
???
/*
* Common config
* By 戀太后天
*/

/*
* database config
*/
define( “DBTYPE”, “mysql” );
$database = array
(
??? “mysql” => array
??? (?
??????? “default” => array
??????? (
????????????? “host”???? => “localhost”,
????????????? “user”???? => “root”,
????????????? “password” => “”,
????????????? “dbname”?? => “”
??????? ),
??????? “session” => array
??????? (
????????????? “host”???? => “localhost”,
????????????? “user”???? => “session”,
????????????? “password” => “session”,
????????????? “dbname”?? => “sessions”
??????? )
??? )
);

?>

session.inc.php

?
//使用mysql存放session 函數(shù)表
// 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”])?
?????????????? or die (“Error:Can not connect to Mysql server.“);

$SESS_LIFE = get_cfg_var(“session.gc_maxlifetime”);

function sess_open($path, $name)
{
??? return true;
}

function sess_close()
{
??? return true;
}

function sess_read($id)
{
??? global $DBsess , $DBsess_link;
??? mysql_select_db($DBsess[“dbname”]);
??? $now = time();
??? $result = mysql_query(“SELECT `data` FROM `sessions`?
?????????????????????????? WHERE `id`= ‘$id’ AND `expiry_time` > $now”, $DBsess_link);????
??? if (list($data) = mysql_fetch_row($result))
??? {???
?????? return $data;???
??? }???
??? return false;?
}

function sess_write($id, $data)
{
??? global $DBsess , $DBsess_link, $SESS_LIFE;
??? mysql_select_db($DBsess[“dbname”]);

??? $expiry_time = time() + $SESS_LIFE;

??? if ( !get_magic_quotes_gpc() )
??? {
??????? $data = addslashes($data);
??? }

??? $now = time();

??? $result = mysql_query(“INSERT into `sessions` (`id`, `expiry_time`,? `data`)”, $DBsess_link);

??? if ( !$result )
??? {
??????? $result = mysql_query(“UPDATE `sessions` SET `data`=’$data’, `expiry_time`=$expiry_time?
?????????????????????????????? WHERE `id` = ‘$id’ AND `expiry_time` > $now”, $DBsess_link);
??? }

??? return $result;
}

function sess_destroy($id)
{
??? global $DBsess , $DBsess_link;
??? mysql_select_db($DBsess[“dbname”]);
??? $query = mysql_query(“DELETE FROM `session` WHERE `id`=’$id'”);
??? return $query;
}

function sess_gc($maxlifetime)
{
??? global $DBsess , $DBsess_link;??
??? $query = mysql_query(“DELETE FROM `sessions` WHERE `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
???
// test for using session
include (“common/Common.config.php”);
include (“include/session.inc.php”);

session_start();

$_SESSION[“abc”] = “A: I will be back!”;
$_SESSION[“meto”] = “B: Me too “;
echo “

?>

get_session_test.php

???
// test for using session
include (“common/Common.config.php”);
include (“include/session.inc.php”);

session_start();
/*
*?www.knowsky.com
*/
$_SESSION[“c”] = “
C: I will follow U. ^0^!”;
print($_SESSION[“abc”]);
print(“
“);
print($_SESSION[“meto”]);
echo “
“.
???? “

?>

get_session_test2.php

???
//get_session_test2.php
// test for using session
include (“common/Common.config.php”);
include (“include/session.inc.php”);

session_start();
print($_SESSION[“c”]);
?>

? 版權(quán)聲明
THE END
喜歡就支持一下吧
點(diǎn)贊7 分享