PHP:如何检测页面刷新?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (229)

我有一页action.php在上面,我通过代码运行SQL查询,以便每当查看页面时,查询运行如下

<?php
mysqli_query("UPDATE ****");
?>

问题是当页面被刷新时,查询被运行&页面刷新被计算为我想要避免的页面视图。

如何避免?

提问于
用户回答回答于

不能直接检测页面刷新,但可以使用cookie来模拟所需内容:

if (isset($_COOKIE['action'])) {
  // action already done
} else {
  setcookie('action');
  // run query
}
用户回答回答于
$pageWasRefreshed = isset($_SERVER['HTTP_CACHE_CONTROL']) && $_SERVER['HTTP_CACHE_CONTROL'] === 'max-age=0';

if($pageWasRefreshed ) {
   //do something because page was refreshed;
} else {
   //do nothing;
}

扫码关注云+社区

领取腾讯云代金券