0

我如何计算访问者?我想在打开页面时插入,在关闭或离开页面时插入,但不是 onunload 我不想在刷新页面时插入,下面的代码帮助我在打开页面时插入,但在关闭时没有帮助

session_start();
if (!isset($_SESSION["visits"]))
    $_SESSION["visits"] = 0;
if ($_SESSION["visits"] > 1){
    echo 'visit='.$_SESSION["visits"];
    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') ");
    $_SESSION["visits"] = $_SESSION["visits"] + 1;
    echo 'visit='.$_SESSION["visits"];
    echo "This is my site";
}
4

2 回答 2

2

要使用$_SESSION,您需要session_start()事先致电某处。

我认为代码应该是这样的:

session_start();
if ( !isset($_SESSION['visited']) )
{
    echo "This is your first visit.";
    $_SESSION['visited'] = TRUE;

    // Do the MySQL query here
} else {
    echo "You hit the refresh button.";
}

echo "This is my site.";

这样,当一个新用户第一次访问您的站点(使用新会话)时,他/她的访问将存储在数据库中,我们将在会话集中有一个变量,因此在刷新按钮后,有关访问的信息不会再次添加到数据库中。

于 2012-06-02T13:37:37.503 回答
0

尝试添加 session_start() 来处理您的会话请求。

http://php.net/manual/en/function.session-start.php

于 2012-06-02T13:33:52.717 回答