您好我想补充评论系统但问题是,如果用户刷新页面,那么它会再次保存到数据库。我已经在我的其他网站上做了同样的事情,但它是单页,所以我使用了标题(位置:index.php),以便刷新不起作用,但在这里我使用的是正在使用的template.php文件在200页中,所以我将评论表格放在template.php中(包含在所有页面中)。请帮助我。我只想要评论不要保存agaun,如果用户刷新页面再次。 感谢。
经过大量阅读后,这是我使用表格动作的代码=“addcomment.php” 和addcomment.php有以下代码
<?php
require_once("appvars.php");
require_once("connectvars.php");
$dbc = mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME);
if(function_exists('get_magic_quotes_gpc') && get_magic_quotes_gpc() === 1){
$_POST = array_map( 'stripslashes', $_POST );
$_GET = array_map( 'stripslashes', $_GET );
$_COOKIE = array_map( 'stripslashes', $_COOKIE );
}
if (isset($_POST['commentsubmit']))
{
$type=mysqli_real_escape_string($dbc,trim($_POST['type']));
$name=mysqli_real_escape_string($dbc,trim($_POST['username']));
$email=mysqli_real_escape_string($dbc,trim($_POST['useremail'];))
$subject=mysqli_real_escape_string($dbc,trim($_POST['subject']));
$comment=mysqli_real_escape_string($dbc,trim($_POST['usercomment']));
$link=mysqli_real_escape_string($dbc,trim($_POST['link']));
$query = "INSERT INTO comments (`type`,`name`,`email`,`subject`,`comment`,`date`,`link`) VALUES ('$type','$name','$email','$subject','$comment',NOW(),'$link')";
$result=mysqli_query($dbc, $query) or die('error query');
?>
请让我知道如何重定向到存储在变量$ link中的链接,并发送谢谢,如果查询已成功执行
答案 0 :(得分:3)
通常的做法是将表格发布到ie。 submit.php
,它将保存评论并将用户传回(重定向)回到评论所在的页面。刷新只会刷新页面而不会重新加载。其他解决方案使用ajax表单或传递表单的唯一标识符,因此无法发布两次。