2 hongxiaoshuang hongxiaoshuang 于 2017.01.03 20:48 提问

用户查看信息次数限制

当前用户登录状态每天查看商家电话号码的时候不能超过5家,也就是说,当我在登录的状态下,我可以查看商家的电话号码,当我查看到其它商家的号码时,也能显示号码,直到查看到第五家时,在显示号码处给出提示:每天只能查看五个号码!这个功能用PHP如何实现?

6个回答

minyifei811
minyifei811   2017.01.03 23:39
已采纳

这么简单个问题,数据库中设计个表如下:

 user_visit_count表名:
 字段:
 user_id 用户id
 visit_date  访问日期
 visit_count 当前日期累计访问次数
 update_time 更新时间

每次访问的到时候记录一下,visit_count加一,每次访问前查询一次数据库,看看累计访问次数到几次了,然后提示用户即可

caozhy
caozhy   Ds   Rxr 2017.01.03 23:01

数据库里存储两个字段,最后访问日期,访问次数。
查看代码逻辑如下:
if (最后访问日期 != 今天) 访问次数 = 1;
else
访问次数 = 访问次数 + 1;

if (访问次数 < 5)
允许查看
else
不允许查看

lost_chost
lost_chost   2017.01.04 10:46

为什么不可以定义一个静态变量进行累加记忆?

sinat_35134348
sinat_35134348   2017.01.04 11:50

1.存Cookie或者Session里面,每次调用接口值就+1,5的时候判断执行相关操作,有存在Cookie或者Session被清除的情况
2.定义一个网页的全局变量,只是浏览单次有效,退出页面就没了,这是最差的
3.存数据库中,每次访问的到时候记录一下,这是最保险的做法

sinat_35134348
sinat_35134348 这样都不给我C币,感觉没爱了,不想说了
一年多之前 回复
bdmh
bdmh   Ds   Rxr 2017.01.03 20:59

你通过后台接口,直接写数据库,每调一次查看接口,加一,直到5

qq_29566841
qq_29566841   2017.01.03 22:31

这种判断没必要存数据库。直接存session里就好,每次调用接口前检查调用次数是否小于或等于五,做相应的操作就行。

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
取消Oracle用户密码登录错误次数限制
一般数据库默认是10次尝试失败后锁住用户     1、查看FAILED_LOGIN_ATTEMPTS的值     select * from dba_profiles     2、修改为30次     alter profile default limit FAILED_LOGIN_ATTEMPTS 30;     3、修改为无限次(为安全起见,不建议使用)
oracle关于密码尝试次数的设置
原创作品,出自 “深蓝的blog” 博客,欢迎转载,转载时请务必注明以下出处,否则追究版权法律责任。 深蓝的blog: 实验环境 操作系统 WIN7 64bit 数据库 oracle 11G R2( 11.2.0.1.0) 前提:用户登陆尝试密码错误过多时,会造成用户被锁定。  实验: 使用PL/SQL
利用java的timer定时器来限制用户的多次错误登陆
这里主要用到的是timer这个类的几个功能 具体操作在timertask内执行  用new timer来决定是循环执行 还是延迟执行  比如在timertask的run()方法中 根据页面传过来的account查询到数据库中的信息 (在数据库中有一个字段是判断错误登
使用redis进行用户接口访问时间次数限制
假设一个用户(用IP判断)每分钟访问某一个服务接口的次数不能超过10次 package com.dji.hire.common; import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import com.dji.hire.util.ConfigurationUtil; impo
控制连续登陆失败次数与过期验证
我们有时候需要验证用户如果连续登陆失败3次后就把他的账号 锁定几分钟,几分钟后才能进行登陆。 其实很简单只需要在登陆失败记录下失败的用户, 如果超过规定的次数就记录下当前的时间, 后边就可以更加这个时间来控制一个时间段内 不允许用户在进行登陆 过期验证也类似,比如登陆成功会产生一个sessionid来验证 用户是否登陆,sessionid的过期时间可以用类似上边 的方法简单
oracle 限制用户密码输入错误次数
一、限定用户输入密码错误次数,错误输入超过指定次数 后锁定该用户一定时间。  如:指定scott用户最多可错误输入密码3次,超 过3此错误输入后锁定该用户2天 sql>create profile myprofile limit  failed_login_attempts 3 password_lock_time 2; sql>alter user scot profile
Linux如何通过PAM限制用户登录失败次数
现在很多地方都有限制用户登录的功能,Linux也是如此,当你登录失败多次后就可以限制用户登录,从而起到保护电脑安全的作用,通过PAM模块即可实现,下面随小编一起来了解下吧。   Linux有一个pam_tally2.so的PAM模块,来限定用户的登录失败次数,如果次数达到设置的阈值,则锁定用户。   编译PAM的配置文件# vim /etc/pam.d/login   #%PAM
如果用JS限制用户一天内访问的次数。
如题。这个功能用VB很容易实现。 但是我这个功能是在HTML页面上使用。所以不能用VB 由于我的JS基础薄弱。请大家帮忙!
数据库安全管理——用户登录次数限制及锁定(这里指数据库用户)
通过概要文件的设计来进行管理: 具有CREATE PROFILE 系统权限的用户可以创建概要文件: SQL>CREATE PROFILE PWD_PROFILE LIMIT FAILED_LOGIN_ATTEMPTS 3       --尝试三次后,用户被锁定  PASSWORD_LOCK_TIME 10;       --用户被锁定后10天自动解锁 并在创建用户
限制每个用户访问接口的次数(Java)
Java code ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30