@levviatthan

Как подключить ajax для отправки php формы?

У меня есть комментарии на сайте с отправкой в mysql. На чистом php все работает, но сейчас думаю о подключении ajax и не понимаю, как правильно это сделать. Пересмотрел подобные случаи, не помогло.

index.php
<?php
header("Content-type: text/html; charset=utf-8");
error_reporting(-1);
require_once 'funcs.php';
require_once 'connect.php';
if(!empty($_POST)){
    save_mess();
    header ("Location: {$_SERVER['PHP_SELF']}");
    exit;
}
 $messages=get_mess();

?>






<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<style type="text/css">
	.message{
		border: 1px solid #ccc;
		padding:10px;
		margin-bottom: 20px;
	}
</style>
</head>

<body>
<form action="" method="post">
	<p><label for="name"> Имя</label><br/>
		<input type="text" name="name" id="name">
	</p>
	<p><label for="email"> Email</label><br/>
		<input type="text" name="email" id="email">
	</p>
	<p><label for="text"> Текст</label><br/>
		<textarea name="text" id="text"></textarea> 
	</p>
	<button type="submit"> Написать</button>
</form>

<hr>
<?php if (!empty($messages)): ?>
<?php	foreach ($messages as $message ): ?>
		
<div class="message">
	<p> Автор:<?=$message['name']?> | Дата: <?=$message['datecomm']?></p> 

<div>
	<?=nl2br($message['comment'])?>
</div></div>
<?php endforeach; ?>

<?php endif; ?>


</body>



</html>

funcs.php
<?php

function save_mess(){
    global $mysqli;
    $name=mysqli_real_escape_string($mysqli, $_POST['name']);
     $email=mysqli_real_escape_string($mysqli, $_POST['email']);
     $text=mysqli_real_escape_string($mysqli, $_POST['text']);
    $datetime=date('Y-m-d H:i:s');
    $query=mysqli_query($mysqli,"INSERT INTO tablle(name, email, comment, datecomm) VALUES ('$name', '$email', '$text', '$datetime')");
}
function get_mess(){
	global $mysqli;
   $query2="SELECT * FROM tablle ORDER BY id DESC";
   $res = mysqli_query($mysqli,$query2);
   return mysqli_fetch_all($res, MYSQLI_ASSOC);

    }

в connect.php соединение с базой данных.

Уже практически переписывал все с нуля, по документации jquery пытался все сделать, но комментарии не отправляются в бд и не выводятся.
Возможно ли как-то переделать эти скрипты и встроить ajax или на это основе не получится?
  • Вопрос задан
  • 5454 просмотра
Пригласить эксперта
Ответы на вопрос 1
slo_nik
@slo_nik Куратор тега PHP
Самый простой вариант - использовать jQuery.
Как-то так:
$.ajax({
  url: 'path/to/php/script',
  method: 'POST',
  data: $('form').serialize()
  success: function(response){
    // тут обрабатываете ответ сервера
 }
})
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы