2013-04-06 61 views
0

在這段代碼中一切工作正常,它從會話中取用戶名並通過單選按鈕完全插入數據,唯一的問題是它在我重新加載頁面時自動再次插入數據。自動插入數據

if(isset($_SESSION['user_id'])&&isset($_POST['r1'])&&isset($_POST['r2'])&&isset($_POST['r3'])&&isset($_POST['r4'])&&isset($_POST['suggestion'])&&isset($_POST['submit'])){ 
    $user=$_SESSION['user_id']; 
    $r1=$_POST['r1']; 
    $r2=$_POST['r2']; 
    $r3=$_POST['r3']; 
    $r4=$_POST['r4']; 
    $suggestion=$_POST['suggestion']; 
    $query_insert="INSERT INTO `wp_feedback` VALUES ('".$user."','".$r1."','".$r2."','".$r3."','".$r4."','".$suggestion."')"; 

    if($query_run=mysql_query($query_insert)){ 
    echo "alright"; 
    } 
    else { 
     echo "not inserted"; 
     } 

} 

在此先感謝。

+4

當您在插入後重新加載頁面時,瀏覽器會重複POST請求。爲了避免這種行爲,你應該在插入數據庫後將用戶重定向到一個視圖頁面。 – barbashov 2013-04-06 09:09:30

+0

第一次插入時重定向 – 2013-04-06 09:09:53

+1

作爲一個(相當重要的)附註,請閱讀[SQL注入](http://en.wikipedia.org/wiki/SQL_injection#Incorrectly_filtered_escape_characters)。 – 2013-04-06 09:12:18

回答

1

請您嘗試一下,

if(isset($_SESSION['user_id'])&&isset($_POST['r1'])&&isset($_POST['r2'])&&isset($_POST['r3'])&&isset($_POST['r4'])&&isset($_POST['suggestion'])&&isset($_POST['submit'])) 
{ 
     $user=$_SESSION['user_id']; 
     $r1=$_POST['r1']; 
     $r2=$_POST['r2']; 
     $r3=$_POST['r3']; 
     $r4=$_POST['r4']; 
     $suggestion=$_POST['suggestion']; 
     $query_insert="INSERT INTO wp_feedback VALUES ('".$user."','".$r1."','".$r2."','".$r3."','".$r4."','".$suggestion."')"; 


    if(isset($_POST['submit'])) 
    { 

     if($query_run=mysql_query($query_insert)) 
     { 
      echo "alright"; 
      header('Location:setlocation.php'); 
     } 
     else 
     { 
      echo "not inserted"; 
     } 
    } 
} 

插入查詢後設置標題位置...

1

將重定向在腳本的BUTTOM因爲我覺得重新加載頁面仍然 執行您的表單提交

if(isset($_SESSION['user_id'])&&isset($_POST['r1'])&&isset($_POST['r2'])&&isset($_POST['r3'])&&isset($_POST['r4'])&&isset($_POST['suggestion'])&&isset($_POST['submit'])){ 
    $user=$_SESSION['user_id']; 
    $r1=$_POST['r1']; 
    $r2=$_POST['r2']; 
    $r3=$_POST['r3']; 
    $r4=$_POST['r4']; 
    $suggestion=$_POST['suggestion']; 
    $query_insert="INSERT INTO `wp_feedback` VALUES ('".$user."','".$r1."','".$r2."','".$r3."','".$r4."','".$suggestion."')"; 

    if($query_run=mysql_query($query_insert)){ 
    echo "alright"; 
    } 
    else { 
     echo "not inserted"; 
     } 
header('Location: redirect url'); 
} 
0
if(isset($_SESSION['user_id'])&&isset($_POST['r1'])&&isset($_POST['r2'])&&isset($_POST['r3'])&&isset($_POST['r4'])&&isset($_POST['suggestion'])&&isset($_POST['submit'])){ 
    $user=$_SESSION['user_id']; 
    $r1=$_POST['r1']; 
    $r2=$_POST['r2']; 
    $r3=$_POST['r3']; 
    $r4=$_POST['r4']; 
    $suggestion=$_POST['suggestion']; 
    $query_insert="INSERT INTO `wp_feedback` VALUES ('".$user."','".$r1."','".$r2."','".$r3."','".$r4."','".$suggestion."')"; 

    if($query_run=mysql_query($query_insert)){ 
    echo "alright"; 
    header("Location:someurl");//This will redirect into some other pages and solve your problem 
    } 
    else { 
     echo "not inserted"; 
     } 

} 
0
if(isset($_SESSION['user_id'])&&isset($_POST['r1'])&&isset($_POST['r2'])&&isset($_POST['r3'])&&isset($_POST['r4'])&&isset($_POST['suggestion'])&&isset($_POST['submit'])){ 
$user=$_SESSION['user_id']; 
$r1=$_POST['r1']; 
$r2=$_POST['r2']; 
$r3=$_POST['r3']; 
$r4=$_POST['r4']; 
$suggestion=$_POST['suggestion']; 
$query_insert="INSERT INTO `wp_feedback` VALUES ('".$user."','".$r1."','".$r2."','".$r3."','".$r4."','".$suggestion."')"; 

if($query_run=mysql_query($query_insert)){ 
echo "alright"; 
} 
else { 
    echo "not inserted"; 
    } 
header('Location:yourpage.php'); 

}