2014-02-27 18 views
0
$old_views = $row['views']; 
$new_views = $old_views + 1; 
$sql = "UPDATE posts SET views='".$new_views."' WHERE category_id='".$cid."' AND  
id='".$id."' LIMIT 1"; 
$res = mysql_query($sql); 

每当我刷新页面$ row ['views'];继续添加。 也许跟踪用户的IP?根据我的理解,饼干是最好的方法。提示会很有帮助...避免同一用户使用Cookie的多个视图

回答

0

你可以设置一个cookie或者你可以跟踪ip:当用户点击该页面时,保存ip和访问时间。如果没有经过特定的时间间隔(说24小时),不要添加计数器,否则更新时间并添加计数器。

+0

?? <!php if(!isset($ _ COOKIE ['visits']))$ _COOKIE ['visits'] = 0; $ visits = $ _COOKIE ['visits'] + 1; ('visited',$ visits,time()+ 3600 * 24 * 365); ($ visit> 1)echo(“访问次数:$访问次数”); } – user3286062

0

这是一个cookie方法,确保所有数据库查询都是在设置任何HTML之前完成的。

<?php 

if(!isset($_COOKIE['visited'])){ 
$old_views = $row['views']; 
$new_views = $old_views + 1; 
$sql = "UPDATE posts SET views='".$new_views."' WHERE category_id='".$cid."' AND id='".$id."' LIMIT 1"; 
$res = mysql_query($sql); 
setcookie ("visited", "true", time() + 60*60*24*7*365); 
?> 

请注意,cookie的过期时间配置为从初始访问持续1年。

+0

请注意,如果您隐约关心您的数据,这并不是很好 – Strawberry

相关问题