求各位大侠,这个功能怎么实现 会员取回密码次数限制0则表示无限制,若取回问答错误次数超过设定值,则停止至24小时后才能再次使用取回密码功能。小弟求实现的方法,数据库或程序上设计实现都行 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 bomb_boy(梦之星) 說得不錯,對於某字段為零的用戶,則不受此限制; to: bomb_boy(梦之星)我说得不够清楚,0是表示整个开关的作用,所有用户都不受限制,不用理这个0了你说的这个方法,过了很久以后,表的记录会不会很多呀,过了24小时以后,以前的记录就没有用了呀, 建立一个数据表,每用户一条记录字段及说明如下:字段名 字段值 说明开关 0/1 记录是否限制取回密码错误次数 自然数 记录取回密码输入停息错误次数错误开始时间 时间类型 当第一次输入信息错误的时间记录当前系统时间,当输入正确信息时清 除记录,错误次数也清0最后错误时间 时间类型 当输入错误时记录当前系统时间用户ID 这个就不用说了程序中判断取回密码输入信息:1.如果最后错误时间比当前时间早24小时,清除错误次数和两个错误时间,进行第3步,else第2步;2.判断 错误开始时间 和 最后错误时间 间的差值,如果在24小时之内,判断 错误次数 是否达到限制,如果达到限制就将错误开始时间和最后错误时间都没为当前时间,错误次数不变,return; esle第3步。 错误开始时间 和 最后错误时间 间的差值大于24小时的判断错误次数,如果没达到限制,第3步3.判断输入信息的正确性,如果不正确则 错误次数 加1, 最后错误时间 设为当前时间,如果错误开始时间为空或为默认值,则错误开始时间也设为当前时间。4.反馈给用户必要的信息 没做过,考虑。。数据库加入:取密码次数nums默认为0;取密码日期date1,初始值为注册时间-1天;是否可去密码IsOk,默认为0(表示可以)-------------------------------aa = "判断密码" 失败返回1,成功返回0bb = 当前日期-取密码日期,若>24返回0,否则返回1if (bb==0) //若超过一天了则可以取密码{ IsOk = 0; }if (bb==0){ if(IsOk==0) { if (nums<10) { if(aa==0) { //成功 nums =0; data1 = 当前日期; IsOk = 0; } else { nums++; } } else { //超过次数报错。 nums=0; data1 = 当前日期; IsOk = 1; } } else { //超过次数报错。 nums=0; data1 = 当前日期; IsOk = 1; }}else{ //超过次数报错。 nums=0; data1 = 当前日期; IsOk = 1; }---------------------------------------总感觉这个法子好麻烦。 asp.net中遍历数组的问题 session面试题 关于禁用浏览器地址栏的问题 请问:有没有当焦点离开TextBox时触发嘚事件? 还是数据库 关于图片保存的一个问题 ????????请各位大虾看看是哪里出错了?????? asp.net中,上传文件时,怎么取得该文件的实际类型 简单问题,谁能告诉我为什么 在IIS里浏览ASP.NET页面时,出现下面提示.浏览不了.请问什么问题? 分享一个小东西^_^ 分都问光了啊!再来帮我个简单的问题好不啊啊,谢谢啊!
我说得不够清楚,0是表示整个开关的作用,所有用户都不受限制,不用理这个0了你说的这个方法,过了很久以后,表的记录会不会很多呀,
过了24小时以后,以前的记录就没有用了呀,
字段及说明如下:
字段名 字段值 说明
开关 0/1 记录是否限制取回密码
错误次数 自然数 记录取回密码输入停息错误次数
错误开始时间 时间类型 当第一次输入信息错误的时间记录当前系统时间,当输入正确信息时清
除记录,错误次数也清0
最后错误时间 时间类型 当输入错误时记录当前系统时间
用户ID 这个就不用说了程序中判断取回密码输入信息:
1.如果最后错误时间比当前时间早24小时,清除错误次数和两个错误时间,进行第3步,else第2步;
2.判断 错误开始时间 和 最后错误时间 间的差值,如果在24小时之内,判断 错误次数 是否达到限制,如果达到限制就将错误开始时间和最后错误时间都没为当前时间,错误次数不变,return; esle第3步。 错误开始时间 和 最后错误时间 间的差值大于24小时的判断错误次数,如果没达到限制,第3步
3.判断输入信息的正确性,如果不正确则 错误次数 加1, 最后错误时间 设为当前时间,如果错误开始时间为空或为默认值,则错误开始时间也设为当前时间。
4.反馈给用户必要的信息
数据库加入:取密码次数nums默认为0;取密码日期date1,初始值为注册时间-1天;是否可去密码IsOk,默认为0(表示可以)-------------------------------
aa = "判断密码" 失败返回1,成功返回0
bb = 当前日期-取密码日期,若>24返回0,否则返回1
if (bb==0) //若超过一天了则可以取密码
{
IsOk = 0;
}if (bb==0)
{
if(IsOk==0)
{
if (nums<10)
{
if(aa==0)
{
//成功
nums =0;
data1 = 当前日期;
IsOk = 0;
}
else
{
nums++;
}
}
else
{
//超过次数报错。
nums=0;
data1 = 当前日期;
IsOk = 1;
} }
else
{
//超过次数报错。
nums=0;
data1 = 当前日期;
IsOk = 1;
}
}
else
{ //超过次数报错。
nums=0;
data1 = 当前日期;
IsOk = 1;
}
---------------------------------------总感觉这个法子好麻烦。