私は送信ボタン付きの簡単なフォーム(下記)を持っています。私は、ユーザーがテキストボックスに入力できるようにしようとしています。その後、投稿をクリックするとページが更新され、divに入力した内容がエコーアウトされます。ユーザーが入力するデータは、エコーされる前にデータベースに格納されます。問題は、submitをクリックすると、入力がimmediatlyに表示されないということです。私はそれを表示するためにリフレッシュをクリックしなければならない時、私のブラウザは私にポップアップ(サファリ)データを再送するように要求します。これにより、重複したデータがDBに挿入されます。私はjavascriptを使う必要があると感じているし、fadeInを使ってよりエレガントにすることもできますが、それをどうやって行うのか分かりません。私は、ユーザーのテキストを取得し、それをmysql DBに挿入するためにjavascriptを使用する方法があるかどうかを尋ねていると思います。サブミットが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コードで、$ inputがどこに割り当てられたのか、2行目で 'echo $ input;'を実行しようとしましたか? – Abhay