首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

如何让用户一天只能点击一次啊

2012-06-22 
怎么让用户一天只能点击一次啊?我有个按钮,让用户一天只能点击一次,我加的cookie,判断时间,只要浏览器不关

怎么让用户一天只能点击一次啊?
我有个按钮,让用户一天只能点击一次,我加的cookie,判断时间,
只要浏览器不关,F5刷新是没问题的,可以判断到cookie,但是浏览器一关,在打开,cookie貌似就没了,又能点击了。。
下面是我的代码,

C# code
 protected void Page_Load(object sender, EventArgs e)        {            if (!IsPostBack)            {                HttpCookie oldCookie = Request.Cookies["Time"];//判断Time的cookie                if (oldCookie != null)                {                    if (DateTime.Now.ToString("yyyy-MM-dd") == Convert.ToDateTime(oldCookie.Values["GetTime"]).ToString("yyyy-MM-dd")) //如果当前日期和cookie的日期相同                    {                        IsEnable = true;                        this.IsGet.Value = "false";                    }                    else                    {                        HttpCookie newCookie = new HttpCookie("Time");//新建Time的cookie                        newCookie.Values.Add("GetTime", DateTime.Now.Date.ToString("yyyy-MM-dd"));//给cookie添加当前日期                        Response.Cookies.Add(newCookie); //写入cookie                    }                }            }        }

但是这样貌似不管用,只要浏览器一关,在打开cookie就又是null了。。。请教大家有别的写法么?分享一下呗。。。。

[解决办法]
直接IP 呵呵
[解决办法]
浏览器一关cookie怎么会null呢,可以设置的啊,要不然 记住密码 功能怎么搞。
[解决办法]
最好的方法在数据库记录,Cookie可以清空的。ip可以换的
[解决办法]
没有设置cookies过期时间,请看下面代码红字部分
C# code
protected void Page_Load(object sender, EventArgs e)        {            if (!IsPostBack)            {                HttpCookie oldCookie = Request.Cookies["Time"];//判断Time的cookie                if (oldCookie != null)                {                    if (DateTime.Now.ToString("yyyy-MM-dd") == Convert.ToDateTime(oldCookie.Values["GetTime"]).ToString("yyyy-MM-dd")) //如果当前日期和cookie的日期相同                    {                        IsEnable = true;                        this.IsGet.Value = "false";                    }                    else                    {                        HttpCookie newCookie = new HttpCookie("Time");//新建Time的cookie                        newCookie.Values.Add("GetTime", DateTime.Now.Date.ToString("yyyy-MM-dd"));//给cookie添加当前日期                                                 [color=#FF0000]newCookie.Expires = DateTime.Now.AddHours(24.0);[/color]                        Response.Cookies.Add(newCookie); //写入cookie                    }                }            }        }
[解决办法]
记录到文件或注册表
[解决办法]
探讨
最好的方法在数据库记录,Cookie可以清空的。ip可以换的

[解决办法]
既然所有人都能点击,你限制这个有何意义啊??
[解决办法]
老孟说的对,你必须把用户操作保存到服务器上。要不用户可以换个电脑或者浏览器照样点击
[解决办法]
应该是记录到数据库里吧 点击了就在表里加一条数据,然后今天就不可以让点击了
[解决办法]
保存 到服务器上是最保险的方法

热点排行