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”]);
?>