sess_key = md5(mt_rand()); $sql = mysql_query("SELECT id FROM sessions WHERE sess_key = '{$this->sess_key}'") or print(mysql_error() . " " . __FILE__ . " #" . __LINE__); } while(mysql_num_rows($sql) == 1); $this->sess_timeout = $timeout; } function register($val) { $user_ip = $_SERVER['REMOTE_ADDR']; mysql_query("DELETE FROM sessions WHERE user_id = '" . addslashes($val) . "'") or print(mysql_error() . " " . __FILE__ . " #" . __LINE__); mysql_query("INSERT INTO sessions (sess_key, user_id, ip, sess_start, sess_timeout, last_update) VALUES ('{$this->sess_key}', '" . addslashes($val) . "', '$user_ip', UNIX_TIMESTAMP(), (UNIX_TIMESTAMP() + {$this->sess_timeout}), UNIX_TIMESTAMP())") or print(mysql_error() . " " . __FILE__ . " #" . __LINE__); $exp = $this->sess_start + $this->sess_timeout; $_COOKIE['sess_key'] = $this->sess_key; $secure = "false"; if(array_key_exists("HTTPS", $_SERVER) && $_SERVER['HTTPS'] == "on") $secure = "true"; ?> sess_key = $_COOKIE["sess_key"]; $query = mysql_query("SELECT last_update, sess_timeout FROM sessions WHERE sess_key = '{$this->sess_key}'") or print(mysql_error() . " " . __FILE__ . " #" . __LINE__); //$fetch = mysql_fetch_array($query); $access = mysql_result($query, 0, 'last_update'); $expire = mysql_result($query, 0, 'sess_timeout'); if($access > $expire) { $this->destroy(); } @mysql_free_result($query); } } function read() { if(isset($_COOKIE["sess_key"])) { $temp_key = addslashes($_COOKIE["sess_key"]); $query = mysql_query("SELECT user_id FROM sessions WHERE sess_key = '$temp_key'") or print(mysql_error() . " " . __FILE__ . " #" . __LINE__); if($query && mysql_num_rows($query) == 1) { //$fetch = mysql_fetch_array($query); $this->sess_val = stripslashes(mysql_result($query, 0, 'user_id')); $this->expire(); mysql_query("UPDATE sessions SET last_update = UNIX_TIMESTAMP() WHERE sess_key = '{$this->sess_key}'") or print(mysql_error() . " " . __FILE__ . " #" . __LINE__); @mysql_free_result($query); } else { // Session error. expire. //$this->destroy(); //$_SESSION['nick_id'] = ""; //$_SESSION['user_id'] = ""; } } } function replace($val) { if(isset($_COOKIE["sess_key"])) { $temp_key = addslashes($_COOKIE["sess_key"]); mysql_query("UPDATE sessions SET user_id = '$val' WHERE sess_key = '$temp_key'") or print(mysql_error() . " " . __FILE__ . " #" . __LINE__); } } } ?>