Revision: 1211
Updated Code
at September 26, 2006 06:16 by gdonald
Updated Code
// DB Managed Sessions using PHP and MySQL. // Written by: Greg Donald <[email protected]> // $Id: session.php 6 2005-12-26 01:22:57Z destiney $ // MySQL database connection parameters: $GLOBALS[ 'dbhost' ] = 'localhost'; $GLOBALS[ 'dbuser' ] = 'root'; $GLOBALS[ 'dbpasswd' ] = 'changeme'; $GLOBALS[ 'dbname' ] = 'dbsessions'; // Session lifetime $GLOBALS[ 'online_expire' ] = 900; // Default sessions table: $GLOBALS[ 'tb_sessions' ] = 'sessions'; // Use transparent sessions: ini_set( 'session.use_trans_sid', 1 ); /////////////////////////////////////////////////////////////////////// // Below here should not require any changes error_reporting( E_ALL ); $GLOBALS[ 'sdbh' ] = ''; function sess_open( $save_path, $session_name ) { if (! $GLOBALS[ 'sdbh' ] = mysql_pconnect( $GLOBALS[ 'dbhost' ], $GLOBALS[ 'dbuser' ], $GLOBALS[ 'dbpasswd' ] ) ){ die( mysql_error() ); } if( !mysql_select_db( $GLOBALS[ 'dbname' ], $GLOBALS[ 'sdbh' ] ) ) { die( mysql_error() ); } return true; } function sess_close() { return mysql_close( $GLOBALS[ 'sdbh' ] ); } function sess_read( $key ) { $key = mysql_real_escape_string( $key ); $sql = " SELECT `data` FROM `" . $GLOBALS[ 'tb_sessions' ] . "` WHERE `id` = '$key' AND `expire` > UNIX_TIMESTAMP() "; $query = mysql_query( $sql ) or die( mysql_error() ); if( mysql_num_rows( $query ) ) { return mysql_result( $query, 0, 'data' ); } return ''; } function sess_write( $key, $val ) { $key = mysql_real_escape_string( $key ); $value = mysql_real_escape_string( $val ); $sql = " REPLACE INTO `" . $GLOBALS[ 'tb_sessions' ] . "` ( `id`, `data`, `expire` ) VALUES ( '$key', '$value', UNIX_TIMESTAMP() + " . $GLOBALS[ 'online_expire' ] . " ) "; return mysql_query( $sql ) or die( mysql_error() ); } function sess_destroy( $key ) { $key = mysql_real_escape_string( $key ); $sql = " DELETE FROM `" . $GLOBALS[ 'tb_sessions' ] . "` WHERE `id` = '$key' "; return mysql_query( $sql ) or die( mysql_error() ); } function sess_gc() { $sql = " DELETE FROM `" . $GLOBALS[ 'tb_sessions' ] . "` WHERE `expire` < UNIX_TIMESTAMP() - " . $GLOBALS[ 'online_expire' ] . " "; $query = mysql_query( $sql ) or die( mysql_error() ); return mysql_affected_rows(); } session_set_save_handler( 'sess_open', 'sess_close', 'sess_read', 'sess_write', 'sess_destroy', 'sess_gc' ); session_start(); $sn = session_name(); $sid = session_id();
Revision: 1210
Updated Code
at September 26, 2006 06:00 by gdonald
Updated Code
// DB Managed Sessions using PHP and MySQL. // Written by: Greg Donald <[email protected]> // $Id: session.php 6 2005-12-26 01:22:57Z destiney $ // MySQL database connection parameters: $GLOBALS[ 'dbhost' ] = 'localhost'; $GLOBALS[ 'dbuser' ] = 'root'; $GLOBALS[ 'dbpasswd' ] = 'changeme'; $GLOBALS[ 'dbname' ] = 'dbsessions'; // Session lifetime $GLOBALS[ 'online_expire' ] = 900; // Default sessions table: $GLOBALS[ 'tb_sessions' ] = 'sessions'; // Use transparent sessions: ini_set( 'session.use_trans_sid', 1 ); /////////////////////////////////////////////////////////////////////// // Below here should not require any changes error_reporting( E_ALL ); $GLOBALS[ 'sdbh' ] = ''; function sess_open( $save_path, $session_name ) { if (! $GLOBALS[ 'sdbh' ] = mysql_pconnect( $GLOBALS[ 'dbhost' ], $GLOBALS[ 'dbuser' ], $GLOBALS[ 'dbpasswd' ] ) ) { die( mysql_error() ); } if( !mysql_select_db( $GLOBALS[ 'dbname' ], $GLOBALS[ 'sdbh' ] ) ) { die( mysql_error() ); } return true; } function sess_close() { return mysql_close( $GLOBALS[ 'sdbh' ] ); } function sess_read( $key ) { $key = mysql_real_escape_string( $key ); $sql = " SELECT `data` FROM `" . $GLOBALS[ 'tb_sessions' ] . "` WHERE `id` = '$key' AND `expire` > UNIX_TIMESTAMP() "; $query = mysql_query( $sql ) or die( mysql_error() ); if( mysql_num_rows( $query ) ) { return mysql_result( $query, 0, 'data' ); } return ''; } function sess_write( $key, $val ) { $key = mysql_real_escape_string( $key ); $value = mysql_real_escape_string( $val ); $sql = " REPLACE INTO `" . $GLOBALS[ 'tb_sessions' ] . "` ( `id`, `data`, `expire` ) VALUES ( '$key', '$value', UNIX_TIMESTAMP() + " . $GLOBALS[ 'online_expire' ] . " ) "; return mysql_query( $sql ) or die( mysql_error() ); } function sess_destroy( $key ) { $key = mysql_real_escape_string( $key ); $sql = " DELETE FROM `" . $GLOBALS[ 'tb_sessions' ] . "` WHERE `id` = '$key' "; return mysql_query( $sql ) or die( mysql_error() ); } function sess_gc() { $sql = " DELETE FROM `" . $GLOBALS[ 'tb_sessions' ] . "` WHERE `expire` < UNIX_TIMESTAMP() - " . $GLOBALS[ 'online_expire' ] . " "; $query = mysql_query( $sql ) or die( mysql_error() ); return mysql_affected_rows(); } session_set_save_handler( 'sess_open', 'sess_close', 'sess_read', 'sess_write', 'sess_destroy', 'sess_gc' ); session_start(); $sn = session_name(); $sid = session_id();
Revision: 1209
Initial Code
Initial URL
Initial Description
Initial Title
Initial Tags
Initial Language
at September 26, 2006 05:58 by gdonald
Initial Code
// DB Managed Sessions using PHP and MySQL. // Written by: Greg Donald <[email protected]> // $Id: session.php 6 2005-12-26 01:22:57Z destiney $ // MySQL database connection parameters: $GLOBALS[ 'dbhost' ] = 'localhost'; $GLOBALS[ 'dbuser' ] = 'root'; $GLOBALS[ 'dbpasswd' ] = 'changeme'; $GLOBALS[ 'dbname' ] = 'dbsessions'; // Session lifetime $GLOBALS[ 'online_expire' ] = 900; // Default sessions table: $GLOBALS[ 'tb_sessions' ] = 'sessions'; // Use transparent sessions: ini_set( 'session.use_trans_sid', 1 ); /////////////////////////////////////////////////////////////////////// // Below here should not require any changes error_reporting( E_ALL ); $GLOBALS[ 'sdbh' ] = ''; function sess_open( $save_path, $session_name ) { if (! $GLOBALS[ 'sdbh' ] = mysql_pconnect( $GLOBALS[ 'dbhost' ], $GLOBALS[ 'dbuser' ], $GLOBALS[ 'dbpasswd' ] ) ) { die( mysql_error() ); } if( !mysql_select_db( $GLOBALS[ 'dbname' ], $GLOBALS[ 'sdbh' ] ) ) { die( mysql_error() ); } return true; } function sess_close() { return mysql_close( $GLOBALS[ 'sdbh' ] ); } function sess_read( $key ) { $key = mysql_real_escape_string( $key ); $sql = " SELECT `data` FROM `" . $GLOBALS[ 'tb_sessions' ] . "` WHERE `id` = '$key' AND `expire` > UNIX_TIMESTAMP() "; $query = mysql_query( $sql ) or die( mysql_error() ); if( mysql_num_rows( $query ) ) { return mysql_result( $query, 0, 'data' ); } return ''; } function sess_write( $key, $val ) { $key = mysql_real_escape_string( $key ); $value = mysql_real_escape_string( $val ); $sql = " REPLACE INTO `" . $GLOBALS[ 'tb_sessions' ] . "` ( `id`, `data`, `expire` ) VALUES ( '$key', '$value', UNIX_TIMESTAMP() + " . $GLOBALS[ 'online_expire' ] . " ) "; return mysql_query( $sql ) or die( mysql_error() ); } function sess_destroy( $key ) { $key = mysql_real_escape_string( $key ); $sql = " DELETE FROM `" . $GLOBALS[ 'tb_sessions' ] . "` WHERE `id` = '$key' "; return mysql_query( $sql ) or die( mysql_error() ); } function sess_gc() { $sql = " DELETE FROM `" . $GLOBALS[ 'tb_sessions' ] . "` WHERE `expire` < UNIX_TIMESTAMP() - " . $GLOBALS[ 'online_expire' ] . " "; $query = mysql_query( $sql ) or die( mysql_error() ); return mysql_affected_rows(); } session_set_save_handler( 'sess_open', 'sess_close', 'sess_read', 'sess_write', 'sess_destroy', 'sess_gc' ); session_start(); $sn = session_name(); $sid = session_id();
Initial URL
Initial Description
Initial Title
php db sessions
Initial Tags
php
Initial Language
PHP