我有一個簡單的表單,提交按鈕(如下)。我試圖讓用戶在文本框中輸入,然後當他/她點擊提交時,頁面將刷新並回顯他們在div中鍵入的內容。用戶輸入的數據在回顯前存儲在數據庫中。問題是,當我點擊提交,輸入不立即顯示。我必須點擊刷新才能顯示,當我瀏覽器給我一個彈出窗口(safari),詢問是否重新發送數據。這會導致在數據庫中插入重複的數據。我有一種感覺,我需要使用JavaScript,我也可以使它更優雅與淡入淡出,但我不知道如何做到這一點。我想我問的是否有一種方法來使用JavaScript來接收用戶的文本並將其插入到MySQL數據庫中,並且在提交被點擊後全部在1或0(優先)刷新之後顯示它。感謝ajax顯示提交文字
這裏是我的代碼:
<form method='POST' action='index.php'>
<input type='text' name='text' id='text'>
<input type ='submit' value='submit' name='submit'>
</form>
<?php
$input=$_POST['text'];
$put=mysql_query("INSERT INTO table VALUES ('$input')");
echo "<div id='area'>";
//i connect to the DB and echo out the data here
echo "</div>";
?>
是您正在運行的完整且準確的代碼,因爲我沒有發現任何奇怪的內容,假設'index.php'是腳本。然而,爲什麼你需要刷新數據才能顯示,可能是數據第一次沒有插入。您是否在PHP代碼中嘗試執行'echo $ input;',在分配了$ input的位置的第二行? – Abhay