php限制一个函数在几分钟内不被调用_PHP:等待时间所以函数不能执行直到x分钟...

只需设置用户上次活动

$waiting = new letUserWait();

$waiting->setConnection()->setActivityTime();并检查他是否再次被允许

$allowed = new letUserWait();

$allowed->setConnection()->isUserAllowed();如果你愿意,你可以在没有碳的情况下做到这一点,但我建议你添加它,它更方便。如果用户在最近2分钟内没有活动,则$allowed将为true。

namespace waitingTime;

use Carbon;

use PDO;

class letUserWait {

protected $waitingTime;

protected $dbconnection;

public $UserAllowed;

public function setConnection() {

try {

$this->dbconnection = new PDO("mysql:host=".DB_HOST.";dbname=".DATABASE, DB_USERNAME, DB_PASSWORD);

} catch (PDOException $e) {

die($e->getMessage());

}

return $this;

}

public function setActivityTime() {

$stmt = $this->dbconnection->prepare('INSERT INTO user_waiting_time (user_id, timestart) VALUES (':user_id',NOW());

$stmt->execute([':user_id' => $_SESSION['user_id']]);

return true;

}

public function isUserAllowed() {

$stmt = $this->dbconnection->prepare("SELECT user_id FROM user_waiting_time WHERE timestart BETWEEN ".Carbon::now()->subMinutes(2)->toDateTimeString." AND ".Carbon::now());

$stmt->execute();

$rows = $sth->fetch(PDO::FETCH_NUM);

$this->UserAllowed = true;

if ($rows[0] > 0) {

$this->UserAllowed = false;

}

return $this->UserAllowed;

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值