2016-04-29 87 views
0

增加和減少列在每個頁面增加更新 並且不應該發生它應該只發生在按鈕單擊我應該怎麼做? 在這裏,我已經實現了給予好評和downvote機制每頁刷新增加和減計數?

//給予好評和downvote

<?php 




if(isset($_POST['up'])) 

{ 
$string= $_POST['up']; 
$d= substr($string,0,2); 
$t = ltrim($d, '0'); 




$id1=$id; 
$conn1=new mysqli('localhost','root','','forum') or die(mysql_error()); 
$stmt1= $conn1->prepare("UPDATE messages SET upcount = (upcount+1) WHERE mid ='".$t."' "); 



$stmt1->execute(); 

     $stmt1->close(); 



} 

if(isset($_POST['down'])) 

{ 
$string1= $_POST['down']; 
$d1= substr($string1,0,2); 
$t1 = ltrim($d1, '0'); 
echo $t1; 
$conn1=new mysqli('localhost','root','','forum') or die(mysql_error()); 
    $queryd=mysqli_query($conn1,"SELECT upcount FROM messages where messages.mid='".$t1."'"); 
    $row=mysqli_fetch_assoc($queryd); 
    $up=$row['upcount']; 

    if($up>0) 



$id1=$id; 
$conn1=new mysqli('localhost','root','','forum') or die(mysql_error()); 
if($up>0) 
{ 
$stmt2= $conn1->prepare("UPDATE messages SET downcount = (downcount+1) WHERE mid ='".$t1."'"); 
} 


$stmt2->execute(); 

     $stmt2->close(); 

     $conn1->close(); 

} 
+0

當請求頁面刷新時,瀏覽器是否要求將「表單數據」重新發送到服務器? –

+0

是的upcount增加了兩次,但即使頁面刷新,我也希望它一次。但是頁面刷新後它工作正常。 – Theon

+0

然後它是預期的行爲。 「重新發送」實際上意味着另一個POST。另請參閱http://stackoverflow.com/questions/4327236/stop-browsers-asking-to-resend-form-data-on-refresh –

回答

0

剛剛更新查詢後,你應該重定向到同一頁面,這將清空從發佈的數據http標頭

header('location:'$_SERVER['PHP_SELF']);