2013-08-16 50 views
0

我“完成”了我的评论系统,但仍有一个问题。 我写注释,然后重新加载该页面后,再评论被贴再次.. 香港专业教育学院现在GOOGLE了2〜小时,不能找到一些帮助在重新加载页面后提交模块

代码:

<script type="text/javascript"> 
function toggle_comment(id) { 
    var e = document.getElementById(id); 
    if(e.style.display == 'block') 
     e.style.display = 'none'; 
    else 
     e.style.display = 'block'; 
} 

$(function() { 
    $(".submit").click(function() { 

    var comment = $("#comment").val(); 
    var dataString = 'comment=' + comment; 

    if(comment=='') 
    { 
    alert('Please enter at least 30 characters'); 
    return false 
    } 
    else 
    { 
    $.post("pages/comment.php", $("#postcommentform").serialize(), function(data) { }); 
    } 
    }); 
}); 

$(function() { 
    $(".login").click(function() { 

    var username = $("#username").val(); 
    var password = $("#password").val(); 
    var dataString = 'username=' + username + '&password=' + password; 

    if(username=='' || password=='') 
    { 
    alert('Login is incorrect'); 
    return false 
    } 
    else 
    { 
    $.post("pages/login.php", $("#postlogin").serialize(), function(data) { }); 
    } 
    }); 
}); 
</SCRIPT> 

<a class="sitelinksblue" onclick="toggle_comment('commentfield');" style="font-family: Verdana, Geneva, sans-serif;font-size:12px;font-weight:bolder;">+ Kommentar abgeben für Englisch Für Anfänger</a> 
<BR></BR> 
<?php 
if(isset($_POST['submitcomment']) && $_POST['submitcomment']=="Submit") { 
    if((checkComment($_POST['comment']) && strlen($_POST['comment'])>=10 && strlen($_POST['comment'])<=1500)) { 

$sqlCmd = "INSERT INTO topmovies.comments 
     (username,comment,date) 
     VALUES 
     ('".mysql_real_escape_string($_SESSION['user_username'])."','".mysql_real_escape_string($_POST['comment']);."','".$sqlZeit."')"; 
$sqlQry = mysql_query($sqlCmd,$sqlHp); 
?> 
<?PHP 
if (!$sqlQry) { 
    die('Invalid query: ' . mysql_error()); 
}else { echo'Comment Added!'; } 
    }else{ echo'Error! Please enter a comment with 30 or more and 1500 or less characters';} 
} else { } 
?> 
<div id="commentfield" style="display:none"> 
<?PHP 
if (isset($_SESSION['user_username'])){ 
    if($getAdmin->status=='BANN'){ 
     echo $lang['BANN']; 
     exit(); 
    }else{ 
?> 
    <form id="postcommentform" method="POST" action=""> 
     <p>Dein Name: <?PHP echo $_SESSION['user_username']; ?></p> 
     <textarea class="textareacom" name="comment" id="comment" rows="5" cols="20" maxlength="1500" value=""></textarea><br /> 
     <input name="submitcomment" id="submit" type="submit" class="submit" value="Submit" /> 
    </form> 
<?PHP 
    } 
}else{ 
?> 
<FORM id="postlogin" action="" method="POST"> 
<p style="font-weight:bolder;">Um Kommentare schreiben zu können musst du dich zuerst einloggen</p> 
<TABLE> 
    <TR> 
     <TD align="left"><font face="Arial" color="#000000"><?php echo $lang['REGISTER_USERNAME']; ?></TD> 
     <TD align="left"><input type="text" name="username"/></TD> 
    </TR> 
    <TR> 
     <TD align="left"><font face="Arial" color="#000000"><?php echo $lang['REGISTER_PASSWORD']; ?></TD> 
     <TD align="left"><input type="password" name="password"/></TD> 
    </TR> 
    <TR> 
     <TD></TD> 
     <TD align="left"><input type="submit" id="login" value="login" name="submit" /></TD> 
    </TR> 
</TABLE> 
<a href="index.php?s=register"><?php echo $lang['LOGIN_REGISTER']; ?></a> | <a href="index.php?s=forgotpw"><?php echo $lang['FORGOT_PW']; ?></a> 
<BR></BR> 
</FORM> 
<?PHP 
} 
?> 
</div> 
<?php 
$sql=mysql_query("select * from topmovies.comments ORDER BY date DESC"); 
while($row=mysql_fetch_array($sql)) 
{ 
$username=$row['username']; 
$comment=$row['comment']; 
$date=$row['date']; 
$name=$row['name']; 
?> 

<div id="comments" name="comments"> 
<div class="comments" style="padding-top:5px;"> 
     <BR> 
    <table width="746px" style="display:inline;" border="0" cellspacing="0" cellpadding="0"> 
     <tr> 
     <td rowspan="4" valign="top" width="154px" style="padding-right:19px;"><img style="display: block; padding-top:10px;" src="http://img.movie4k.to/img/user_top.gif" height="8px"/> 
     <span class="test"><?php echo $username; ?><br /> 
     <br /> 
     <font size=1><?PHP echo date("d-m-Y", strtotime($date))?></br> 
     <?PHP echo date("H:i", strtotime($date))?></font></span> 
     <img style="display: block; background-color: #AFAFAF; padding-left:10px; padding-right:10px;" src="http://img.movie4k.to/userpics/476090.gif" width=40 height=50/> 
     <img style="display: block;" src="http://img.movie4k.to/img/user_bottom.gif" height="8px"/></td> 
     <td colspan="2" valign="bottom" height="8px"><img style="display: block; padding-top:10px;" src="http://img.movie4k.to/img/comment_top2.gif" height="8px"/></td> 
     </tr> 
     <tr> 
     <td rowspan="2" width="522px" class="comment" valign="top" bgcolor="#E3E3E3" style="padding-left:10px; padding-right:17px;"> 
     <?php echo $comment; ?> 
     </td> 
     <td width="85px" valign="top" bgcolor="#E3E3E3" style="font-size:19px;"> 
     <div style="min-height:50px;"></div> 
     </td> 
     </tr> 
     <tr> 
     <td bgcolor="#E3E3E3" valign="bottom"></td> 
     </tr> 
     <tr> 
     <td colspan="2" valign="top" height="8px"><img style="display: block;" src="http://img.movie4k.to/img/comment_bottom2.gif" height="8px"/></td> 
     </tr> 
    </table> 
</div> 
</div> 
<BR /> 
<?php 
} 
?> 

有谁看到有一个错误是什么错误? 我尝试了1件事,但它不显示回声“添加评论!”

回答

0

用户提交表单后,当php数据被php代码读取后,您可以重新进入另一个页面。这可以解决它。

如果您不想这样做,您可以将帖子与其他人进行比较,看它是否具有相同的内容,非常接近的时间戳和相同的用户。尽管如此,我不会推荐。

+0

我可以做<脚本类型= “文本/ JavaScript的”> window.location.reload();但我不能看到“评论加入!”回声。我不想重定向到其他网站:/ – blaman

+0

您可以尝试在每次提交后立即更改发布数据 – user1780932

0

而不是做

echo'Comment Added!'; 

你可以将用户重定向到同一个页面,从而消除了POST,用它告诉刚刚被添加注释的应用程序一个“标志”的。

例如:

header('Location: myPage.php?commentAdded=true'); //myPage is current page 

然后在页面的其他地方:

if(isset($_GET['commentAdded'])){ 
    echo'Comment Added!'; 
} 
+0

如果“header()”不起作用,您可以这样做: echo““ – domi

+0

多数民众赞成好主意,但不会工作,因为脚本是在comment.php里面,并且我在movie.php里面加入了comment.php,链接是总是不同......因为每部电影都有不同的评论。 – blaman

+0

echo“”; ? – domi