一个SQL语句和获取客户端信息问题??

yinxiaoluan 2009-09-08 10:31:34
学习网站会员限制问题:
1.同一时间只可以登陆一个帐号:在会员注册(注册是收费的)的时候我数据库里有个logon字段默认值为"F",会员登陆时,不但通过用户名密码还有这个"F"依据判断,才能登陆。在会员登陆以后我用一个UPDATE语句将其改为"T"。点"注销"在UPDATE回来改为"F".
问题是:“有时候会员忘记"注销",下次就不能登陆了。我想有没有办法让他们在关闭页面的时候就执行那个UPDATE语句。”
2.为了防止多人购买一个帐号,分段时间登陆问题。我想在会员第一次登陆的时候获取客户端一种唯一性的信息。以后在同一地方登陆。
有思路的朋友帮帮忙!~
...全文
172 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
yinxiaoluan 2009-09-09
  • 打赏
  • 举报
回复
楼上:1.将每次登陆的时间戳同时保存到session和数据库中,不禁止重复登录,但是可以自动踢掉上一个登录。
类似QQ在其他电脑上登录的效果。

能否说的具体一点呢?
ms_X0828 2009-09-09
  • 打赏
  • 举报
回复
学习
yinxiaoluan 2009-09-08
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 hzg7361 的回复:]
关于1.让他们关闭页面这个问题是无法控制的,比如电脑突然重启等等不可控制因素,所以一般按session判断,超过多长时间没操作,更新数据库为用户退出

[/Quote]
你这个方法真不错 #89 谢啦!~
yinxiaoluan 2009-09-08
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 mlive 的回复:]
第一个问题同意2楼和3楼的方法,真没有什么好的办法实现,
第二个问题,我不太清楚你为什么有这样的需求,不过说了,我就说一下我的意见,可以使用IP的做判断,不过,你这样子做的意思就是说,这个用户换个网段或换个地方就不能登录了,如果是哪种自动取得IP的用户,会很痛苦的。哥们,从用户的角度来看,我来了钱还要不能痛快的用,实在是不太好,如果是哪种花了很多钱才能登录的,我才不给别人用呢。
话多了。呵呵。
[/Quote]
我的第二个问题是怕好多用户买了一个帐号,通过不同的时间段在各自家中上。 而且根据IP判断是肯定不行的。就像你说的, 现在的用户都是自动获得IP的。
有没有别的方法呢?
比如说最好获取MAC地址之类能代表唯一性的啦!!~~
Mlive 2009-09-08
  • 打赏
  • 举报
回复
第一个问题同意2楼和3楼的方法,真没有什么好的办法实现,
第二个问题,我不太清楚你为什么有这样的需求,不过说了,我就说一下我的意见,可以使用IP的做判断,不过,你这样子做的意思就是说,这个用户换个网段或换个地方就不能登录了,如果是哪种自动取得IP的用户,会很痛苦的。哥们,从用户的角度来看,我来了钱还要不能痛快的用,实在是不太好,如果是哪种花了很多钱才能登录的,我才不给别人用呢。
话多了。呵呵。
phpboy 2009-09-08
  • 打赏
  • 举报
回复
可以通过 session 和数据库 保存信息进行验证
jackydrl 2009-09-08
  • 打赏
  • 举报
回复
判断是否是点击“注销”按钮退出的,确实是一个非常难的问题,因为浏览器本身没有提供这样的句柄,我以前也出现过这样的需求,在CSDN上也是不了了之,所以现行的做法通过session,并且每个用户的session本身就能做到是唯一的。
hzg7361 2009-09-08
  • 打赏
  • 举报
回复
关于1.让他们关闭页面这个问题是无法控制的,比如电脑突然重启等等不可控制因素,所以一般按session判断,超过多长时间没操作,更新数据库为用户退出
江南昆虫 2009-09-08
  • 打赏
  • 举报
回复
1.将每次登陆的时间戳同时保存到session和数据库中,不禁止重复登录,但是可以自动踢掉上一个登录。
类似QQ在其他电脑上登录的效果。

2.恐怕得参考支付宝的安全证书了。
yinxiaoluan 2009-09-08
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 woshiguozhongbin 的回复:]
PHP codesession_destroy();
的意思呢是:是指 将 session中保存的东西 全部销毁。
后来你都销毁了

还这么update啊
[/Quote]
我关闭页面session不没~ 下次打开页面自动登陆了 。 不销毁没办法啊 ~
真是不知道怎么写了。
Abin-2008 2009-09-08
  • 打赏
  • 举报
回复

session_destroy();

的意思呢是:是指 将 session中保存的东西 全部销毁。
后来你都销毁了

还这么update啊
yinxiaoluan 2009-09-08
  • 打赏
  • 举报
回复
我页面关闭不能自动消除SESSION , 所以我用<div style=\'width:100px; color:#FF9900; cursor:pointer; margin-top:5px;\' onclick=\'"."session_start();session_destroy();window.close()\'></div>来清除SESSION的 。
可是我不知道怎么样写像1楼说的那样。
SESSION没的时候执行update

20,358

社区成员

发帖
与我相关
我的任务
社区描述
“超文本预处理器”,是在服务器端执行的脚本语言,尤其适用于Web开发并可嵌入HTML中。PHP语法利用了C、Java和Perl,该语言的主要目标是允许web开发人员快速编写动态网页。
phpphpstorm 技术论坛(原bbs)
社区管理员
  • 开源资源社区
  • phpstory
  • xuzuning
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