我试图创建一个使用 facebook 的评论系统。我使用 php 和 jquery。我的代码完美无缺。用户在 textarea、comment_1 中写一些东西并发布它。Comment_1 成功出现在文本区域的正下方。如果我刷新页面,我可以看到在开头发布的 comment_1。如果我尝试发布新评论 (comment_2),comment_2 会出现在 comment_1 下,comment_1 会再次出现在 comment_2 下。例如:
开头: comment_1
刷新并发布新评论后:comment_1 / comment_2 comment_1 如您所见,刷新页面后,它将comment_2 放在comment_1 下方,但也将comment_1 保留在它们上方(例如将comment_1 保留在其“内存”中)。如果我刷新页面,我会得到comment_2 comment_1,这是我最终想要的,但是我怎么能不刷新呢?这是我的代码:
墙.php
<?php
<script>
$(document).ready(function(){
$("#comment_process").click(function(){
if($("#comment_text").val() != ""){
$.post("comments.php?action=post", { comment: $("#comment_text").val() }, function(data) {
$(".comments").html(data);
$("#comment_text").val("");
});
}
});
});
</script>
<div class="comment_container">
<div class="comment_form">
<textarea id="comment_text" ></textarea>
<input type="button" id="comment_process" value="Post"/>
</div>
</div>
<?php include_once("comments.php");?>
<div class="comments"> </div>
?>
这是comments.php
<?php
function getComments(){
$comments = "";
// use desc order by date in order to display comments by date
$sql = mysql_query("SELECT * FROM comments ORDER BY comment_date DESC ") or die (mysql_error());
if(mysql_num_rows($sql) == 0){
$comments = " <div class='each_comment'> There are no comments ...</div> ";
}else{
while ($row= mysql_fetch_assoc($sql)){
$comments .= "<fieldset> Stefanos Says : <div class='each_comment'> <small><em> ".$row['comment_date']." </em></small><br />".$row['comment']."</div></fieldset> </br>";
}
}
return $comments;
}
function postComments($comment){
$comment = mysql_real_escape_string(strip_tags($comment));
$sql = mysql_query(" INSERT INTO `comments` (comment, comment_date) VALUES ('".$comment."', now()) ");
return true;
}
if((isset($_GET['action'])) && ($_GET['action'] == "post")) {
postComments($_POST['comment']);
}
echo getComments();
?>