Notify Expiring=$ref, sessionkey=$key";
}
//-------------------------------------------------------------------
error_reporting(E_ALL);
ob_start();
include('../session/adodb-cryptsession2.php');
$options['debug'] = 1;
$db = 'postgres';
#### CONNECTION
switch($db) {
case 'oci8':
$options['table'] = 'adodb_sessions2';
ADOdb_Session::config('oci8', 'mobydick', 'jdev', 'natsoft', 'mobydick',$options);
break;
case 'postgres':
$options['table'] = 'sessions2';
ADOdb_Session::config('postgres', 'localhost', 'postgres', 'natsoft', 'northwind',$options);
break;
case 'mysql':
default:
$options['table'] = 'sessions2';
ADOdb_Session::config('mysql', 'localhost', 'root', '', 'xphplens_2',$options);
break;
}
#### SETUP NOTIFICATION
$USER = 'JLIM'.rand();
$ADODB_SESSION_EXPIRE_NOTIFY = array('USER','NotifyExpire');
adodb_session_create_table();
session_start();
adodb_session_regenerate_id();
### SETUP SESSION VARIABLES
if (empty($_SESSION['MONKEY'])) $_SESSION['MONKEY'] = array(1,'abc',44.41);
else $_SESSION['MONKEY'][0] += 1;
if (!isset($_GET['nochange'])) @$_SESSION['AVAR'] += 1;
### START DISPLAY
print "PHP ".PHP_VERSION."
";
print "\$_SESSION['AVAR']={$_SESSION['AVAR']}
";
print "
Cookies: ";
print_r($_COOKIE);
var_dump($_SESSION['MONKEY']);
### RANDOMLY PERFORM Garbage Collection
### In real-production environment, this is done for you
### by php's session extension, which calls adodb_sess_gc()
### automatically for you. See php.ini's
### session.cookie_lifetime and session.gc_probability
if (rand() % 5 == 0) {
print "
Garbage Collection
";
adodb_sess_gc(10);
if (rand() % 2 == 0) {
print "Random own session destroy
";
session_destroy();
}
} else {
$DB = ADODB_Session::_conn();
$sessk = $DB->qstr('%AZ'.rand().time());
$olddate = $DB->DBTimeStamp(time()-30*24*3600);
$rr = $DB->qstr(rand());
$DB->Execute("insert into {$options['table']} (sesskey,expiry,expireref,sessdata,created,modified) values ($sessk,$olddate, $rr,'',$olddate,$olddate)");
}