检查同一用户是否访问过网站!?!怎么样?

时间:2011-01-27 20:23:45

标签: php javascript html

如何检查访问我网站的用户是否是半小时前来的用户?

4 个答案:

答案 0 :(得分:7)

删除有效期限的Cookie。然后检查它是否存在。

答案 1 :(得分:1)

首先你需要使用他的IP地址,然后检查你的数据库中是否保存了IP,可以说是过去24小时,如果你这样做,那么它是同一个用户,如果你不是那么其他人或他的IP变了! OFC。你可以看到更多的东西,但这是基本的。

这里是一个例子(你只需要创建数据库):

$ip=$_SERVER['REMOTE_ADDR'];
$cook=$_COOKIE["visitor"];
$checkit = mysql_query("SELECT * FROM pagevisitors WHERE date_format(date_added,'%Y%m%d%H')>date_format(adddate(now(), interval - 24 hour),'%Y%m%d%H') AND visitor_IP='".$ip."' AND visitor_Cookie='".$cook."' ORDER BY id DESC limit 1");
$checked = mysql_fetch_array($checkit);
if($checked){
  //same visitor
}
else{
  // new visitor & add him to your database & a cookie
  // make random string for him
  $hisString=genRandomString();
  setcookie("visitor", $hisString, time()+86400);
  mysql_query("INSERT INTO pagevisitors (visitor_IP, date_added,visitor_Cookie) VALUES  ('".$ip."', now(),'".$hisString."')");
}

// function for random string
function genRandomString(){
    $length = 25;
    $characters = "0123456789abcdefghijklmnopqrstuvwxyz";
    $string = '';    
    for ($p = 0; $p < $length; $p++) {
        $string .= $characters[mt_rand(0, strlen($characters))];
    }
    return $string;
}

在数据库中,字段“id”自动增加! :) 这应该工作......没有测试过它!

答案 2 :(得分:0)

您还可以尝试使用时间戳保存数据库中的IP信息,但由于多个用户可能位于同一个IP上,因此不像Victor建议的那样使用cookie。

答案 3 :(得分:0)

用户的意思是什么? 用户是登录您的网站还是登陆您的网站?

1.您可以获取用户的ipAddress但不保证。 2.使用cookies。   你想要多长时间做同样的过程? (半小时前来的同一位用户)   所以cookie的到期日期很重要。