这是我制作评论系统的方式,
这就是我使用标题来重新加载"该页面只在将信息放入数据库时。
当我将信息发送到数据库并单击f5然后再次将其丢入数据库。就像它是垃圾邮件一样。
if ($stmt = $this->mysqli->prepare('INSERT INTO fms_kommentarforum (getid, brugerid, kommentar) VALUES (?, ?, ?)')) {
$stmt->bind_param('sss', $getid, $brugerid, $kommentar);
$getid = $_GET['id'];
$brugerid = $_SESSION["id"];
$kommentar = $_POST["beskedinfo"];
$stmt->execute();
//reload the page again
ob_start();
header("Location: http://www.blabla.dk/forum/" . $_GET["id"] . "/" . $_GET["url"] . "/");
ob_end_flush();
$stmt->close();
}
添加网址,看起来像这里的一些;的 blabla.com/forum/1/test --- AE-OE-AA-AA /# 当我将信息发送到数据库一次时
我希望#在它出现时不会出现#。
并以我写的形式 action ="#"
答案 0 :(得分:0)
您可以使用303 HTTP状态代码将客户重定向到同一个uri。
http://en.wikipedia.org/wiki/HTTP_303
所以客户端可以在不再发送帖子请求的情况下点击F5。
header("HTTP/1.1 303 See Other");
header("Location: http://example/post");
答案 1 :(得分:0)
我已经看到的一个技巧基本上是为GET / POST数据添加一个随机数,并在进行更新时记住它们。如果您使用之前看到的随机数获得第二次更新请求,则表示它来自F5
并跳过此更新。
编辑:请参阅:例如:this SO question和this web-page。