谁一开始就是大神?

PHP 第119页

PHP

PHP如何使用Redis限制表单提交成功五次后不能再提交了?[2.0]

kensuper阅读(117)

PHP 如何使用 Redis 限制表单提交成功五次后不能再提交了?我发现这样写好像不行,不能判断是否入库成功

/**************/
//获取当前的ip,限制每个ip只能提交五次
$user_ip = Common_Common::getRealIp();
if($user_ip){
    //这个key记录该用户的访问次数
    $key = $user_ip;
    //定义限制次数
    $limit = 5;
    $redis = new \Redis();
    $redis->connect('127.0.0.1', 6379, 30);
    $check = $redis->exists($key);
    if($check){
        if(Service_VideoComment::add($row)){
            $redis->incr($key);  //键值递增
            $count = $redis->get($key);
            if($count > $limit){
                $return = array(
                    "status" => 0,
                    "msg"    => "温馨提示:您的信息已存在,请直接咨询在线客服!"
                );
                exit(json_encode($return));
            }
        }
    }else{
        if(Service_VideoComment::add($row)){
            $redis->incr($key);
        }
    }
}
/**************/

每次进来查一下这个ip的提交次数,如果大于等于5次,直接驳回。
不大于5在下面进行表单入库,入库成功后当前ip提交次数加1。
建议incrby放在最开始,判断返回值是否大于5

【面试题】编写一个SQL查询来实现分数排名[2.0]

lovelysuper阅读(120)

编写一个 SQL 查询来实现分数排名。

如果两个分数相同,则两个分数排名(Rank)相同。请注意,平分后的下一个名次应该是下一个连续的整数值。换句话说,名次之间不应该有“间隔”。

+----+-------+
| Id | Score |
+----+-------+
| 1  | 3.50  |
| 2  | 3.65  |
| 3  | 4.00  |
| 4  | 3.85  |
| 5  | 4.00  |
| 6  | 3.65  |
+----+-------+

例如,根据上述给定的 Scores 表,你的查询应该返回(按分数从高到低排列):

+-------+------+
| Score | Rank |
+-------+------+
| 4.00  | 1    |
| 4.00  | 1    |
| 3.85  | 2    |
| 3.65  | 3    |
| 3.65  | 3    |
| 3.50  | 4    |
+-------+------+

重要提示:对于 MySQL 解决方案,如果要转义用作列名的保留字,可以在关键字之前和之后使用撇号。例如 Rank

— 创建表
— 插入数据
— 执行查询
没看懂题目,也没看懂答案,这两个子查询在做什么呢?
https://leetcode-cn.com/problems/rank-scores/

theirclasswillnotbe的解决方法是什么呢?[2.0]

fationfrog阅读(122)

Deprecated: Methods with the same name as their class will not be 的解决方法是什么呢?

应该是代码太老了
给类 新增 __construct()方法,方法里调用类的同名方法,

如何防止别人来我们的网站爬文章?[2.0]

lovelyhappy阅读(118)

如何防止别人来我们的网站爬文章?

放开让爬取吧。我本身也是做一些爬虫的,携程,飞猪的一些网站我们也是经常爬,他们都有专门的发爬团队,但是依然避免不了,再对比一下我们的文章,算了吧,注明一下版权问题,就让他们去爬吧,说明他们肯定了你的文章
限率 自行搜索

登录

找回密码

注册