Приветствую. В базу данных все добавляется. Дамп, думаю, смысла нет прикладывать, там поля id,name,text,date. Я еще таймер повторного ajax-запроса должен был поставить, по идее, но точно не знаю, как он ставится))
<?php
//подключение к БД
function db_join(){
static $db;
if($db===null){
$db = new PDO("mysql:host=localhost;dbname=ajax_jax","root","");
$db->exec("SET USE UTF-8");
}
return $db;
}
//Вставка в БД
function db_query($name,$text){
$bd = db_join();
$sql = "INSERT INTO ajax(name,text) VALUES('$name','$text')";
$query=$bd->prepare($sql);
$query->execute();
$info = $query->errorInfo();
echo $info[2];
return $query->fetchAll();
}
if(count($_POST) > 0){
if(!empty($_POST["name"]) || !empty($_POST["text"])) {
$name = $_POST["name"];
$text = $_POST["text"];
$db = db_query($name,$text);
}
}
//Вывод из БД
function db_read(){
$bd = db_join();
$sql = "SELECT * from `ajax` ORDER BY `date` DESC";
$query=$bd->prepare($sql);
$query->execute();
$info = $query->errorInfo();
echo $info[2];
return $query->fetchAll();
}
$messages = db_read();
?>
Джаваскрипт-файл (в нем косяк, думаю)
function funcSuccess(data){
$(".message").html(data)
}
$(function(){
$("form").submit(function(event){
$.ajax({
url:"content.php",
type: "POST",
data:{name: $(".name").val(),text: $(".text").val()},
dataType:"html",
success: funcSuccess
})
})
})
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Чат</title>
<style>
.message{
border:1px solid #ccc;
padding:10px;
margin-bottom:20px;
}
</style>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.0/jquery.min.js"></script>
</head>
<body>
<form method="post" id="ajaxForm">
<p>
<label for="name" style="margin-right:8px">Имя</label>
<br>
<input type="text" name="name" class="name">
</p>
<p>
<label for="text">Текст</label>
<br>
<textarea name="text" cols="21" rows="5" class="text"></textarea>
<br>
</p>
<input type="submit" class="click">
</form>
<hr>
<?php if(!empty ($messages) ){ ?>
<?php foreach($messages as $message){ ?>
<div class="message">
<p>Автор: <?= $message["name"]?>| Дата: <?= $message["date"]?></p>
<div>Сообщение: <?= nl2br($message["text"])?></div>
</div>
<?php } ?>
<?php } ?>
<script src="script2.js"></script>
</body>
</html>