繁体   English   中英

每次刷新网页时,添加的第一行都会被复制

[英]Each time I refresh the webpage, the first row added is being duplicated

我正在创建一个小的评论系统,该系统将所有评论显示在彼此之上。 问题是,每当我按下提交按钮时,数据库中添加的第一行就会重复。 结果导致显示很多相同的评论。 我已经尝试使用标头和退出,但这也没有解决。 可能与表单动作有关吗? 提前致谢。

public function comment($username, $comment)
{
    if (!empty($username) && !empty($comment)) {
        $date = date("Y-m-d H:i:s");
        if ($insert = $this->db->prepare("INSERT INTO reviews (username, comment, time) VALUES (?, ?, ?)")) {
            $insert->bind_param('sss', $username, $comment, $date);
            $insert->execute();
        } else {
            echo "something is wrong with the query";
        }
    } else {
        echo "missing fields";
    }
}

这是用法,如您所见,表单在此下方回显,我重定向以避免重复,然后退出

$reizen = new reizen;
if (isset($_POST['submit'])) {
    $username = $_POST['username'];
    $comment  = $_POST['comment'];
    header("Location: index.php?" . $_SERVER['QUERY_STRING']);
    $reizen->comment($username, $comment);
    exit();
}
echo $reizen->retrieve();

您需要使用POST / REDIRECT / GET模式来防止这种情况。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM