/*DROP TABLE IF EXISTS t_session;
CREATE TABLE t_session (
sess_index varchar(200) NOT NULL COLLATE utf8_bin
,sess_value text DEFAULT null COLLATE utf8_bin
,sess_life_time int(11) NOT NULL DEFAULT 0
,PRIMARY KEY (sess_index)
,KEY i_t_session_1 (sess_index, sess_life_time)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;*/
define('K_DB_HOST', '******');// mysql ip address
define('K_DB_USER', '******');// mysql user id
define('K_DB_PASS', '******');// mysql user password
define('K_DB_NAME', '******');// mysql schema name
// ==============================================
/**
* @access public
* @param string $save_path 使わないけどI/F必要
* @param string $sess_name 使わないけどI/F必要
* @return bool
*/
function db_sess_open ($save_path, $sess_name) {
return True;
}
// ==============================================
/**
* @access public
* @return bool
*/
function db_sess_close () {
return True;
}
// ==============================================
/**
* @access public
* @param string $sess_id セッションキー
* @return string
*/
function db_sess_read ($sess_id) {
$rtn = '';$con = mysql_connect(K_DB_HOST , K_DB_USER, K_DB_PASS);
mysql_select_db(K_DB_NAME, $con);$sql = '';
$sql .= " SELECT";
$sql .= " sess_value";
$sql .= " FROM";
$sql .= " t_session";
$sql .= " WHERE";
$sql .= " sess_index = 'aaaaaa_" . mysql_real_escape_string($sess_id) . "'";
$sql .= " AND";
$sql .= " sess_life_time >= " . time() . "";$rsl = mysql_query($sql , $con);
if ($rsl !== false) {
while ($row = mysql_fetch_assoc($rsl)) {
$rtn = '' . $row['sess_value'];
}
}mysql_close($con);
return $rtn;
}
// ==============================================
/**
* @access public
* @param string $sess_id セッションキー
* @param string $sess_data セッション値
* @return bool
*/
function db_sess_write ($sess_id, $sess_data) {
// get lifetime
$int_expire = ini_get('session.gc_maxlifetime');
$int_expire = (int)$int_expire;
if ($int_expire <= 0) {
$int_expire = (60 * 15);
}$rtn = False;
$con = mysql_connect(K_DB_HOST , K_DB_USER, K_DB_PASS);
mysql_select_db(K_DB_NAME, $con);$sql = '';
$sql .= " REPLACE INTO t_session (";
$sql .= " sess_index";
$sql .= " ,sess_value";
$sql .= " ,sess_life_time";
$sql .= " ) VALUES (";
$sql .= " 'aaaaaa_" . mysql_real_escape_string($sess_id) . "'";
$sql .= " ,'" . mysql_real_escape_string($sess_data) . "'";
$sql .= " ," . (time() + $int_expire) . "";
$sql .= " )";$rsl = mysql_query($sql , $con);
$rsl = mysql_query($sql , $con);
mysql_close($con);
$rtn = True;
return $rtn;
}
// ==============================================
/**
* @access public
* @param string $sess_id セッションキー
* @return bool
*/
function db_sess_destroy ($sess_id) {
$rtn = False;$con = mysql_connect(K_DB_HOST , K_DB_USER, K_DB_PASS);
mysql_select_db(K_DB_NAME, $con);$sql = '';
$sql .= " DELETE FROM";
$sql .= " t_session";
$sql .= " WHERE";
$sql .= " sess_index = 'aaaaaa_" . mysql_real_escape_string($sess_id) . "'";$rsl = mysql_query($sql , $con);
$rsl = mysql_query($sql , $con);
mysql_close($con);
$rtn = True;
return $rtn;
}
// ==============================================
/**
* @access public
* @param string $max_life_time 使わないけどI/F必要
* @return bool
*/
function db_sess_gc ($max_life_time) {
$rtn = False;$con = mysql_connect(K_DB_HOST , K_DB_USER, K_DB_PASS);
mysql_select_db(K_DB_NAME, $con);$sql = '';
$sql .= " DELETE FROM";
$sql .= " t_session";
$sql .= " WHERE";
$sql .= " sess_life_time < " . time() . "";$rsl = mysql_query($sql , $con);
$rsl = mysql_query($sql , $con);
mysql_close($con);
$rtn = True;
return $rtn;
}
// ==============================================
if ((function_exists('db_sess_open') !== False) &&
(function_exists('db_sess_close') !== False) &&
(function_exists('db_sess_read') !== False) &&
(function_exists('db_sess_write') !== False) &&
(function_exists('db_sess_destroy') !== False) &&
(function_exists('db_sess_gc') !== False) ) {ini_set('session.save_handler', 'user');
session_set_save_handler(
'db_sess_open'
,'db_sess_close'
,'db_sess_read'
,'db_sess_write'
,'db_sess_destroy'
,'db_sess_gc'
);}
// ==============================================