访客柜台

时间:2012-06-09 12:36:05

标签: php mysql session visitor

当用户打开页面并刷新时,我将下面的代码插入, 我想更新访问表设置leaveTime = $当用户离开页面时,点击页面内的任何链接移动到另一个页面或点击X或按ALT + F4 ...... 这是我的尝试:

session_start();
if (!isset($_SESSION["visits"]))
    $_SESSION["visits"] = 0;
    $_SESSION["visits"] = $_SESSION["visits"] + 1;
if ($_SESSION["visits"] > 1){
    mysql_query("INSERT INTO najd_visit( visit_userId, visit_staticId, visit_page, visit_enterTime,visit_refreshTime)VALUES ('$userId', '$Sid', '$title','$Stime' ,'$date') ");
    echo "You hit the refresh button!";}else{
    mysql_query("INSERT INTO najd_visit( visit_userId, visit_staticId, visit_page, visit_enterTime)VALUES ('$userId', '$Sid', '$title', '$date') ");
    echo "This is my site".$_SESSION["visits"];
}

4 个答案:

答案 0 :(得分:2)

无法注册离开页面的用户。您可以根据用户的活动进行估算,但这是关于它的。

然而,您可以做的是检测用户来自哪里。如果用户在1:00从index.php开始并在1:02到达page2.php,则可以检查$ _SERVER-superglobal以检测用户来自index.php并更新该特定统计信息。

但除此之外,了解用户何时离开您的网页并不是很有趣。

答案 1 :(得分:2)

PHP无法检测访问者何时离开您的网站。

然而,您可以使用JavaScript来检测页面unload事件,然后快速发出AJAX请求以记录离开...这并不总是有效,因为网络延迟可能导致您的脚本“跳过“当浏览器开始加载下一页时。

要检测网站偏离您自己网页上的链接,您可以让所有链接转到服务器上的小型重定向脚本;这记录了访问者离开的另一个站点。

在所有其他情况下,您只需假设在5分钟左右之后访问的最后一页是“出发页面”。

答案 2 :(得分:0)

要检查用户何时离开,您可以执行此操作。

在客户端

每10秒对http://www.yousite.com/update_user.php?userID= * user_id *执行一次ajax请求。

此脚本将更新mysql数据库中的一行,它应该类似于。

UPDATE online_user SET last_check=NOW() WHERE user_id=$_GET['userID']

在服务器端

  

每分钟启动一个cron。它将检查女巫用户没有更新他们的行(让我们花20秒安全)

SELECT user_id FROM online_user WHERE last_check <= *NOW() - 20 seconds*

然后你可以编辑行,你想要在他的'last_check'和+10秒之间说出对应于user_id的用户,如果你需要精确的话,你可以每1或2秒做一次请求

答案 3 :(得分:0)

如果您只想创建访问计数器,请参阅本教程,它非常适合您 http://talkerscode.com/webtricks/create-a-simple-pageviews-counter-using-php-and-mysql.php

首先你必须创建数据库

CREATE TABLE `pageview` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`page` text NOT NULL,
`userip` text NOT NULL,
 PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=latin1

// totalview

CREATE TABLE `totalview` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`page` text NOT NULL,
`totalvisit` text NOT NULL,
 PRIMARY KEY (`id`)
 ) ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=latin1

每当新访问者访问网页时都会更新表格

$user_ip=$_SERVER['REMOTE_ADDR'];

$check_ip = mysql_query("select userip from pageview where page='yourpage' and userip='$user_ip'");
if(mysql_num_rows($check_ip)>=1)
{

}
else
{
  $insertview = mysql_query("insert into pageview values('','yourpage','$user_ip')");

  $updateview = mysql_query("update totalview set totalvisit = totalvisit+1 where page='yourpage' ");
}

那就是

相关问题