到目前为止,我试图限制用户多次喜欢某个帖子。问题是,当我单击某个帖子上的“喜欢”时,每次单击链接时,“喜欢”计数都会增加,即使该链接仅限于一个。

这是user.php文件:

echo "<a href='likes.php?id=$row[0]'>$row[6]</a>";


“ id = $ row [0]”指示数据库中的id_post列。 “ $ row [6]”是数据库中显示相似计数的列。

这是likes.php文件:

<?php
include 'db.php';
connect();

$id = $_GET['id'];

$sql1 = "SELECT * FROM posts";
$result1 = mysqli_query($link, $sql1) or die(mysqli_error($link));
$row = mysqli_fetch_row($result);


if ($row[6] == 0) {
    $sql2 = "UPDATE posts SET likes = likes + 1 WHERE id_post = '$id'";
    $result2 = mysqli_query($link, $sql2) or die(mysqli_error($link));
}

if ($row[6] == 1) {
    exit(header("Location: user.php"));
}

header("Location: user.php");
?>


我的代码有什么问题?

最佳答案

SELECT * FROM posts


您的查询是从posts表中选择所有行,而不是根据$ id变量中的ID进行过滤。

尝试将查询更改为:

SELECT * FROM posts WHERE COLUMN_NAME = '$id'


这样,$ row [6]将在您的帖子表中引用正确的ID。

关于php - PHP-类似帖子的限制不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44120976/

10-14 15:49
查看更多