粗略计算在线时间,bug:ip相同

yipeiwu_com6年前PHP代码库
<?PHP
/*

CREATE TABLE `db_online` (
  `ip` char(20) default NULL,
  `time` char(20) NOT NULL default '',
  `name` char(200) NOT NULL default '游客'
) TYPE=MyISAM

*/

//粗略计算在线时间,bug:ip相同(局域网->外部网)者,只记录一人。不过几率很少

session_start();
//超时时间
$out_time=300;//60*5

$uesr_name=$_SESSION['uesr_name'];

$now=time();
$online="db_online";
$ip=$_SERVER["REMOTE_ADDR"];

mysql_connect("localhost","root","");
mysql_select_db("数据库");
//删除过时用户.
mysql_query("delete from `$online` where  ($now-`time`)>$out_time or `name`='$uesr_name'  or `ip`='$ip' ");

if($uesr_name){
    mysql_query("  INSERT INTO `$online` (`ip`, `time`, `name`) VALUES ('$ip','$now','$uesr_name')  ");
}else{
    mysql_query("  INSERT INTO `$online` (`ip`, `time`, `name`) VALUES ('$ip','$now','游客')  ");
}

?>

相关文章

Linux环境下搭建php开发环境的操作步骤

本文主要记载了通过编译方式进行软件/开发环境的安装过程,其他安装方式忽略! 文章背景: 因为php和Apache等采用编译安装方式进行安装,然而编译安装方式,需要c,c++编译环境, 通...

php学习笔记之mb_strstr的基本使用

前言 本文主要介绍了关于php之mb_strstr基本使用的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧。 mb_strstr (PHP 5 >...

php discuz 主题表和回帖表的设计

php discuz 主题表和回帖表的设计

以下内容仅摘录部分:如果由我们来设计主题表和回帖表,通常的做法是如下。        这样在获取主题列表时,直接使用...

基于PHP7错误处理与异常处理方法(详解)

PHP7错误处理 PHP 7 改变了大多数错误的报告方式。不同于传统(PHP 5)的错误报告机制,现在大多数错误被作为 Error 异常抛出。 这种 Error 异常可以像 Except...

PHP开发中解决并发问题的几种实现方法分析

本文实例讲述了PHP开发中解决并发问题的几种实现方法。分享给大家供大家参考,具体如下: 对于商品抢购等并发场景下,可能会出现超卖的现象,这时就需要解决并发所带来的这些问题了 在PHP语言...