亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? adodb-session.php

?? asterisk用 的voip記費軟件
?? PHP
字號:
<?php
/*
V4.93 10 Oct 2006  (c) 2000-2007 John Lim (jlim#natsoft.com.my). All rights reserved.
  Released under both BSD license and Lesser GPL library license. 
  Whenever there is any discrepancy between the two licenses, 
  the BSD license will take precedence.
	  Set tabs to 4 for best viewing.
  
  Latest version of ADODB is available at http://php.weblogs.com/adodb
  ======================================================================
  
 This file provides PHP4 session management using the ADODB database
wrapper library.
 
 Example
 =======
 
	include('adodb.inc.php');
	include('adodb-session.php');
	session_start();
	session_register('AVAR');
	$_SESSION['AVAR'] += 1;
	print "
-- \$_SESSION['AVAR']={$_SESSION['AVAR']}</p>";
	
To force non-persistent connections, call adodb_session_open first before session_start():

	include('adodb.inc.php');
	include('adodb-session.php');
	adodb_sess_open(false,false,false);
	session_start();
	session_register('AVAR');
	$_SESSION['AVAR'] += 1;
	print "
-- \$_SESSION['AVAR']={$_SESSION['AVAR']}</p>";

 
 Installation
 ============
 1. Create this table in your database (syntax might vary depending on your db):
 
  create table sessions (
	   SESSKEY char(32) not null,
	   EXPIRY int(11) unsigned not null,
	   EXPIREREF varchar(64),
	   DATA text not null,
	  primary key (sesskey)
  );
  
  For oracle:
    create table sessions (
	   SESSKEY char(32) not null,
	   EXPIRY DECIMAL(16)  not null,
	   EXPIREREF varchar(64),
	   DATA varchar(4000) not null,
	  primary key (sesskey)
  );


  2. Then define the following parameters. You can either modify
     this file, or define them before this file is included:
	 
  	$ADODB_SESSION_DRIVER='database driver, eg. mysql or ibase';
	$ADODB_SESSION_CONNECT='server to connect to';
	$ADODB_SESSION_USER ='user';
	$ADODB_SESSION_PWD ='password';
	$ADODB_SESSION_DB ='database';
	$ADODB_SESSION_TBL = 'sessions'
	
  3. Recommended is PHP 4.1.0 or later. There are documented
	 session bugs in earlier versions of PHP.

  4. If you want to receive notifications when a session expires, then
  	 you can tag a session with an EXPIREREF, and before the session
	 record is deleted, we can call a function that will pass the EXPIREREF
	 as the first parameter, and the session key as the second parameter.
	 
	 To do this, define a notification function, say NotifyFn:
	 
	 	function NotifyFn($expireref, $sesskey)
	 	{
	 	}
	 
	 Then you need to define a global variable $ADODB_SESSION_EXPIRE_NOTIFY.
	 This is an array with 2 elements, the first being the name of the variable
	 you would like to store in the EXPIREREF field, and the 2nd is the 
	 notification function's name.
	 
	 In this example, we want to be notified when a user's session 
	 has expired, so we store the user id in the global variable $USERID, 
	 store this value in the EXPIREREF field:
	 
	 	$ADODB_SESSION_EXPIRE_NOTIFY = array('USERID','NotifyFn');
		
	Then when the NotifyFn is called, we are passed the $USERID as the first
	parameter, eg. NotifyFn($userid, $sesskey).
*/

if (!defined('_ADODB_LAYER')) {
	include (dirname(__FILE__).'/adodb.inc.php');
}

