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

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

?? adodb-session.php

?? 一個(gè)bug追蹤工具的PHP編寫的源代碼
?? PHP
字號:
<?php/*V4.54 5 Nov 2004  (c) 2000-2004 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 databasewrapper library. Example ======= 	GLOBAL $HTTP_SESSION_VARS;	include('adodb.inc.php');	include('adodb-session.php');	session_start();	session_register('AVAR');	$HTTP_SESSION_VARS['AVAR'] += 1;	print "<p>\$HTTP_SESSION_VARS['AVAR']={$HTTP_SESSION_VARS['AVAR']}</p>";To force non-persistent connections, call adodb_session_open first before session_start(): 	GLOBAL $HTTP_SESSION_VARS;	include('adodb.inc.php');	include('adodb-session.php');	adodb_sess_open(false,false,false);	session_start();	session_register('AVAR');	$HTTP_SESSION_VARS['AVAR'] += 1;	print "<p>\$HTTP_SESSION_VARS['AVAR']={$HTTP_SESSION_VARS['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.0.6 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);/****************************************************************************************\	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( "<p>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 "<p>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( '<p>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("<p><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) {		global $HTTP_SERVER_VARS;			$msg =			__FILE__.": Server time for webserver {$HTTP_SERVER_VARS['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("<p>$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) {GLOBAL $HTTP_SESSION_VARS;	session_start();	session_register('AVAR');	$HTTP_SESSION_VARS['AVAR'] += 1;	ADOConnection::outp( "<p>\$HTTP_SESSION_VARS['AVAR']={$HTTP_SESSION_VARS['AVAR']}</p>",false);}?>

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩免费观看一区三区| 亚洲精品大片www| 欧美一级二级三级乱码| 在线成人小视频| 欧美日韩国产一级二级| 欧美日韩免费观看一区三区| 欧美日韩美少妇| 欧美日韩国产一区二区三区地区| 欧美中文字幕亚洲一区二区va在线| 99精品国产99久久久久久白柏| 丰满白嫩尤物一区二区| 岛国一区二区三区| 成人精品一区二区三区四区| 96av麻豆蜜桃一区二区| 99在线热播精品免费| 99久久国产综合精品女不卡| 一本一道久久a久久精品| 欧美性大战久久久久久久蜜臀| 欧美性大战久久久久久久 | 欧日韩精品视频| 91成人看片片| 欧美精品第1页| 欧美成人三级电影在线| 2017欧美狠狠色| 国产精品无遮挡| 亚洲美女少妇撒尿| 无码av中文一区二区三区桃花岛| 免费成人av在线播放| 狠狠色丁香婷婷综合久久片| 成人精品国产一区二区4080| 色综合激情五月| 7777女厕盗摄久久久| 久久夜色精品一区| 亚洲视频免费在线观看| 午夜影院久久久| 国内精品在线播放| a在线播放不卡| 欧美日韩在线直播| 久久久高清一区二区三区| 亚洲色欲色欲www在线观看| 日韩精品一卡二卡三卡四卡无卡| 国内精品在线播放| 色诱视频网站一区| 日韩精品中文字幕一区| 国产精品久久久久影院亚瑟| 亚洲国产一二三| 国产精品123区| 欧美综合在线视频| 久久综合一区二区| 曰韩精品一区二区| 国产又黄又大久久| 欧美日韩国产小视频在线观看| 久久噜噜亚洲综合| 亚洲国产日韩综合久久精品| 国产精品一色哟哟哟| 在线一区二区三区做爰视频网站| 精品国产乱码久久久久久免费| 日韩理论片中文av| 久久国产精品无码网站| 91在线国内视频| 2022国产精品视频| 亚洲国产综合视频在线观看| 国产成人在线免费观看| 欧美丰满一区二区免费视频| 亚洲欧美中日韩| 久久国产精品免费| 欧美日韩一二三| 中文字幕一区视频| 国产专区欧美精品| 欧美肥妇毛茸茸| 亚洲欧美日韩人成在线播放| 精品亚洲成a人| 欧美日韩国产天堂| 亚洲乱码中文字幕| 成人毛片在线观看| 久久这里只有精品6| 日本不卡视频在线观看| 在线观看视频欧美| 国产欧美中文在线| 久久av中文字幕片| 337p亚洲精品色噜噜狠狠| 亚洲免费在线看| 99久久久免费精品国产一区二区| 亚洲精品一区二区三区福利 | 国产一区二区三区av电影 | 国产校园另类小说区| 日韩高清不卡在线| 欧美性三三影院| 亚洲精品v日韩精品| 9l国产精品久久久久麻豆| 国产欧美精品国产国产专区| 美女mm1313爽爽久久久蜜臀| 欧美日韩国产综合草草| 亚洲综合网站在线观看| 在线观看亚洲精品视频| 伊人性伊人情综合网| 成人99免费视频| 国产精品成人免费精品自在线观看| 国产美女视频91| 精品国产成人系列| 激情六月婷婷综合| 久久综合久久综合久久| 韩国一区二区三区| 久久婷婷国产综合精品青草 | 在线视频国内一区二区| 自拍偷拍欧美精品| 色综合久久66| 亚洲宅男天堂在线观看无病毒| 在线视频国产一区| 亚洲国产成人va在线观看天堂| 色欧美88888久久久久久影院| 亚洲伦在线观看| 在线观看亚洲精品视频| 丝袜美腿成人在线| 91精品国产91久久久久久一区二区 | 久久久www免费人成精品| 国产精品77777| 亚洲一区二区av电影| 欧美视频完全免费看| 首页欧美精品中文字幕| 欧美一级免费大片| 韩国欧美一区二区| 中日韩av电影| 色噜噜偷拍精品综合在线| 一区二区三区精品视频在线| 欧美三级韩国三级日本三斤 | 色综合久久久久综合| 亚洲综合一二三区| 欧美一级淫片007| 国产精品一区二区在线观看不卡| 亚洲欧洲日韩综合一区二区| 欧美中文字幕一二三区视频| 蜜桃久久久久久| 久久精品人人做人人综合 | 色丁香久综合在线久综合在线观看| 一区二区三区精密机械公司| 6080午夜不卡| 国产一区二三区| 亚洲色图视频网站| 91精品国产欧美一区二区18| 国产麻豆精品在线| 亚洲人成亚洲人成在线观看图片| 欧美日韩国产影片| 国产成人综合视频| 亚洲最大成人网4388xx| 欧美一级理论片| 色综合天天狠狠| 久久爱另类一区二区小说| 国产精品女上位| 在线成人av网站| 成人午夜碰碰视频| 日韩在线a电影| 国产精品无人区| 欧美二区在线观看| 91视频免费观看| 美女一区二区三区在线观看| 国产精品久久久久久一区二区三区 | 欧美午夜在线观看| 国内精品视频666| 一区二区三区在线免费观看 | 秋霞av亚洲一区二区三| 国产精品传媒入口麻豆| 日韩欧美国产成人一区二区| 91在线你懂得| 国产一区不卡在线| 无吗不卡中文字幕| 亚洲视频免费在线观看| 久久久精品国产免大香伊| 欧美日本国产一区| 波多野结衣91| 精品亚洲国产成人av制服丝袜| 亚洲最新视频在线观看| 欧美国产一区在线| 日韩精品一区二区三区在线播放| 色综合久久中文综合久久97| 国产又黄又大久久| 蜜臀av一区二区在线免费观看| 亚洲精品中文在线影院| 国产欧美日韩亚州综合| 欧美一区二区三区电影| 欧美在线一区二区| av在线综合网| 国产精品系列在线观看| 日韩成人一区二区三区在线观看| 国产精品久久久久久久久果冻传媒| 精品国产凹凸成av人网站| 911国产精品| 欧美日韩色综合| 日本丶国产丶欧美色综合| 国产成人精品免费网站| 精品无码三级在线观看视频| 婷婷中文字幕一区三区| 亚洲综合激情另类小说区| 自拍偷拍国产亚洲| 综合久久给合久久狠狠狠97色 | 亚洲综合免费观看高清完整版在线 | 亚洲精品第1页| 亚洲乱码日产精品bd| 一区在线中文字幕| 国产精品家庭影院|