[第一次机房收费系统]账号异常登录提醒
来源:互联网 发布:c语言匈牙利法则 编辑:程序博客网 时间:2024/04/28 22:18
前言
QQ在线的情况下在另一台手机上登录, 会有一个下线通知的提示。前几天用另一台手机登录QQ 的时候,提示了这条消息,这时候想正在做的机房收费系统能不能也加入这个功能呢?这样就可以防止机房上机账号被盗了。于是,展开了下面的研究。
QQ下线通知
正文
想到做这个防盗号提示后就开始想怎么实现这样的功能了,假设某同学用123的账号正在上机,再有人用123账号登录上机系统的时候就会提示消息。
我想这个时候可以在数据库中建个表,如果此卡号正在上机,再次登录的情况下把卡号和时间更新到数据表中。就先把这个表命名为FDaohao。
正在上机账号的信息在Online表中存放着,若有重复卡号登陆系统,则把卡号和时间更新到FDaohao数据表中,代码为:
txtSQL1 = "select * from OnLine_Info where cardno='" & Trim(txtUserName.Text) & "'"Set mrc1 = ExecuteSQL(txtSQL1, MsgText1)If mrc1.EOF = False Then' 若此卡号正在使用中 txtSQL2 = "select * from FDaohao_Info" Set mrc2 = ExecuteSQL(txtSQL2, MsgText2)' 将卡号,时间等信息放到FDaohao数据表中 mrc2.AddNew mrc2.Fields(0) = Trim(txtUserName.Text) mrc2.Fields(1) = Time mrc2.Update mrc2.Close '反馈提示信息 MsgBox "此卡号正在使用中!", vbOKOnly + vbExclamation, "警告" End End If
然后在主窗体界面中加一个timer控件和一个label空间。因为已经有一个时间控件是为了显示系统时间的,所以直接用了这个时间控件。时间为一秒刷新一次,若FDaohao表中有卡号和当前上机卡号一样的信息,就说明有异常登录,然后就在label控件中显示提示信息。
timer中代码如下:
txtSQL = "select * from FDaohao_Info where KNumber = '" & txtNumber.Text & "'"Set mrcFDH = ExecuteSQL(txtSQL, MsgText) '连接FDaohao数据表,表中卡号等于当前登录卡号时 If mrcFDH.EOF = False Then lblFDHtishi.Caption = "您的账号于" & mrcFDH.Fields(1) & vbCrLf _ & "在其他电脑上登录" & vbCrLf _ & "如非本人操作" & vbCrLf _ & "则密码可能已泄露" & vbCrLf _ & "点击下方按钮修改密码或忽略" lbltixing.Caption = "修改密码" lblhulue.Caption = "忽略"End If
这时候就可以实现异常登录信息提示了
账号为9426的同学正在上机的情况下再次登陆账号9426
就会显示此卡号正在使用中,并把卡号和异常登录时间同步到FDaohao表中。
这时候就会在主窗体的label控件中显示异常登陆提示,用户可以选择忽略或修改密码。
点击修改密码就会跳转到修改密码界面,而选择忽略,信息就会消失不见。在FDaohao数据表不管是点击修改密码还是忽略,都会删除此账号在表中的信息,因为这个时候用户已经看到了账号存在风险,提示的目的已经达到了。在timer空间下一秒刷新的时候,因为表中已经没有了此账号的信息,提示框就会消失。
点击修改密码代码:
Private Sub lbltixing_Click() frmModifyPassword.Show '打开修改密码界面 同时异常提醒全部关闭 lbltixing.Caption = "" lblFDHtishi.Caption = "" lblhulue.Caption = "" txtsqlFDH = "select * from FDaohao_Info where KNumber='" & txtNumber.Text & "'" Set mrcFDH = ExecuteSQL(txtSQL, MsgText) Do While (mrcFDH.EOF = False) '删除FDaohao表中此卡号的信息 mrcFDH.Delete mrcFDH.MoveNext LoopEnd Sub
点击忽略按钮代码:
Private Sub lblhulue_Click() '点击忽略删除FDaohao表中本学号的信息 lbltixing.Caption = "" lblFDHtishi.Caption = "" lblhulue.Caption = "" txtsqlFDH = "select * from FDaohao_Info where KNumber='" & txtNumber.Text & "'" Set mrcFDH = ExecuteSQL(txtSQL, MsgText) Do While (mrcFDH.EOF = False) mrcFDH.Delete mrcFDH.MoveNext LoopEnd Sub
总结
以前敲学生信息管理系统的时候师父就说,只要是你想要的功能,好好去做都可以实现的,当时也没有什么太多特别想法,老老实实按照原程序做好后大概的优化了一下。而这次的机房改动挺多的,这些小功能的实现,让自己有了更大的信心,同时也希望大家能够喜欢这些小小的东西。
- [第一次机房收费系统]账号异常登录提醒
- 第一次机房收费系统 “登录”
- 第一次机房收费系统—登录窗体
- 第一次机房收费系统-登录窗体
- 【机房收费系统】登录
- 机房收费系统-登录
- 第一次机房收费系统—修改密码后重新登录
- 第一次机房收费系统总结
- 第一次机房收费系统总结
- 第一次机房收费系统验收
- 第一次机房收费系统总结
- 第一次机房收费系统--上机
- 第一次机房收费系统--下机
- 第一次机房收费系统总结
- 第一次机房收费系统--结账
- 第一次机房收费系统总结
- [第一次机房收费系统]机房收费系统规划
- [第一次机房收费系统]机房收费系统(1)
- Filter(过滤器)常见应用(三)——权限管理系统(三)
- iOS 中设置全局网络检测
- HDU 5876 - Sparse Graph
- 【Android】OpenCV实现在Android下的人脸检测(NDK)--两篇论文
- iOS项目拆分:数据本地持久化(1)
- [第一次机房收费系统]账号异常登录提醒
- [Android]android:installLocation简析
- 代码检视(Code Review)的几种实践
- VS2013 / MFC + OpenCV 2.4.9实现视频的播放暂停和结束
- Oracle修改监听IP地址
- 测试工作量的评估方法
- 通过 CSOM / JSOM解决方案 上传 和 激活
- jquery mobile常用的data-role类型介绍
- 月入十万:大部分人努力的方向都错了