sessions.php

来自「全新且完善的强大网上商店系统」· PHP 代码 · 共 126 行

PHP
126
字号
<?php



if (STORE_SESSIONS == 'mysql') {
    if (!$SESS_LIFE = get_cfg_var('session.gc_maxlifetime')) {
      $SESS_LIFE = 1440;
    }

    function _sess_open($save_path, $session_name) {
      return true;
    }

    function _sess_close() {
      return true;
    }

    function _sess_read($key) {
       global $db,$table_sessions;
			 $query = $db->query("select value from $table_sessions where sesskey = '" . addslashes($key) . "' and expiry > '" . time() . "'");
       $value = $db->fetch_array($query);
       if (isset($value['value'])) {
          return $value['value'];
       }
       return false;
    }

    function _sess_write($key, $val) {
       global $db,$table_sessions,$SESS_LIFE;
       $expiry = time() + $SESS_LIFE;
       $value = $val;
       $query = $db->query("select count(*) as total from $table_sessions where sesskey = '" . addslashes($key) . "'");
       $check = $db->fetch_array($query);
       if ($check['total'] > 0) {
          return $db->query("update $table_sessions set expiry = '" . addslashes($expiry) . "', value = '" .addslashes($value) . "' where sesskey = '" .addslashes($key) . "'");
       } else {
          return $db->query("insert into $table_sessions values ('" . addslashes($key) . "', '" .addslashes($expiry) . "', '" .addslashes($value) . "')");
       }
    }

    function _sess_destroy($key) {
       global $db,$table_sessions;
			 return $db->query("delete from $table_sessions where sesskey = '" .addslashes($key) . "'");
    }

    function _sess_gc($maxlifetime) {
       global $db,$table_sessions;
			 $db->query("delete from $table_sessions where expiry < '" . time() . "'");
       return true;
    }
    session_set_save_handler('_sess_open', '_sess_close', '_sess_read', '_sess_write', '_sess_destroy', '_sess_gc');
}

function tep_session_start() {
    return @session_start();
}

function tep_session_register($variable) {
    global $session_started;
    if ($session_started == true) {
      return session_register($variable);
    } else {
      return false;
    }
}

function tep_session_is_registered($variable) {
    return session_is_registered($variable);
}

function tep_session_unregister($variable) {
    return session_unregister($variable);
}

function tep_session_id($sessid = '') {
    if (!empty($sessid)) {
      return session_id($sessid);
    } else {
      return session_id();
    }
}

function tep_session_name($name = '') {
    if ($name) {
			  return session_name($name);
    } else {
        return session_name();
    }
}

function tep_session_close() {
    if (PHP_VERSION >= '4.0.4') {
      return @session_write_close();
    } elseif (function_exists('session_close')) {
      return @session_close();
    }
}

function tep_session_destroy() {
    return @session_destroy();
}

function tep_session_save_path($path = '') {
    if (!empty($path)) {
      return session_save_path($path);
    } else {
      return session_save_path();
    }
}

function tep_session_recreate() {
    if (PHP_VERSION >= 4.1) {
       $session_backup = $_SESSION;
       unset($_COOKIE[tep_session_name()]);
       tep_session_destroy();
       if (STORE_SESSIONS == 'mysql') {
           session_set_save_handler('_sess_open', '_sess_close', '_sess_read', '_sess_write', '_sess_destroy', '_sess_gc');
       }
       tep_session_start();
       $_SESSION = $session_backup;
       unset($session_backup);
    }
}

?>

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?