Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Как сделать историю данных которые были введены в форму на ajax?
Форумы портала PHP.SU » » Вопросы новичков » Как сделать историю данных которые были введены в форму на ajax?

Страниц (1): [1]
 

1. freeman0204 - 24 Октября, 2016 - 17:21:50 - перейти к сообщению
Вот что у меня есть:
Форма:
CODE (html):
скопировать код в буфер обмена
  1. <form action="" class="calc">
  2.                         <input type="text" name="name" placeholder="Имя">
  3.                         <input type="text" name="price" placeholder="Цена">
  4.                         <input type="text" name="url" placeholder="URL(картинки)">
  5.                         <textarea name="description" placeholder="Описание"></textarea>
  6.                         <input type="submit" id="send" value="Отправить">
  7. </form>


CODE (javascript):
скопировать код в буфер обмена
  1. Скрипт к ней на ajax:
  2.  $("#send").click(function() {
  3.         var dannie = $("form").serialize();
  4.         $.ajax({
  5.             url: '/insert.php', // путь к файлу скрипта
  6.             type: 'POST',
  7.             data: dannie,  //передача данных
  8.             success: function(data) {
  9.                if(data) {
  10.                    alert("Новость вставлена");
  11.                } else {
  12.                    alert("Ошибка");
  13.                }
  14.             } //условие success на котором сработает функция data
  15.         })
  16.     });


И php

PHP:
скопировать код в буфер обмена
  1. <?PHP
  2.     $db = mysql_connect('localhost', 'calc', '');
  3.     mysql_select_db('calc');
  4.     mysql_query('SET NAMES utf8');
  5.  
  6.     $ret = true;
  7.  
  8.     mysql_query("INSERT INTO `users` (name, price, url, description) VALUES ('" . $_POST['name'] . "', '" . $_POST['price'] . "', '" . $_POST['url'] . "', '" . $_POST['description'] . "')") or $ret = false;
  9.  
  10.     echo $ret;  
  11. ?>


Данные вводимые в поля формы отправляются в базу. Все ок. Мне нужно вывести на ajax сразу после того как я нажал кнопку отправить поля те что я только что ввел, как бы история. Как это можно сделать, подскажите в какую строну двигатся? Как я понимаю это нужно например вывести в цикле for только что и как?

И еще дополнительный вопрос: я работаю через $_POST а в url все равно пишутся данные, и что странно если я их в ручную удаляю то проверка alert("Новость вставлена"); то работает то нет. И если много раз вводить данные то текста в url очень много. Может его как то очищать нужно после каждого ввода?
2. difight - 24 Октября, 2016 - 17:51:25 - перейти к сообщению
freeman0204 пишет:
Вот что у меня есть:
Форма:
CODE (html):
скопировать код в буфер обмена
  1. <form action="" class="calc">
  2.                         <input type="text" name="name" placeholder="Имя">
  3.                         <input type="text" name="price" placeholder="Цена">
  4.                         <input type="text" name="url" placeholder="URL(картинки)">
  5.                         <textarea name="description" placeholder="Описание"></textarea>
  6.                         <input type="submit" id="send" value="Отправить">
  7. </form>


CODE (javascript):
скопировать код в буфер обмена
  1. Скрипт к ней на ajax:
  2.  $("#send").click(function() {
  3.         var dannie = $("form").serialize();
  4.         $.ajax({
  5.             url: '/insert.php', // путь к файлу скрипта
  6.             type: 'POST',
  7.             data: dannie,  //передача данных
  8.             success: function(data) {
  9.                if(data) {
  10.                    alert("Новость вставлена");
  11.                } else {
  12.                    alert("Ошибка");
  13.                }
  14.             } //условие success на котором сработает функция data
  15.         })
  16.     });


И php

PHP:
скопировать код в буфер обмена
  1. <?PHP
  2.     $db = mysql_connect('localhost', 'calc', '');
  3.     mysql_select_db('calc');
  4.     mysql_query('SET NAMES utf8');
  5.  
  6.     $ret = true;
  7.  
  8.     mysql_query("INSERT INTO `users` (name, price, url, description) VALUES ('" . $_POST['name'] . "', '" . $_POST['price'] . "', '" . $_POST['url'] . "', '" . $_POST['description'] . "')") or $ret = false;
  9.  
  10.     echo $ret;  
  11. ?>


Данные вводимые в поля формы отправляются в базу. Все ок. Мне нужно вывести на ajax сразу после того как я нажал кнопку отправить поля те что я только что ввел, как бы история. Как это можно сделать, подскажите в какую строну двигатся? Как я понимаю это нужно например вывести в цикле for только что и как?

И еще дополнительный вопрос: я работаю через $_POST а в url все равно пишутся данные, и что странно если я их в ручную удаляю то проверка alert("Новость вставлена"); то работает то нет. И если много раз вводить данные то текста в url очень много. Может его как то очищать нужно после каждого ввода?


После того как добавил новую новость, делай аякс запрос на получение всех новостей и обновляй их, и получишь свою новую новость

 

Powered by ExBB FM 1.0 RC1