谁有 session 保存在数据库中的完整源代码?(100分求源代码,不够再加) 网上的教程,都太简单了,且不完整。希望有朋友能把完整的源代码公布出来,供大家学习、研究一下。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 <?php$SESS_LIFE = 1440;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 = $DB->fetch_one_array("SELECT * FROM " . $db_prefix . "session WHERE sesskey = '".$key."' AND expiry > ".time()); if (!empty($session)) { return $session['value']; } else { return ""; } } function sess_write($key, $val) { global $DB, $db_prefix, $SESS_LIFE; $expiry = time() + $SESS_LIFE; $value = addslashes($val); $check_query = $DB->query("select count(*) as total from ".$db_prefix."session where sesskey = '" .$key."'"); $check = $DB->fetch_array($check_query); if ($check['total'] > 0) { $query=$DB->query("UPDATE " .$db_prefix."session SET value = '" .($value)."', expiry = '" .$expiry."' WHERE sesskey = '" .$key."'"); }else { $query = $DB->query("INSERT INTO " .$db_prefix."session (sesskey, expiry, value) VALUES ('".$key."','".$expiry."','".$value."')"); } Return $query;} function sess_destroy($key) { global $DB, $db_prefix; return $DB->query("DELETE FROM " . $db_prefix . "session WHERE sesskey='".$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();?> 开启之后,就给$_SESSION赋值,然后把你想保存的存入数据库就好了啊 http://cn.php.net/manual/zh/function.session-set-save-handler.php#60316多看手册....ADODB 项目中也有 Session 的部分. 由于是学习 PHP 的过程中,所以我对 SESSION 还是不懂。我在网上找了很久,都没有完整的内容。而且看到的内容也无法拼成完整的内容。所以想要个完整源代码,自己参照学习,不懂的再问。力求能够学习好 SESSION。最好是能有 session_start() 之后的代码,让我知道如何进行添加、检验、删除等操作。 session_star() 后的代码同你平时SESSION操作没有什么两样.添加 $_SESSION['add_var']='add_value';删除unset($_SESSION['acc_var']); 不清楚。我没见过 SESSION 文件,所以不清楚到底怎么操作。 session_start();$_SESSION['test']='test';$sql = 'insert into 你的表名(保存SESSION的字段) values("'.$_SESSION['test'].'")';mysql_query(); session_start();$_SESSION['test']='test';$sql = 'insert into 你的表名(保存SESSION的字段) values("'.$_SESSION['test'].'")';mysql_query($sql); 你先要把SESSION作用弄清楚.知道原理了.再来编码..不要为SESSION而SESSION alisam123 的例子感觉还可以呀,就是这样的 你还是找几个代码测试吧,网上搜一下就二楼那样的PHP配置文件里要设session.save_handle=user其次是每个页都要引入上述文件 每操作一个session,可以进数据库看记录变化 【关于print_r的一个怪现象】 使用smarty缓存的问题 请问一般大型的网站中英文两种语言数据库是如何建的 php网站集成discuz的问题 【请问】:如何修改php上传文件大小的限制? 能否使用PHP启动一个外部的exe执行程序,比如:记事本 关于sql语句判断与程序判断,哪个更省时省力? 在IIS6.0下装PHP5后测试出错,怎么办 帮个忙,在线等! 在java servlet中用request.getInputStream取外部传来的数据流,在PHP中如何取? 怎么让一个类只被实例化一次? php地址簿,刚刚学php,实在是找不出错误!请大家帮看看,谢谢
$SESS_LIFE = 1440;
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 = $DB->fetch_one_array("SELECT * FROM " . $db_prefix . "session WHERE sesskey = '".$key."' AND expiry > ".time());
if (!empty($session)) {
return $session['value'];
} else {
return "";
}
} function sess_write($key, $val) {
global $DB, $db_prefix, $SESS_LIFE;
$expiry = time() + $SESS_LIFE;
$value = addslashes($val);
$check_query = $DB->query("select count(*) as total from ".$db_prefix."session where sesskey = '" .$key."'");
$check = $DB->fetch_array($check_query);
if ($check['total'] > 0) {
$query=$DB->query("UPDATE " .$db_prefix."session SET value = '" .($value)."', expiry = '" .$expiry."' WHERE sesskey = '" .$key."'");
}else {
$query = $DB->query("INSERT INTO " .$db_prefix."session (sesskey, expiry, value) VALUES ('".$key."','".$expiry."','".$value."')");
}
Return $query;
} function sess_destroy($key) {
global $DB, $db_prefix;
return $DB->query("DELETE FROM " . $db_prefix . "session WHERE sesskey='".$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();?>
多看手册....ADODB 项目中也有 Session 的部分.
添加
$_SESSION['add_var']='add_value';
删除
unset($_SESSION['acc_var']);
$_SESSION['test']='test';
$sql = 'insert into 你的表名(保存SESSION的字段) values("'.$_SESSION['test'].'")';
mysql_query();
session_start();
$_SESSION['test']='test';
$sql = 'insert into 你的表名(保存SESSION的字段) values("'.$_SESSION['test'].'")';
mysql_query($sql);
不要为SESSION而SESSION
就二楼那样的
PHP配置文件里
要设session.save_handle=user其次是每个页都要引入上述文件