2016-12-16 83 views
0

我在這段代碼中有問題。 在此代碼時,我按下保存數據按鈕,將數據插入到數據庫中,但是當我刷新頁面,然後它會自動插入到數據庫中,我應該在我的代碼做後自動停止數據插入到數據庫中,在此先感謝如何阻止數據自動插入到數據庫中php

<?php 
require './database/databaseConnection.php'; 

if(isset($_POST['save_button'])) 
    { 
    if(($_POST['fname']&&($_POST['lname']))) 
     { 
     $first_name=$_POST['fname']; 
     $last_name=$_POST['lname']; 
     $qry="INSERT INTO user_master(first_name,last_name) values('$first_name','$last_name')"; 
     $result= mysql_query($qry)or die(mysql_error()); 
     if($result){   
      echo 'SuccessFully saved data';    
     } 
     else{ 
      echo 'Data Not Inserted!';    
     }  
     } 
    } 
?> 

<!DOCTYPE html> 
<html> 
    <head> 
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
     <title></title> 
     <link rel="stylesheet" href="bootStrap/css/bootstrap.min.css"> 
       <link rel="stylesheet" href="bootStrap/css/bootstrap.css"> 
    </head> 
    <body> 
     <div class="container jumbotron "> 

      <form action="" method="post"> 
      <table class="table-responsive"> 
      <div class="form-group form-inline"> 

        <tbody> 
        <tr> 
       <td> <label for="fname" class="label-info">First Name</label></td> 
       <td><input class="form-control" type="text" name="fname"></td> 

       <td><label for="lname" class="label-info">Last Name</label></td> 
       <td><input class="form-control" type="text" name="lname"></td> 

       </tr>  
        </tbody> 

      </div>  
      </table>    
       <button type="submit" name="save_button" class="btn-success" >Save Data</button> 
    </form>    

     </div> 

    </body> 
</html> 
+1

你可以使用一個唯一的密鑰,然後忽略模糊 – 2016-12-16 02:44:47

+0

你是通過'ajax'發送數據嗎? –

+0

此代碼在刷新時不會自動保存。請張貼實際的代碼。其次,你不應該使用mysql_ * – e4c5

回答

2

發生這種情況,因爲你的行動是空

更新您的行動,這

這將是安全的
action="<?php echo $_SERVER['PHP_SELF']; ?>" 
1

製作一個單獨的php文件,將數據插入數據庫。在表單動作屬性中給出這個。

<form action="insert.php" method="post"> 
    ...... 
    ...... 
</form> 

insert.php文件

<?php 
require './database/databaseConnection.php'; 

if(isset($_POST['save_button'])) 
    { 
    if(($_POST['fname']&&($_POST['lname']))) 
     { 
     $first_name=$_POST['fname']; 
     $last_name=$_POST['lname']; 
     $qry="INSERT INTO user_master(first_name,last_name) values('$first_name','$last_name')"; 
     $result= mysqli_query($qry)or die(mysql_error()); 
     if($result){   
      echo 'SuccessFully saved data';    
     } 
     else{ 
      echo 'Data Not Inserted!';    
     }  
     } 
    } 
?> 

您可以使用header(),如果你想重定向到上一頁。因此不允許的insert.php

header("location: your_page.php"); 

清爽的,如果你使用預處理語句 Take a look

+0

是的,這是應該如何完成的。但你仍然在促進mysql_ * :) – e4c5