此问题已在此处有答案:
header location not redirecting after form submit(1个答案)
11天前关闭
一个相当复杂的场景。博客脚本post.php,有一个表单来提交评论文章标题,被点击并显示给用户。这是脚本的表单部分:
$id = (int) $_GET['id']; //at beginning of script - obtained from title clicked on by user
<form action="post.php?id=<?php echo $id; ?>" method="post">
<?php
if ($logged == 'No') {
$guest = 'Yes';
?>
<label for="name"><i class="fa fa-user"></i> Your Name:</label>
<input type="text" name="author" value="" class="form-control" required />
<br />
<?php
}
?>
<label for="input-message"><i class="fa fa-comment"></i> Comment: (255 character limit including spaces and punctuation)</label>
<textarea id="mylmnt" maxlength="255" name="message" rows="5" class="form-control" required></textarea>
<b><span id="mylmntLeft"></span></b>
<br />
这是脚本的db插入部分:
$runq = mysqli_query($connect, "INSERT INTO `comments` (`post_id`, `comment`, `user_id`, `date`, `time`, `guest`) VALUES ('$row[id]', '$comment', '$author', '$date', '$time', '$guest')");
echo '<div class="alert alert-success">Your comment has been successfully posted</div>';
这之后是我的html模板发送电子邮件给订阅者,一个新的评论已被张贴。一切正常。在我的模板后面有这样一行:
}
echo '<meta http-equiv="refresh" content="0;url=post.php?id=' . $row['id'] . '#comments">';
这将刷新post.php页面并向下跳转到#comment部分。我的问题是刚刚发布的新评论没有显示。到目前为止,看到它的唯一方法是点击浏览器重新加载按钮。我知道要完成我需要的东西,我必须使用 AJAX 和jquery,但我不知道如何做到这一点,以及事情应该去哪里。我已经阅读和研究了许多教程和代码帖子,但没有一个能帮助我开始解决问题。
reload(); reload(true);但没有成功正如我已经说过的,我不知道如何使用 AJAX 和jquery来解决这个问题。
1条答案
按热度按时间jum4pzuy1#
好吧,我的朋友,我密切合作,谁也运行这个博客软件,已经找到了解决我/我们的问题。但首先让我说,核心文件,我从来没有显示提供了所有的输入卫生,所以脚本实际上是相当安全的。问题的答案是这样的。
<form action="post.php?id=<?php echo $id, $_SERVER['PHP_SELF']; ?>" method="post">
新评论现在在提交后显示。感谢所有试图帮助的人。