gpt4 book ai didi

php - 确保用户不发送垃圾邮件 "like"按钮

转载 作者:行者123 更新时间:2023-12-02 22:24:23 26 4
gpt4 key购买 nike

我和我的 friend 们正在创建一个请愿板,我正在向它添加一个喜欢/不喜欢的功能。我打算让它只有用户才能喜欢/不喜欢它。问题是,我不知道如何确保用户不会多次向按钮发送垃圾邮件,以及如何注册哪个用户喜欢/不喜欢哪个主题。到目前为止,下面是我的代码。

编辑:谢谢,我现在正在创建喜欢/不喜欢表。但是现在我必须将用户与数据库进行比较,看看他们之前是否喜欢过评论。我知道我必须使用 WHERE(来检查好恶表),但我不确定如何将它与 IF 结合使用。

<?php
include connect.php

if (isset($_POST['like']) || isset($_POST['dislike']))
{
if($_SESSION['signed_in']){
if (isset($_POST['like'])) {
$sql="UPDATE
topics
SET
likes=likes+1,
WHERE
id=topic_id";

echo "You liked it";
}

elseif (isset($_POST['dislike'])) {
$sql="UPDATE
topics
SET
dislikes=dislikes+1,
WHERE
id=topic_id";

echo "You disliked it";
}
}
else{
echo 'Please log in.'
}

?>

最佳答案

您应该有一个包含以下列的“喜欢”表。

"article_id", "user_id", 主键应该包含两列

每当用户喜欢一篇文章时,INSERT INTO 就喜欢 VALUES($article_id, $user_id);多亏了主键,如果有人点赞两次,它就会失败。

每次用户不喜欢时,DELETE FROM 喜欢 WHERE article_id = $article_id AND user_id = $user_id。如果他愿意,这将允许用户再次喜欢。

要获取文章的点赞数,请运行 SELECT COUNT(*) as nb_of_likes FROM likes WHERE article_id = $article_id 而不是将数字存储在文章表中。

有道理吗?

关于php - 确保用户不发送垃圾邮件 "like"按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13178062/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com