Хорошо, вот приблизительное.Изменение, которое я внес в поле данных, - это правильный способ отправки данных обратно в виде запроса ajax.
jQuery
$(function () {
$('#msg_form').on('send', function (e) {
e.preventDefault();
$.ajax({
type: 'POST',
url: 'msg.php',
data: msg_text: $('input[name="msg_text"]'), /*And if you're posting back anything else from the page, sender_id possibly, define same way*/
success: function () {
alert('Posted successfully');
}
});
});
});
php Возможно, немного элегантнее, чем нужно, но я не был уверен, как далеко вы продвинулись, и, опять же, он более правильный .
if($_SERVER['REQUEST_METHOD'] == "POST"){
if($_POST['msg_text'] != '' && $_POST['sender_id'] != '' && $_SESSION['u_id'] != ''){
$db_connection = sql_connect();
if($db_connection->connect_errno){
echo "Failed to connect to db";
} else {
$msg_text = $_POST['msg_text'];
$receiver_id = $_POST['sender_id'];
$sender_id = $_SESSION['u_id'];
$sql = "INSERT INTO `massges` (`msg_text`,`sender_id`,`receiver_id`) values('$msg_text', '$sender_id', $receiver_id)";
if($db_connection->query($sql) === true){
echo "Successfully inserted data";
} else {
echo "Data not inserted";
}
}
$db_connection->close();
}
}
//connects to db, return true/false for connection status
function sql_connect(){
return new mysqli("localhost", "user", "password", "database", /*PORT*/ 3306);
}
Если вы также можете сообщить мне о любых ошибках, которые вы получаете, или о том, где они застряли, я, вероятно, могу предложить что-то еще.