有没有办法知道,当用户访问我的网站时,他是否已经来过,而无需用户登录? 我不需要它非常准确,但要在大多数情况下易于实现和工作。 我想过使用ip地址+ useragent组合。你觉得怎么样?
答案 0 :(得分:4)
当然,这就是cookie的用途。 Cookie独立于身份验证。只需在首次访问您的网页时存储Cookie。每当请求附带已有的cookie时,您可以确定这不是第一次访问。
但请注意,客户可以删除或拒绝cookie。此外,许多客户自动将cookie视为会话cookie,因此在浏览器关闭时会自动删除cookie。
答案 1 :(得分:1)
为每个用户访问您的网站设置一个cookie,如果客户端有该cookie,则意味着他已经访问过您的网站,否则他没有或者也可以通过IP检查
使用Cookie的快速脚本:
if(isset($_COOKIE["user_visited"]))
{
//He has already visited you.
}else{
//Set a new cookie.
setcookie("user_visited","user");
}
IP方法
//Need to create a user_ip table for it and store everybodies ip(s) in it.
$user_ip = $_SERVER["REMOTE_ADDR"];
if(isset($user_ip)){
$query = mysql_query("SELECT * FROM `user_ip` WHERE `ip`='$user_ip'");
$count = mysql_num_rows($query);
if($count > 0){
//User already visited you
}else{
//He hasn't visited you.
//Save his IP to know if he visit again.
$query("INSERT INTO `user_ip` VALUES('$user_ip')");
}
}
答案 2 :(得分:1)
最简单的方法是使用cookie。只需像这样添加cookie:
if ( !isset( $_COOKIE['visited'] ) {
// user is newbie
setcookie("visited", '1', time() + 365 * 3600); // set cookie for 1 year
} else {
// user has already visited your site
}