Почему добавляется только одно сообщение, а при повторном нажатии на кнопку оно просто перезаписывается? PHP: <? if(isset($_POST)){ $data=date("d-m-y"); $name=mysqli_real_escape_string($con,$poluchatel); $poluchatel=mysqli_real_escape_string($con,$poluchatel); $textarea=mysqli_real_escape_string($con,$textarea); $query_2="Insert into mess(author, poluchatel, mess, data)VALUES('{$_SESSION['id']}', '$poluchatel', '$mess', '$data')"; $result_2=mysqli_query($con,$query_2) or die (mysqli_error($con)); } ?> <div class="mess"> <div> <div class="text"> <?=$data?></div> </div> <div class="flex-shrink"> <div class="font-weight-bold mb-1" ><?=name ?></div> <?=$textarea?> </div> </div>
Потому что автоинкрементального поля нема. --- Добавлено --- Что за хрень у вас с извлечением входных параметров? Совсем не бум-бум что ли?
После обновления страницы, сообщения появляются, при отправке ajax появляется только одно и если отправить ещё сообщение то оно просто перезапишется, а не добавится ниже
покажите как ajax отправляете и ответ принимаете? наверняка через html() выводите - вот и перезаписывается
Вывожу вот так <div id=inform></div> Код (Javascript): $("#submit").click(function(event){ event.preventDefault(); var author=$("#author").val(); var poluchatel=$("#poluchatel").val(); var textarea=$("#textarea").val(); $.ajax({ type:"post", url:"action_messages.php", data:{ author:author, poluchatel:poluchatel, textarea:textarea }, success:function(data){ $("#inform").html(data); } }); });
Ну, как и думал html() заменяет! Попробуйте append(), after(), before() смотря куда добавлять хотите, в начало или в конец Либо в ответе в скрипте php формируйте не одну запись, а весь список