建类文件session.php 定义函数 
insert($userid,$ipaddress,$lastactivity) 把登录成功的用户插入到表中 
update($userid,$ipaddress,$lastactivity)更新在线用户最后活动时间 
del($con)删除满足条件的用户,用它来清除离线用户 
get_from_condition($con) 返回满足查询条件的记录集 
公用文件global.php 
include "class/config.inc.php"; //把配置文件包含进来 
$db = new db; 
$db-> db_connect( ); //连接数据库 
$user = new user; //初始化 
$session = new session; 
//启动会话 
session_start(); 
//删除session表中已经过期的用户(即非在线网友)因为此文件总是被调用从而保证显示的都是当前在线的用户 
$curtime=time(); 
$con="lastactivity<$curtime"; 
$session->del($con); 
//正在线的网友需不断更新session表中的lastactivity时间,并重新设置用户的COOKIES 
if ($HTTP_SESSION_VARS["online"]=="on"){ //此处也可用$_SESSION[“online”] 
$userid=$HTTP_SESSION_VARS["userid"]; //取当前在线用户的userid 
$ipaddress=substr($REMOTE_ADDR,0,50); 
$lastactivity=time()+3600; //更新最后活动时间,如时一个小时之内未调动页面就认为用户已离线,从而会被删除。 
$session->update($userid,$ipaddress,$lastactivity); 
}else{ 
//如果未登录那直接转入登录页面 
$firstpage="logon.php"; 
header ("Location: $firstpage"); 
exit; 
} 
登录文件logon.php 
 include "global.php"; //把global.php文件包含进来
if ($hiddenField=="0"){ //测检表单有未被提交 
$con="username='$username' and userpwd='$userpwd'"; 
$result=$user->get_from_condition($con); 
if ($user->counter==1){ 
if (!session_is_registered("online")){//检测是否被登记过 
session_register("online"); //登记一个新的变量为会话变量 
} 
if (!session_is_registered("ccauser")){ 
session_register("ccauser"); 
} 
if (!session_is_registered("userid")){ 
session_register("userid"); 
} 
$ccauser=$username; //给会话变量赋值 
$online="on"; //这个变量在global.php用到以更新最后活动时间lastactivity 
$userid=$user->userid; 
$ipaddress=substr($REMOTE_ADDR,0,50); 
$lastactivity=time()+3600; 
$con=" userid=$userid"; 
$session->get_from_condition($con); 
//判断会话是否存在,有可能你在不同的机器上登两次。 
if ($session->counter==1){ 
$session->update($userid,$ipaddress,$lastactivity); //如存在,更新 
}else{ 
$session->insert($userid,$ipaddress,$lastactivity); //如不存在,插入 
} 
//在客户机设置COOKIES 
SetCookie("ccauser",$username,time()+3600); 
Header("Location:test.php");//然后导向测试页 
} 
} 
?> 
if($HTTP_SESSION_VARS["online"]=="") { //判断是否已登录 
?> 
//下面是登录的表单 
}else{ 
echo "网友:".$HTTP_COOKIE_VARS["ccauser"]."你已经登录了"; //如果已登录则显示提示 
$str="
退出社区"; 
echo $str; 
} 
?> 
测试文件test.php 
include "global.php"; //把global.php文件包含进来 
$strWelcome="欢迎".$_SESSION['ccauser']."
"; 
echo $strWelcome; //显示欢迎信息 
$str=” 当前在线用户:
===================
”; 
$con=" 1=1"; 
//提出session表中所有记录即是当前在线用户,未把游客算在内 
$result=$session->get_from_condition($con); 
while($row=mysql_fetch_array($result)){ 
$con1="userid=$row[userid]"; 
$user->get_from_condition($con1); 
$str.=$user->username." "; 
} 
echo $str; 
?> 
退出社区 
退出文件exit.php 
include "global.php"; //把global.php文件包含进来 
if ($_SESSION["online"]=="on"){ 
$con="userid=$userid"; 
$session->del($con); //在session表中删除用户信息。 
session_destroy(); //结束当前的会话,并清空会话中的所有资源 
echo "已经退出社区......"; 
} 
?>