Php 管理员如何取消设置用户的所有cookie

Php 管理员如何取消设置用户的所有cookie,php,cookies,session-cookies,Php,Cookies,Session Cookies,我有一个网站,使艺术比赛,每天晚上9点,管理员决定有人作为赢家,他还想取消所有用户的所有cookies 我的饼干,我正在设置一天 $cookie_name = "participated"; $cookie_value = "yes"; setcookie($cookie_name, $cookie_value, time() + (86400 * 30), "/"); 是否有任何方法可以在每天晚上9点取消设置,或者管理员

我有一个网站,使艺术比赛,每天晚上9点,管理员决定有人作为赢家,他还想取消所有用户的所有cookies

我的饼干,我正在设置一天

$cookie_name = "participated";
$cookie_value = "yes";
    
setcookie($cookie_name, $cookie_value, time() + (86400 * 30), "/"); 
是否有任何方法可以在每天晚上9点取消设置,或者管理员可以在每天晚上9点取消设置所有cookie

编辑:代码已尝试

<?php
date_default_timezone_set('Asia/Kolkata');

if(date("H") <= 12){
    $date = date("H");
}else{
    
$date = date("H")-12;
}

echo 9-$date;
?>

使用DateTime内置类,您只需

$cookie_name = "participated";
$cookie_value = "yes";

// get the timestamp of today @ 9PM to use as the expiry time
$expire = (new DateTime('today 21:00:00'))->getTimestamp();

// or with a specific timezone
//$expire = (new DateTime('today 21:00:00', new DateTimeZone('Asia/Kolkata')))->getTimestamp();

setcookie($cookie_name, $cookie_value, $expire, "/"); 

使用DateTime内置类,您只需

$cookie_name = "participated";
$cookie_value = "yes";

// get the timestamp of today @ 9PM to use as the expiry time
$expire = (new DateTime('today 21:00:00'))->getTimestamp();

// or with a specific timezone
//$expire = (new DateTime('today 21:00:00', new DateTimeZone('Asia/Kolkata')))->getTimestamp();

setcookie($cookie_name, $cookie_value, $expire, "/"); 


设置cookie时,您必须计算cookie的过期时间,以便它将在21:00自动过期。你不能只是上网,从你的服务器上删除你用户电脑上的cookies,那么我怎样才能对过期日期做出逻辑呢?你能回答我的问题,让我更好地理解代码的逻辑吗,看看你是否至少能接近它。当你设置cookie时,你必须计算cookie的过期时间,以便它在21:00自动过期。你不能只是上网,从你的服务器上删除你用户电脑上的cookies,那么我怎样才能对过期日期做出逻辑呢?你能回答我的问题,让我更好地理解代码的逻辑吗,看看你是否至少能接近它,但你也应该检查一下当前时间是否小于21:00。像这样,
if(date('H')请您发布正确答案并附上完整细节谢谢您的回答✌️@VIAYAK如果答案解决了你的问题,考虑接受答案。这里是如何返回到这里,并用滴答/检查标记做同样的事情,直到它变成绿色。这通知了社区,找到了解决方案。否则,其他人可能会认为这个问题仍然是开放的,并且可能想要张贴(更多)。答案。您将获得积分,其他人将被鼓励帮助您。欢迎使用Stack!但您也应该检查当前时间是否小于21:00。像这样
if(date('H')请您发布正确的答案并提供完整的详细信息Hanks RiggsFolly以获得您的答案✌️@VIAYAK如果答案解决了你的问题,考虑接受答案。这里是如何返回到这里,并用滴答/检查标记做同样的事情,直到它变成绿色。这通知了社区,找到了解决方案。否则,其他人可能会认为这个问题仍然是开放的,并且可能想要张贴(更多)。答案。您将获得积分,并鼓励其他人帮助您。欢迎使用Stack!