PHP网站统计

时间:2013-03-14 12:46:00

标签: php mysql statistics

我把这个PHP代码放在index.php页面的最顶层

<?php
session_start();
include 'includes/dbconnection.php';

$sql="INSERT into site_statistics (ipaddress, datetime, url) values ('".$_SERVER['REMOTE_ADDR']."', '".date("Y-m-d H:i:s")."', '".$_SERVER['PHP_SELF']."') ";
$rs=mysql_query($sql,$conn) or die(mysql_error());
?>

它插入数据库确定但是当我只刷新一次时它似乎总是在表中放置多行

session_start();用于我的购物车,所以我无法删除此

2 个答案:

答案 0 :(得分:1)

添加一个varchar(32)列,使其成为主键,并将会话ID插入其中。即

$sql="INSERT into site_statistics (sid, ipaddress, datetime, url) values ('" . session_id() . "', '".$_SERVER['REMOTE_ADDR']."', '".date("Y-m-d H:i:s")."', '".$_SERVER['PHP_SELF']."') ";

会话ID在该特定时间对于访问者而言是唯一的,因此它是主键会阻止在该特定访问中多次插入同一访问者。

答案 1 :(得分:1)

如果您需要在页面刷新时更新字段,请使用

REPLACE INTO
在您的SQL查询中

,但如果没有,您可以先使用

检查数据库
if(...){
  ...
}

语句。