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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? adodb-session.php

?? 類似youtube的視頻分享網站源碼。有后臺管理系統及模板
?? PHP
字號:
<?php
/*
V3.40 7 April 2003  (c) 2000-2003 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
 =======
 
 	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_session_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)
  );


  2. Then define the following parameters in this file:
  	$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 define a global variable, with the first parameter being the
	 global variable you would like to store in the EXPIREREF field, and
	 the second is the function name.
	 
	 In this example, we want to be notified when a user's session 
	 has expired, so we store the user id in $USERID, and make this
	 the value stored in the EXPIREREF field:
	 
	 	$ADODB_SESSION_EXPIRE_NOTIFY = array('USERID','NotifyFn');
*/

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_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);
		$rs = $ADODB_SESS_CONN->Execute("SELECT expireref,sesskey FROM $ADODB_SESSION_TBL WHERE expiry < " . time());
		$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 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);
		}
	}
	
	$rs = $ADODB_SESS_CONN->SelectLimit('select '.$ADODB_SESS_CONN->sysTimeStamp.' from '. $ADODB_SESSION_TBL,1);
	if ($rs && !$rs->EOF) {
	
		$dbt = reset($rs->fields);
		$rs->Close();
		$dbt = $ADODB_SESS_CONN->UnixTimeStamp($dbt);
		$t = time();
		if (abs($dbt - $t) >= ADODB_SESSION_SYNCH_SECS) {
		global $HTTP_SERVER_VARS;
			$msg = "adodb-session.php: Server time for webserver {$HTTP_SERVER_VARS['HTTP_HOST']} not in synch: database=$dbt, webserver=".$t;
			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);
}

