2017-02-28 31 views
0

我需要提交表單而不重新加載或者甚至中斷頁面。 「提交」輸入應該只啓動一個執行sql INSERT查詢的php代碼。提交HTML表單而不採取行動

這是我此刻的使用:

echo " 
    <form method='post'> 
     <input type='hidden' visibility='hidden' value='hiddenID' name='userid' id='userid'/> 
     <textarea class='form-control' rows='5' name='newmessage' id='newmessage'></textarea><br/> 
     <input class='btn btn-primary' type='submit' name='submit_chatmessage' value='Send'> 
    </form>"; 


    if($_POST[newmessage] == ""){ 

    } else { 

     date_default_timezone_set('Europe/Berlin'); // CDT 

     $current_stamp = date('Y-m-d H:i:s'); 

     $sql=" 
     INSERT INTO tbl_messages (`tbl_users_ID`, `time`, `message`, `from_admin`) VALUES ($_POST[userid],'$current_stamp','$_POST[newmessage]',1)"; 

     mysql_query($sql); 
     } 
    } 

我已經嘗試過的事情像onsubmit處理或action="javascript:void(0);"但不能正常工作。數據庫中沒有新數據,因此查詢未執行。

如果我正常提交表單,查詢按預期執行,但頁面會重新加載。

+3

考慮使用AJAX –

+1

順便說一句,你有一個真正的不好的潛在的SQL注入問題在這裏 –

+0

我知道這個問題,但我想先解決重裝問題 –

回答

0

你coud說,該PHP腳本啓動時插入成功,如果按鍵得到了已經按:

if((mysql_query($sql)) && (isset($_POST['submit_chatmessage']))) { 
... 
} 

(的mysql_query()應返回true或false)