再问下,PHP。INI中session.save_handler = files 一定要改为user才能把SESSION保存到数据库中吗?
解决方案 »
- php+mysql 指定日期内显示内容
- 怎么样查找匹配MYSQL字段?
- 菜鸟求救表单提交问题!!!!!!!!!!!!1
- phpmyadmin 登录提示#1045 - Access denied for user 'ODBC'@'localhost'
- 为什么会执行2次啊
- 问一个菜问题:为什么有PHP画图时,纯PHP代码时可以显示,加入网页元素后就出现乱码呢?
- 字段用text或longtext都无法满足怎么办?
- 郁闷的新闻内容显示??!!
- 难:在php中不用file控件,怎么实现文件上传?
- 我按照http://www.chenxuanyi.cn/xampp-phpstorm-xdebug.html 这个方法。。还是不行。。。设置断点 浏览器运行lo
- 最近网站mysql总是提示Too many connections
- 出钱购买控件。。大家来看看你是否有
error_reporting(7);
//这里设置的就是时间
$SESS_LIFE = 900;function sess_open($save_path,$session_name) {
sess_gc(0);
return true;
}function sess_close() {
return true;
}function sess_read($key) { global $DB,$db_prefix,$session,$onlineuser;
$session = $DB->fetch_one_array("SELECT * FROM ".$db_prefix."session WHERE sessionid='$key'");
if (!empty($session) AND $session[expiry]>time()) {
return $session[value];
} else {
$onlineuser++;
return "";
}}function sess_write($key,$val) {
global $DB,$db_prefix,$SESS_LIFE,$pauserinfo,$session;
$expiry = time()+$SESS_LIFE;
$value = addslashes($val); $ipaddress = getip();
$useragent = $_SERVER[HTTP_USER_AGENT];
$REQUEST_URI = $_SERVER[REQUEST_URI]; if (empty($session) AND $key!=$session[key]) {
$query = $DB->query("INSERT INTO ".$db_prefix."session (sessionid,expiry,value,userid,ipaddress,useragent,location,lastactivity)
VALUES ('$key',$expiry,'$value','$pauserinfo[userid]','".addslashes($ipaddress)."','".addslashes($useragent)."','".addslashes($REQUEST_URI)."','".time()."')");
} else {
$query = $DB->query("UPDATE ".$db_prefix."session SET
expiry='$expiry',
userid='$pauserinfo[userid]',
value='$value',
ipaddress='".addslashes($ipaddress)."',
useragent='".addslashes($useragent)."',
location='".addslashes($REQUEST_URI)."',
lastactivity='".time()."'
WHERE sessionid='$key'");
}
if ($pauserinfo[userid]!=0) {
if ((time()-$pnuserinfo[lastactivity])>$SESS_LIFE) {
$DB->query("UPDATE ".$db_prefix."user SET lastvisit=lastactivity,lastactivity='".time()."' WHERE userid='$pauserinfo[userid]'");
}
else {
$DB->query("UPDATE ".$db_prefix."user SET lastactivity='".time()."' WHERE userid='$pauserinfo[userid]'");
}
}
return $query;
}function sess_destroy($key) {
global $DB,$db_prefix;
return $DB->query("DELETE FROM ".$db_prefix."session WHERE sessionid='$key'");
}function sess_gc($maxlifetime) {
global $DB,$db_prefix;
$query = $DB->query("DELETE FROM ".$db_prefix."session WHERE expiry<".time()."");
return $DB->affected_rows();
}session_set_save_handler(
"sess_open",
"sess_close",
"sess_read",
"sess_write",
"sess_destroy",
"sess_gc");@session_start();?>