在制作网站文章点击率的统计的时候,遇到一个问题,源码如下:
内容页 A.aspx: protected void Page_Load(object sender, EventArgs e)
{
readChick(); //更新点击率操作
} protected void readClick()
{
int n_id = Convert.ToInt32(request["id"]); //获取由页面传过来的文章ID
SqlConnection con = new SqlConnection(constring);
con.Open();
string cmd = "update NoteBook set n_read=n_read+1 where n_id=@id"; //在数据库中加1
SqlCommand cmd = new SqlCommand(cmd,con);
cmd.Parameters.Add("@id",SqlDbType.Int);
cmd.Parameters["@id"].Value = n_id;
cmd.ExecuteNonQuery();
con.Close();
}这样写基本上实现了点击率的功能,但有一个问题,就是如果同一个用户不停的反复的点击某一篇文章,那么点数据库中点击率的统计就会不停的增加,大家有没有办法杜绝这样现象???谢谢
内容页 A.aspx: protected void Page_Load(object sender, EventArgs e)
{
readChick(); //更新点击率操作
} protected void readClick()
{
int n_id = Convert.ToInt32(request["id"]); //获取由页面传过来的文章ID
SqlConnection con = new SqlConnection(constring);
con.Open();
string cmd = "update NoteBook set n_read=n_read+1 where n_id=@id"; //在数据库中加1
SqlCommand cmd = new SqlCommand(cmd,con);
cmd.Parameters.Add("@id",SqlDbType.Int);
cmd.Parameters["@id"].Value = n_id;
cmd.ExecuteNonQuery();
con.Close();
}这样写基本上实现了点击率的功能,但有一个问题,就是如果同一个用户不停的反复的点击某一篇文章,那么点数据库中点击率的统计就会不停的增加,大家有没有办法杜绝这样现象???谢谢
解决方案 »
- ASP.NET MVC问个简单的问题
- 求一个sql语句。
- 贡献面试题一份,拱大家参考!
- 如何实现在一个页面提交后,在另一个页面刷新呢?
- asp网页中的jsp脚本中的变量值如何写入数据库?
- 新手新问题———.net第一问
- ::关于用户控件传--参数--的问题?::
- 我想请问为什么datagrid必须要放到table上呢?而且table又必须放到panel上呢?您能帮我说明table,datagrid,panel三者之间的关系吗/?
- datatable.select 问题
- 救命!程序运行一段时间出错,把aspnet_wp进程手动结束掉就好了???
- 企业自建WEB服务器无法访问,瘫痪2个月了,请大家帮助!!有多少分送多少!!!!!
- 信息系统项目管理师需要哪些知识?
写错了~不好意思
即使想csdn也是,同一个人点击两次,他也算两次
说白了还是限制这个IP、cookies、session的某个时间段的点击次数
每次用户打开这个文章前先判读是不是有记录有的话不算点击次数,没有的话用户打开这个文章后系统记录下这个ip和点击时间(或者写入客户端的cookies,或者写入服务器端的session)。
然后 每天定个时间 刷新IP 库
判断Session是不是有