Есть ли способ, чтобы как только пользователь заполнил форму PHP и нажал submit, требуемый запрос выполняется и показан ниже и не перезагружает страницу. (Например, когда пользователь заполняет форму комментариев и комментирует комментарий, он будет немедленно показывать комментарий, как в facebook chat.)
Здесь HTML-код
<html>
<head>
<script src="http://code.jquery.com/jquery-1.10.2.min.js"></script>
</head>
<body>
<div id="container" style="min-height:100px;background:ccc">
</div>
<form action="#" method="post">
<textarea id="textArea" onkeydown="displayResult(event)"></textarea>
</form>
<script>
function sendData()
{
$.ajax({
type: "POST",
url: 'rest.php',
data:"Formdata="+$("#textArea").val(),
success: function (data)
{
$("#container").append("<h3>"+data+"</h3>");
}
});
}
function displayResult(e)
{
var keycode;
if (window.event) keycode = window.event.keyCode;
else if (e) keycode = e.which;
if(e && e.keyCode == 13)
{
sendData();
$("#textArea").val('');
$("#textArea").focus();
}
}
</script>
</body>
</html>
Здесь PHP-код
<?php
$a=$_POST["Formdata"];
$con=mysql_connect("localhost","root","");
mysql_select_db("json",$con);
$x=mysql_query("insert into test(data) values('$a')");
echo $a;
?>
Я рекомендую использовать ajax/javascript и jquery. Это способ делать то, что вы ищете. Его невозможно с только кодированием по серверу. JQuery прост и хорошо документирован.
Введение в ajax и jquery: http://www.w3schools.com/jquery/jquery_ajax_intro.asp
JQuery: jquery.com
Jquery ajax: http://api.jquery.com/jquery.ajax/