请问下,怎么用PHP 做一个限制用户登录次数。
我只是一条咸鱼哈
我只是一条咸鱼哈 2017-08-29 22:16:14
[PHP讨论组]

简单就好,希望能说说要用到什么的方法来做,给个思路,谢谢哈。

我只是一条咸鱼哈
我只是一条咸鱼哈

即使是小小的人物,也有他自己精彩的故事

全部回复(2)
逸先生
$user = "xx";
$pass = "xx";
$waittime = 241231; //根据$user在数据库中查询出来的时间
$times = 0; //根据$user在数据库中查询出来的尝试次数

if ((time() - $waittime) > 0) {
	if (/*根据user和pass去数据库查询*/) {
		//账号和密码存在
		//登陆成功
		//数据库中 waittime = 0;times= 0;
	} else {
		//账号和密码不存在
		//登陆失败
		//数据库中 times= $times+1;
		if (($times + 1) == 3) {
			//数据库中 times= 0;waittime = time() + 30 * 60(当前时间+半小时);
		}
	}
} else {
	//提示 还需等待$waittime - time() 秒
}


逸先生

你所说的限制登录次数,是限制每天的登陆次数,还是说一个人登录以后,在线就不能再次登录?如果是限制一个人一天可以登陆5次。可以这么设计,在用户表中添加一个字段,login_times tinyint (1) ,每次登录时都判断该数值是否大于等于5,如果小于5,登录成功,次数加一,服务器使用定时任务,每天凌晨该数据清0

  • 回复 抱歉,我说的不是很清楚,我想问的是:假设一个用户登录了3次,每次密码都输入错误了,然后限制这个用户30分钟之后才能继续尝试登录。请问要用到什么方法来做,没什么思路╮(╯▽╰)╭
    我只是一条咸鱼哈 作者 2017-08-30 11:33:06
  • 回复 O(∩_∩)O谢谢了
    我只是一条咸鱼哈 作者 2017-08-30 13:56:00
  • 回复 还是通过字段来限制,用户表添加两个字段 times tinyint(1) waittime int(11) default 0;每次登陆的时候,1先根据该用户的登陆名来判断waittime的值是否为0,是0,可以登陆,继续判断密码什么的,不是0,提示他等待((waittime - time()) / 60) 分钟,2 如果waittime的值为0,判断登陆名加登陆密码,是否正确,正确,登陆成功,不正确,times加1,如果times = 3,那么,waittime = time()+ 30 * 60,登陆成功后,times=0,waittime=0
    逸先生 作者 2017-08-30 12:11:48
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号