?>

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩专区欧美专区| 欧美体内she精高潮| 色婷婷一区二区三区四区| 91精品午夜视频| 国产免费观看久久| 奇米影视一区二区三区小说| 成人激情午夜影院| 欧美成人精品高清在线播放| 亚洲免费av网站| 国产精品亚洲人在线观看| 精品婷婷伊人一区三区三| 国产人妖乱国产精品人妖| 青青草国产成人99久久| 欧美日韩一区不卡| 亚洲精品免费播放| 成人动漫视频在线| 国产日韩欧美一区二区三区综合 | 欧美性生交片4| 精品久久久久久综合日本欧美| 一区二区三区欧美日| av日韩在线网站| 日本一区二区三区视频视频| 狠狠色狠狠色综合| 日韩欧美国产系列| 奇米777欧美一区二区| 欧美军同video69gay| 亚洲一区二区在线视频| 色综合天天综合色综合av| 国产精品免费看片| 不卡欧美aaaaa| 国产精品视频第一区| 国产高清久久久| 欧美国产1区2区| yourporn久久国产精品| 国产精品国产精品国产专区不片| 国产成人在线视频免费播放| 久久免费视频色| 国产99久久久国产精品潘金| 亚洲国产精品激情在线观看| 成人av小说网| 一区二区在线看| 欧美影视一区二区三区| 爽好久久久欧美精品| 8x8x8国产精品| 美女被吸乳得到大胸91| 欧美不卡一区二区三区四区| 精品亚洲国产成人av制服丝袜| 久久麻豆一区二区| 高清shemale亚洲人妖| 日韩一区中文字幕| 欧美午夜影院一区| 日本美女一区二区三区| 久久久久久久久久久久电影| 国产精品一区专区| 亚洲色欲色欲www| 欧美男生操女生| 国产伦精品一区二区三区免费迷 | 亚洲蜜臀av乱码久久精品蜜桃| 欧美综合色免费| 卡一卡二国产精品 | 日韩午夜在线影院| 国产盗摄女厕一区二区三区| 亚洲图片激情小说| 日韩一区国产二区欧美三区| 九一久久久久久| 日韩毛片一二三区| 欧美一级高清片在线观看| 成人一区二区三区视频在线观看| 亚洲精品精品亚洲| 欧美www视频| 91久久精品网| 国产一区二区三区四区在线观看| 亚洲欧美日韩在线不卡| 日韩精品一区二区三区视频在线观看| 国产91在线|亚洲| 亚洲国产综合人成综合网站| 久久久久国产精品厨房| 欧美理论片在线| 97国产精品videossex| 久久超碰97人人做人人爱| 亚洲美女在线国产| 久久久国际精品| 欧美高清视频不卡网| 国产91露脸合集magnet| 午夜精品成人在线视频| 中文字幕一区二区三区在线播放 | 日韩成人午夜精品| 综合精品久久久| 久久久久亚洲蜜桃| 欧美电影影音先锋| 91九色最新地址| 国产成人高清视频| 毛片av一区二区| 亚洲五码中文字幕| 亚洲精品中文在线影院| 中文成人综合网| 国产亚洲福利社区一区| 日韩免费高清电影| 欧美福利电影网| 欧美视频你懂的| 在线看日韩精品电影| 91精品久久久久久蜜臀| 99riav久久精品riav| 国产成人精品免费| 国产一区二区美女| 韩国精品久久久| 日韩不卡一区二区| 亚洲国产另类精品专区| 一区二区三区在线播| 中文字幕一区二区三区视频 | 欧美一级搡bbbb搡bbbb| 欧美手机在线视频| 欧美无砖专区一中文字| 91国产丝袜在线播放| 色综合久久中文综合久久97| 99精品久久久久久| 91色porny在线视频| 一本色道久久综合亚洲91| 91影院在线观看| 在线观看不卡一区| 欧美日韩第一区日日骚| 欧美高清一级片在线| 91精品午夜视频| 日韩欧美久久一区| 精品国产乱子伦一区| 国产日产欧美一区二区三区| 欧美激情艳妇裸体舞| 亚洲欧美怡红院| 亚洲一区二区成人在线观看| 亚洲国产成人av| 蜜臀久久99精品久久久画质超高清| 美女任你摸久久 | 欧美视频在线观看一区二区| 欧美高清视频不卡网| 精品国产凹凸成av人网站| 久久久激情视频| 18欧美亚洲精品| 亚洲福中文字幕伊人影院| 久久激五月天综合精品| 国产99精品视频| 欧美性受极品xxxx喷水| 日韩欧美高清在线| 日本一区二区三区久久久久久久久不| 国产精品美女久久久久aⅴ国产馆 国产精品美女久久久久av爽李琼 国产精品美女久久久久高潮 | 4438亚洲最大| 国产日韩精品一区二区三区| 亚洲一区二区三区四区的| 日日摸夜夜添夜夜添精品视频 | 久久99国产精品久久99| 国产精品66部| 欧美午夜精品一区| 国产婷婷一区二区| 亚洲成a人v欧美综合天堂| 国产综合久久久久久久久久久久| 国产99久久久国产精品| 色噜噜狠狠一区二区三区果冻| 成人免费视频免费观看| 欧美日本免费一区二区三区| 日韩午夜在线观看视频| 2020国产精品| 亚洲国产毛片aaaaa无费看| 亚洲一区免费观看| 蜜臀av性久久久久蜜臀aⅴ流畅| 国产精品亚洲人在线观看| 国产成人精品综合在线观看| 色狠狠色噜噜噜综合网| 91精品国产福利| 国产精品区一区二区三| 蜜臀va亚洲va欧美va天堂 | 欧美日韩中文国产| 久久久噜噜噜久噜久久综合| 久久综合九色综合欧美就去吻| 一区二区不卡在线播放 | 欧美国产精品一区| 亚洲一卡二卡三卡四卡无卡久久| 久久不见久久见免费视频1| 99国产精品久久久久久久久久久| 欧美日韩国产综合一区二区| 久久久国产一区二区三区四区小说 | 秋霞影院一区二区| 不卡大黄网站免费看| 日韩午夜中文字幕| 亚洲精品福利视频网站| 国产精品一品二品| 日韩午夜三级在线| 亚洲精品精品亚洲| 99国产精品国产精品毛片| 精品成人a区在线观看| 性做久久久久久久久| 国产经典欧美精品| 欧美韩日一区二区三区| 蜜臀av性久久久久蜜臀av麻豆| 在线免费视频一区二区| 亚洲综合久久av| 91在线视频网址| 国产欧美中文在线| 精品一区二区三区在线播放视频| 日韩女同互慰一区二区| 天天操天天综合网| 欧美网站一区二区|