if (!defined('ADODB_SESSION')) {

 define('ADODB_SESSION',1);
 
 /* if database time and system time is difference is greater than this, then give warning */
 define('ADODB_SESSION_SYNCH_SECS',60); 

 /*
	Thanks Joe Li. See http://phplens.com/lens/lensforum/msgs.php?id=11487&x=1
*/
function adodb_session_regenerate_id() 
{
	$conn =& ADODB_Session::_conn();
	if (!$conn) return false;

	$old_id = session_id();
	if (function_exists('session_regenerate_id')) {
		session_regenerate_id();
	} else {
		session_id(md5(uniqid(rand(), true)));
		$ck = session_get_cookie_params();
		setcookie(session_name(), session_id(), false, $ck['path'], $ck['domain'], $ck['secure']);
		//@session_start();
	}
	$new_id = session_id();
	$ok =& $conn->Execute('UPDATE '. ADODB_Session::table(). ' SET sesskey='. $conn->qstr($new_id). ' WHERE sesskey='.$conn->qstr($old_id));
	
	/* it is possible that the update statement fails due to a collision */
	if (!$ok) {
		session_id($old_id);
		if (empty($ck)) $ck = session_get_cookie_params();
		setcookie(session_name(), session_id(), false, $ck['path'], $ck['domain'], $ck['secure']);
		return false;
	}
	
	return true;
}

/****************************************************************************************\
	Global definitions
\****************************************************************************************/
GLOBAL 	$ADODB_SESSION_CONNECT, 
	$ADODB_SESSION_DRIVER,
	$ADODB_SESSION_USER,
	$ADODB_SESSION_PWD,
	$ADODB_SESSION_DB,
	$ADODB_SESS_CONN,
	$ADODB_SESS_LIFE,
	$ADODB_SESS_DEBUG,
	$ADODB_SESSION_EXPIRE_NOTIFY,
	$ADODB_SESSION_CRC,
	$ADODB_SESSION_TBL;
	
	
	$ADODB_SESS_LIFE = ini_get('session.gc_maxlifetime');
	if ($ADODB_SESS_LIFE <= 1) {
	 // bug in PHP 4.0.3 pl 1  -- how about other versions?
	 //print "<h3>Session Error: PHP.INI setting <i>session.gc_maxlifetime</i>not set: $ADODB_SESS_LIFE</h3>";
	 	$ADODB_SESS_LIFE=1440;
	}
	$ADODB_SESSION_CRC = false;
	//$ADODB_SESS_DEBUG = true;
	
	//////////////////////////////////
	/* SET THE FOLLOWING PARAMETERS */
	//////////////////////////////////
	
	if (empty($ADODB_SESSION_DRIVER)) {
		$ADODB_SESSION_DRIVER='mysql';
		$ADODB_SESSION_CONNECT='localhost';
		$ADODB_SESSION_USER ='root';
		$ADODB_SESSION_PWD ='';
		$ADODB_SESSION_DB ='xphplens_2';
	}
	
	if (empty($ADODB_SESSION_EXPIRE_NOTIFY)) {
		$ADODB_SESSION_EXPIRE_NOTIFY = false;
	}
	//  Made table name configurable - by David Johnson djohnson@inpro.net
	if (empty($ADODB_SESSION_TBL)){
		$ADODB_SESSION_TBL = 'sessions';
	}
	
	/*
	$ADODB_SESS['driver'] = $ADODB_SESSION_DRIVER;
	$ADODB_SESS['connect'] = $ADODB_SESSION_CONNECT;
	$ADODB_SESS['user'] = $ADODB_SESSION_USER;
	$ADODB_SESS['pwd'] = $ADODB_SESSION_PWD;
	$ADODB_SESS['db'] = $ADODB_SESSION_DB;
	$ADODB_SESS['life'] = $ADODB_SESS_LIFE;
	$ADODB_SESS['debug'] = $ADODB_SESS_DEBUG;
	
	$ADODB_SESS['debug'] = $ADODB_SESS_DEBUG;
	$ADODB_SESS['table'] = $ADODB_SESS_TBL;
	*/
	
/****************************************************************************************\
	Create the connection to the database. 
	
	If $ADODB_SESS_CONN already exists, reuse that connection
\****************************************************************************************/
function adodb_sess_open($save_path, $session_name,$persist=true) 
{
GLOBAL $ADODB_SESS_CONN;
	if (isset($ADODB_SESS_CONN)) return true;
	
GLOBAL 	$ADODB_SESSION_CONNECT, 
	$ADODB_SESSION_DRIVER,
	$ADODB_SESSION_USER,
	$ADODB_SESSION_PWD,
	$ADODB_SESSION_DB,
	$ADODB_SESS_DEBUG;
	
	// cannot use & below - do not know why...
	$ADODB_SESS_CONN = ADONewConnection($ADODB_SESSION_DRIVER);
	if (!empty($ADODB_SESS_DEBUG)) {
		$ADODB_SESS_CONN->debug = true;
		ADOConnection::outp( " conn=$ADODB_SESSION_CONNECT user=$ADODB_SESSION_USER pwd=$ADODB_SESSION_PWD db=$ADODB_SESSION_DB ");
	}
	if ($persist) $ok = $ADODB_SESS_CONN->PConnect($ADODB_SESSION_CONNECT,
			$ADODB_SESSION_USER,$ADODB_SESSION_PWD,$ADODB_SESSION_DB);
	else $ok = $ADODB_SESS_CONN->Connect($ADODB_SESSION_CONNECT,
			$ADODB_SESSION_USER,$ADODB_SESSION_PWD,$ADODB_SESSION_DB);
	
	if (!$ok) ADOConnection::outp( "
-- Session: connection failed</p>",false);
}

/****************************************************************************************\
	Close the connection
\****************************************************************************************/
function adodb_sess_close() 
{
global $ADODB_SESS_CONN;

	if ($ADODB_SESS_CONN) $ADODB_SESS_CONN->Close();
	return true;
}

/****************************************************************************************\
	Slurp in the session variables and return the serialized string
\****************************************************************************************/
function adodb_sess_read($key) 
{
global $ADODB_SESS_CONN,$ADODB_SESSION_TBL,$ADODB_SESSION_CRC;

	$rs = $ADODB_SESS_CONN->Execute("SELECT data FROM $ADODB_SESSION_TBL WHERE sesskey = '$key' AND expiry >= " . time());
	if ($rs) {
		if ($rs->EOF) {
			$v = '';
		} else 
			$v = rawurldecode(reset($rs->fields));
			
		$rs->Close();
		
		// new optimization adodb 2.1
		$ADODB_SESSION_CRC = strlen($v).crc32($v);
		
		return $v;
	}
	
	return ''; // thx to Jorma Tuomainen, webmaster#wizactive.com
}

/****************************************************************************************\
	Write the serialized data to a database.
	
	If the data has not been modified since adodb_sess_read(), we do not write.
\****************************************************************************************/
function adodb_sess_write($key, $val) 
{
	global
		$ADODB_SESS_CONN, 
		$ADODB_SESS_LIFE, 
		$ADODB_SESSION_TBL,
		$ADODB_SESS_DEBUG, 
		$ADODB_SESSION_CRC,
		$ADODB_SESSION_EXPIRE_NOTIFY;

	$expiry = time() + $ADODB_SESS_LIFE;
	
	// crc32 optimization since adodb 2.1
	// now we only update expiry date, thx to sebastian thom in adodb 2.32
	if ($ADODB_SESSION_CRC !== false && $ADODB_SESSION_CRC == strlen($val).crc32($val)) {
		if ($ADODB_SESS_DEBUG) echo "
-- Session: Only updating date - crc32 not changed</p>";
		$qry = "UPDATE $ADODB_SESSION_TBL SET expiry=$expiry WHERE sesskey='$key' AND expiry >= " . time();
		$rs = $ADODB_SESS_CONN->Execute($qry);	
		return true;
	}
	$val = rawurlencode($val);
	
	$arr = array('sesskey' => $key, 'expiry' => $expiry, 'data' => $val);
	if ($ADODB_SESSION_EXPIRE_NOTIFY) {
		$var = reset($ADODB_SESSION_EXPIRE_NOTIFY);
		global $$var;
		$arr['expireref'] = $$var;
	}
	$rs = $ADODB_SESS_CONN->Replace($ADODB_SESSION_TBL,$arr,
    	'sesskey',$autoQuote = true);
	
	if (!$rs) {
		ADOConnection::outp( '
-- Session Replace: '.$ADODB_SESS_CONN->ErrorMsg().'</p>',false);
	}  else {
		// bug in access driver (could be odbc?) means that info is not commited
		// properly unless select statement executed in Win2000
		if ($ADODB_SESS_CONN->databaseType == 'access') 
			$rs = $ADODB_SESS_CONN->Execute("select sesskey from $ADODB_SESSION_TBL WHERE sesskey='$key'");
	}
	return !empty($rs);
}

function adodb_sess_destroy($key) 
{
	global $ADODB_SESS_CONN, $ADODB_SESSION_TBL,$ADODB_SESSION_EXPIRE_NOTIFY;
	
	if ($ADODB_SESSION_EXPIRE_NOTIFY) {
		reset($ADODB_SESSION_EXPIRE_NOTIFY);
		$fn = next($ADODB_SESSION_EXPIRE_NOTIFY);
		$savem = $ADODB_SESS_CONN->SetFetchMode(ADODB_FETCH_NUM);
		$rs = $ADODB_SESS_CONN->Execute("SELECT expireref,sesskey FROM $ADODB_SESSION_TBL WHERE sesskey='$key'");
		$ADODB_SESS_CONN->SetFetchMode($savem);
		if ($rs) {
			$ADODB_SESS_CONN->BeginTrans();
			while (!$rs->EOF) {
				$ref = $rs->fields[0];
				$key = $rs->fields[1];
				$fn($ref,$key);
				$del = $ADODB_SESS_CONN->Execute("DELETE FROM $ADODB_SESSION_TBL WHERE sesskey='$key'");
				$rs->MoveNext();
			}
			$ADODB_SESS_CONN->CommitTrans();
		}
	} else {
		$qry = "DELETE FROM $ADODB_SESSION_TBL WHERE sesskey = '$key'";
		$rs = $ADODB_SESS_CONN->Execute($qry);
	}
	return $rs ? true : false;
}

function adodb_sess_gc($maxlifetime) 
{
	global $ADODB_SESS_DEBUG, $ADODB_SESS_CONN, $ADODB_SESSION_TBL,$ADODB_SESSION_EXPIRE_NOTIFY;
	
	if ($ADODB_SESSION_EXPIRE_NOTIFY) {
		reset($ADODB_SESSION_EXPIRE_NOTIFY);
		$fn = next($ADODB_SESSION_EXPIRE_NOTIFY);
		$savem = $ADODB_SESS_CONN->SetFetchMode(ADODB_FETCH_NUM);
		$t = time();
		$rs =& $ADODB_SESS_CONN->Execute("SELECT expireref,sesskey FROM $ADODB_SESSION_TBL WHERE expiry < $t");
		$ADODB_SESS_CONN->SetFetchMode($savem);
		if ($rs) {
			$ADODB_SESS_CONN->BeginTrans();
			while (!$rs->EOF) {
				$ref = $rs->fields[0];
				$key = $rs->fields[1];
				$fn($ref,$key);
				$del = $ADODB_SESS_CONN->Execute("DELETE FROM $ADODB_SESSION_TBL WHERE sesskey='$key'");
				$rs->MoveNext();
			}
			$rs->Close();
			
			$ADODB_SESS_CONN->CommitTrans();
			
		}
	} else {
		$qry = "DELETE FROM $ADODB_SESSION_TBL WHERE expiry < " . time();
		$ADODB_SESS_CONN->Execute($qry);
	
		if ($ADODB_SESS_DEBUG) ADOConnection::outp("
-- <b>Garbage Collection</b>: $qry</p>");
	}
	// suggested by Cameron, "GaM3R" <gamr@outworld.cx>
	if (defined('ADODB_SESSION_OPTIMIZE')) {
	global $ADODB_SESSION_DRIVER;
	
		switch( $ADODB_SESSION_DRIVER ) {
			case 'mysql':
			case 'mysqlt':
				$opt_qry = 'OPTIMIZE TABLE '.$ADODB_SESSION_TBL;
				break;
			case 'postgresql':
			case 'postgresql7':
				$opt_qry = 'VACUUM '.$ADODB_SESSION_TBL;	
				break;
		}
		if (!empty($opt_qry)) {
			$ADODB_SESS_CONN->Execute($opt_qry);
		}
	}
	if ($ADODB_SESS_CONN->dataProvider === 'oci8') $sql = 'select  TO_CHAR('.($ADODB_SESS_CONN->sysTimeStamp).', \'RRRR-MM-DD HH24:MI:SS\') from '. $ADODB_SESSION_TBL;
	else $sql = 'select '.$ADODB_SESS_CONN->sysTimeStamp.' from '. $ADODB_SESSION_TBL;
	
	$rs =& $ADODB_SESS_CONN->SelectLimit($sql,1);
	if ($rs && !$rs->EOF) {
	
		$dbts = reset($rs->fields);
		$rs->Close();
		$dbt = $ADODB_SESS_CONN->UnixTimeStamp($dbts);
		$t = time();
	
		if (abs($dbt - $t) >= ADODB_SESSION_SYNCH_SECS) {
		
			$msg = 
			__FILE__.": Server time for webserver {$_SERVER['HTTP_HOST']} not in synch with database: database=$dbt ($dbts), webserver=$t (diff=".(abs($dbt-$t)/3600)." hrs)";
			error_log($msg);
			if ($ADODB_SESS_DEBUG) ADOConnection::outp("
-- $msg</p>");
		}
	}
	
	return true;
}

session_module_name('user'); 
session_set_save_handler(
	"adodb_sess_open",
	"adodb_sess_close",
	"adodb_sess_read",
	"adodb_sess_write",
	"adodb_sess_destroy",
	"adodb_sess_gc");
}

/*  TEST SCRIPT -- UNCOMMENT */

if (0) {

	session_start();
	session_register('AVAR');
	$_SESSION['AVAR'] += 1;
	ADOConnection::outp( "
-- \$_SESSION['AVAR']={$_SESSION['AVAR']}</p>",false);
}

?>

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美区一区二区三区| 国产精品资源在线看| 色悠久久久久综合欧美99| 国产精品久久久久久久久免费丝袜| 国产剧情一区二区| 国产精品日日摸夜夜摸av| 99久久久精品免费观看国产蜜| 亚洲欧洲av在线| 在线观看视频欧美| 热久久一区二区| 中文无字幕一区二区三区| 色婷婷一区二区| 日本三级韩国三级欧美三级| 337p粉嫩大胆噜噜噜噜噜91av | 亚洲一区电影777| 欧美一区二区三区日韩| 国产激情精品久久久第一区二区| **性色生活片久久毛片| 欧美日韩精品一区视频| 韩国欧美国产1区| 日韩毛片精品高清免费| 制服丝袜亚洲精品中文字幕| 国产成人午夜精品5599| 一区二区三区国产豹纹内裤在线| 欧美一区二区三区在线视频| 粉嫩嫩av羞羞动漫久久久| 亚洲一区在线看| 久久久美女毛片| 欧美日韩精品久久久| 国产精选一区二区三区| 亚洲高清一区二区三区| 久久免费偷拍视频| 欧美三级电影网站| 成人免费av在线| 五月婷婷综合在线| 国产精品视频一二三区| 91精品国产综合久久精品| 国产99久久久国产精品潘金 | 美国毛片一区二区三区| 国产欧美一区二区精品忘忧草 | 在线电影院国产精品| 国产suv精品一区二区三区| 亚洲成人一区二区在线观看| 亚洲国产精品激情在线观看| 欧美一区二区三区人| 97久久精品人人澡人人爽| 极品尤物av久久免费看| 亚洲妇女屁股眼交7| 国产精品第五页| 26uuu国产在线精品一区二区| 欧美在线看片a免费观看| 国产91露脸合集magnet| 蜜桃一区二区三区在线观看| 夜夜揉揉日日人人青青一国产精品| 久久综合九色综合欧美就去吻| 欧美老女人第四色| 色综合久久久久综合体| 丁香亚洲综合激情啪啪综合| 久久99这里只有精品| 日韩不卡免费视频| 亚洲午夜影视影院在线观看| 亚洲欧美日韩国产中文在线| 亚洲国产精华液网站w| 欧美精品一区二区三| 91精品国模一区二区三区| 欧美色精品在线视频| 色88888久久久久久影院按摩| 国产成人av电影在线观看| 久久综合综合久久综合| 男人的天堂久久精品| 午夜精品久久久久久久久久久| 亚洲欧美一区二区三区极速播放| 中文字幕第一区二区| 国产午夜精品一区二区三区嫩草| 欧美tk—视频vk| 久久综合久久鬼色| 久久女同精品一区二区| 久久亚洲精精品中文字幕早川悠里| 日韩欧美中文字幕公布| 欧美久久久一区| 91精品午夜视频| 欧美刺激脚交jootjob| 日韩一区二区三区在线观看| 欧美一级高清片在线观看| 日韩欧美在线一区二区三区| 欧美tickle裸体挠脚心vk| 精品乱人伦小说| 国产日韩欧美麻豆| 中文字幕欧美激情一区| 1区2区3区精品视频| 亚洲欧美成人一区二区三区| 一区二区激情小说| 午夜精品一区二区三区免费视频| 日韩精品电影在线观看| 韩国v欧美v亚洲v日本v| 国产精品伊人色| 99久久亚洲一区二区三区青草| av在线不卡电影| 欧洲中文字幕精品| 制服.丝袜.亚洲.另类.中文 | 韩国三级中文字幕hd久久精品| 国产麻豆视频精品| www.欧美亚洲| 欧亚洲嫩模精品一区三区| 欧美一区二区视频在线观看2022| 久久综合九色综合久久久精品综合| 中文字幕成人在线观看| 一区二区高清免费观看影视大全 | 国产一区二区伦理片| 成人动漫中文字幕| 在线观看日韩电影| 精品国产一区二区在线观看| 国产精品黄色在线观看| 日日骚欧美日韩| 成人一区二区三区视频| 欧美日韩中文精品| 国产午夜精品一区二区三区视频 | 国产精品白丝av| 色狠狠一区二区| 精品99999| 亚洲精品国产高清久久伦理二区| 麻豆91小视频| 日本电影亚洲天堂一区| 精品粉嫩超白一线天av| 一区二区三区日韩精品| 国产一区二区三区久久久| 欧美在线短视频| 中文字幕乱码一区二区免费| 亚洲国产日韩在线一区模特| 国产高清视频一区| 欧美一区二区高清| 亚洲精品视频在线观看网站| 国产麻豆成人传媒免费观看| 欧美日韩国产乱码电影| 国产精品女人毛片| 美国欧美日韩国产在线播放| 欧美性猛交一区二区三区精品| 久久精品一区二区三区不卡牛牛| 日韩精品亚洲专区| 色婷婷亚洲综合| 国产精品久久久久影院亚瑟| 久久成人精品无人区| 欧美美女一区二区在线观看| 国产精品成人免费精品自在线观看 | 制服丝袜激情欧洲亚洲| 日韩久久一区二区| 国产盗摄精品一区二区三区在线| 日韩欧美成人午夜| 亚洲高清免费在线| 91免费视频观看| 国产精品久久久久影院| 国产一区二区主播在线| 欧美不卡在线视频| 婷婷久久综合九色国产成人| 色诱视频网站一区| 久色婷婷小香蕉久久| 91美女视频网站| 国产亚洲一二三区| 国产自产高清不卡| 欧美成人性战久久| 免费在线观看精品| 欧美喷潮久久久xxxxx| 亚洲电影激情视频网站| 色综合久久久久久久久| **网站欧美大片在线观看| 成人h版在线观看| 国产精品久久久久一区二区三区 | 日韩免费在线观看| 三级不卡在线观看| 制服丝袜亚洲色图| 美女视频免费一区| 日韩一二三四区| 久久99国产精品尤物| 欧美成人综合网站| 激情文学综合网| 久久免费偷拍视频| 成人app在线| 亚洲私人影院在线观看| 在线一区二区视频| 性感美女极品91精品| 91麻豆精品国产91久久久久久| 在线区一区二视频| 中文字幕亚洲一区二区av在线| 成人免费高清在线| 亚洲精品免费在线观看| 欧美性猛片aaaaaaa做受| 日本怡春院一区二区| 欧美mv日韩mv国产| 国产丶欧美丶日本不卡视频| 日韩一区在线免费观看| 欧美日韩中文一区| 精品一区二区免费在线观看| 中文字幕第一区综合| 日本丶国产丶欧美色综合| 偷拍一区二区三区| 久久影院午夜片一区| 99免费精品视频| 亚洲成a人片综合在线| 日韩免费电影一区| 99re6这里只有精品视频在线观看 99re8在线精品视频免费播放 |