php - 保护柜台 View 以免被操纵

标签 php mysql view counter

我有这个代码:

$id = $_GET['id'];
mysql_query("UPDATE threads SET views = views + 1 WHERE id = '$id'");

但是当我点击刷新时,计数器会随着每次刷新而增加。

如何通过 session 或任何其他方式保护此计数器免受此影响?

最佳答案

您可以使用 (hasBeenCounted) 设置 session 变量,如果设置了该变量,则不会增加。

if(!isset($_SESSION['hasBeenCounted'])
{
    $id = $_GET['id'];
    mysql_query("UPDATE threads SET views = views + 1 WHERE id = '$id'");
    $_SESSION['hasBeenCounted'] = "counted";
}

编辑:

session_start():

需要位于您打算使用 session 的任何页面的最顶部。

关于php - 保护柜台 View 以免被操纵,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4636975/

相关文章:

php - 如何同步mysql数据库从本地主机更新到在线服务器

android:state_enabled ="false"不工作

python - WHERE 子句中的 MySQL 和 SQLAlchemy 整数转移

mysql - 需要更好的 mysql 方法来实现辅助表索引

php - 如何在mysql选择的where子句中添加if elseif条件?

java - 如何在启动时仅对 Android View 进行一次动画处理?

Android:小部件和 View 之间有真正的区别吗?

php - 错误(1054): Unknown column 'enable_flag' in 'field_list'

php - 使用 PHP 删除文本框中的文本

javascript - Yii2 创建一个没有模型的表单