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

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Отправка формы AJAX/PHP

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (4): [1] 2 3 4 »   

> Описание: где ошибка?
Qwertty
Отправлено: 16 Июня, 2015 - 13:39:53
Post Id


Новичок


Покинул форум
Сообщений всего: 33
Дата рег-ции: Июнь 2015  


Помог: 0 раз(а)




Чё-то не могу понять, где косяк. Сверял js-скрипт с одним давно написанным мною рабочим скриптом, вроде всё сходится, там единственное что отправка email, а здесь в базу. Переменные вроде те что надо передаются, а что же не так? Огорчение

CODE (javascript):
скопировать код в буфер обмена
  1.  
  2. <html>
  3. <head>
  4. <script type="text/javascript" src="js/jquery.min.js"></script>
  5.  <script type="text/javascript">
  6.  $(document).ready(function(){
  7.   $('#submit2').click(function(){
  8.   var brand = $("#brand").val();
  9.   var model = $("#model").val();
  10.   var color = $("#color").val();
  11.   var price = $("#price").val();
  12.    
  13.      $.post('http://site/up.php'),
  14.          {
  15.          brand: brand,
  16.          model: model,
  17.          color: color,
  18.          price: price
  19.          },
  20.          function(data){
  21.          }
  22.          );
  23.          });
  24.          });
  25. </script>
  26. </head>
  27. <body>
  28. <div class=one></div>
  29.  
  30. <input type="text" id="brand" placeholder=" | Brand" required /><br>
  31. <input type="text" id="model" placeholder=" | Model" required /><br>
  32. <input type="text" id="color" placeholder=" | Color" required /><br>
  33. <input type="text" id="price" placeholder=" | Price" required /><br>
  34. <button id="submit2">OK</button>
  35.  
  36.  
  37. </body>
  38. </html>
  39.  
  40.  



PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. $connect = mysql_connect('localhost','root','') or die(mysql_error());
  4.  mysql_select_db('auto');
  5.  
  6. if(isset($_POST['submit2'])) {
  7.   $brand = $_POST['brand'];
  8.   $model = $_POST['model'];
  9.   $color = $_POST['color'];
  10.   $price = $_POST['price'];
  11.   $query = mysql_query("INSERT INTO spisok VALUES('','$brand', '$model', '$color', '$price')") or die(mysql_error());
  12.  
  13.  }
  14.  
  15.  
  16.  ?>
  17.  
 
 Top
Viper
Отправлено: 16 Июня, 2015 - 14:06:38
Post Id



Активный участник


Покинул форум
Сообщений всего: 4555
Дата рег-ции: Февр. 2007  
Откуда: Симферополь


Помог: 98 раз(а)




Ошибку надо угадывать?
mysql_* устарели.


-----
Список фильмов с описанием, блекджеком и... для Joomla? -> https://киноархив[dot]com
Демо нового движка для сайта php.su -> php[dot]su, проект на гитхабе
 
 Top
LIME
Отправлено: 16 Июня, 2015 - 14:07:32
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




Ой снова здорова
Может кто и заморочится и увидит ошибку но я нормальный ленивый разраб
Я умею дебажить
Чего и тебе советую
Хром ф12 вкладка сеть
Покажет тебе что куда улетает и что откуда прилетает
Удачи
 
 Top
Qwertty
Отправлено: 16 Июня, 2015 - 14:08:31
Post Id


Новичок


Покинул форум
Сообщений всего: 33
Дата рег-ции: Июнь 2015  


Помог: 0 раз(а)




Viper пишет:
Ошибку надо угадывать?
mysql_* устарели.


так в варианте без ajax же всё работает.
 
 Top
LIME
Отправлено: 16 Июня, 2015 - 14:10:25
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




Viper пишет:
mysql_* устарели.
как вы блин надоели тыкать в это
Не я само собой понимаю
Но
Если не нужны транзакции и препарированые запросы то какая хрен разница???? Пусть себе юзают
Когда понадобится сами поймут что надо переходить
Тем более там как правило запросы по всему коду разбросаны
Даже регулярки не помогут при особо запущенных случаях
Я про замену
 
 Top
Qwertty
Отправлено: 16 Июня, 2015 - 14:22:48
Post Id


Новичок


Покинул форум
Сообщений всего: 33
Дата рег-ции: Июнь 2015  


Помог: 0 раз(а)




LIME пишет:
Ой снова здорова
Может кто и заморочится и увидит ошибку но я нормальный ленивый разраб
Я умею дебажить
Чего и тебе советую
Хром ф12 вкладка сеть
Покажет тебе что куда улетает и что откуда прилетает
Удачи


Одну ошибку таким способом нашёл (лишняя ");"), правда её исправление ни к чему не привело ) данные как не отправлялись так и не отправляются. вроде передаются на php-скрипт, но хз, первый раз дебаггер юзаю, без пол литра не поймёшь
 
 Top
LIME
Отправлено: 16 Июня, 2015 - 14:28:42
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




http://phpfaq[dot]ru/debug/
Прочесть не менее восьми раз
Это не шутка
Быстрее будет восемь раз прочесть чем приставать к людям и днями искать ошибку
Потом еще 4 раза прочесть
http://learn[dot]javascript[dot]ru/devtools
В итоге потратишь еще полчаса но сэкономишь себе уйму времени в будущем
Если через 15кратного чтения не поможет тогда возвращайся
Тогда наверное действительно трудноотлавливаемая ошибка
Ито...навсякий еще по разу прочти и попробуй сам чтоб точно в тебя не плевали
(Добавление)
Подсказка...раз не улетают значит проблема в фронт скрипте
Выше есть ссылка как ее найти
 
 Top
Qwertty
Отправлено: 17 Июня, 2015 - 14:39:58
Post Id


Новичок


Покинул форум
Сообщений всего: 33
Дата рег-ции: Июнь 2015  


Помог: 0 раз(а)




LIME пишет:
http://phpfaq[dot]ru/debug/
Прочесть не менее восьми раз
Это не шутка
Быстрее будет восемь раз прочесть чем приставать к людям и днями искать ошибку
Потом еще 4 раза прочесть
http://learn[dot]javascript[dot]ru/devtools
В итоге потратишь еще полчаса но сэкономишь себе уйму времени в будущем
Если через 15кратного чтения не поможет тогда возвращайся
Тогда наверное действительно трудноотлавливаемая ошибка
Ито...навсякий еще по разу прочти и попробуй сам чтоб точно в тебя не плевали
(Добавление)
Подсказка...раз не улетают значит проблема в фронт скрипте
Выше есть ссылка как ее найти


Ты бы меня ещё в ВУЗ отправил на программиста учиться )) Справочники то я знаю итак что существуют, но форум же создан не для обменом ссылок на них ) Есть конкретный пример и нужна конкретная помощь по нему.
Я не очень пойму в чём ошибка по следующей причине.
1. Если отправка происходит не через AJAX, а средствами HTML, обработчик обрабатывает запрос корректно.
2. Если отправить этот запрос через AJAX, то не обрабатывает.
3. Если отправить этот запрос через AJAX на другой обработчик (Sendmail), всё работает.
Вот я и думаю в чём косяк, переменные ведь те же, но почему-то обработчик не хочет отправлять AJAX-запрос в базу.
 
 Top
LIME
Отправлено: 17 Июня, 2015 - 14:49:13
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




Qwertty а как я тебе отвечу если мне надо дебажить чтоб ответить?
А сам ты вишь отказываешься
Дебажить для тебя не кашерно вишьли
Иди читай
 
 Top
Sail
Отправлено: 17 Июня, 2015 - 15:40:38
Post Id



Участник


Покинул форум
Сообщений всего: 1131
Дата рег-ции: Февр. 2014  


Помог: 57 раз(а)




Qwertty пишет:
Вот я и думаю в чём косяк, переменные ведь те же, но почему-то обработчик не хочет отправлять AJAX-запрос в базу.

А Вы сверьте набор передаваемых Вами в $[dot]post() параметров с описанием функции...
Внимательно сверьте...
 
 Top
IllusionMH
Отправлено: 17 Июня, 2015 - 16:42:39
Post Id



Активный участник


Покинул форум
Сообщений всего: 4254
Дата рег-ции: Февр. 2011  
Откуда: .kh.ua


Помог: 242 раз(а)




Sail, Ха-ха даже форматирование в пером посту помогает понять .
 
 Top
Qwertty
Отправлено: 17 Июня, 2015 - 18:33:07
Post Id


Новичок


Покинул форум
Сообщений всего: 33
Дата рег-ции: Июнь 2015  


Помог: 0 раз(а)




Sail пишет:

А Вы сверьте набор передаваемых Вами в $[dot]post() параметров с описанием функции...
Внимательно сверьте...


Скажите уже конкретно в чём косяк Улыбка
(Добавление)
В общем я уже отчаялся, но внезапно решил проблему.

Проблема была оказывается тут



Сделал так



и заработало.
 
 Top
DeepVarvar Супермодератор
Отправлено: 17 Июня, 2015 - 21:32:16
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




Qwertty пишет:
Сделал так ... и заработало

Нажмите для увеличения


Он всегда isset...
 
 Top
Qwertty
Отправлено: 17 Июня, 2015 - 21:34:19
Post Id


Новичок


Покинул форум
Сообщений всего: 33
Дата рег-ции: Июнь 2015  


Помог: 0 раз(а)




Теперь другой вопрос, как очистить форму после отправки данных? )
(Добавление)
DeepVarvar пишет:
Qwertty пишет:
Сделал так ... и заработало

Нажмите для увеличения


Он всегда isset...


Пока так сойдёт))
 
 Top
Sail
Отправлено: 17 Июня, 2015 - 22:34:18
Post Id



Участник


Покинул форум
Сообщений всего: 1131
Дата рег-ции: Февр. 2014  


Помог: 57 раз(а)




QwerttyВам input'ы и button надо в форму (тег <form method="POST"></form>) обернуть, для начала.
Потом - javascript доисправлять...
Для определённости в начало PHP-кода можете добавить var_dump($_POST);
Увидите, что действительно передаётся...
Для "очистки" формы служит перенаправление, если без js отправляются данные, header("location: url"); с последующим exit();, если это не был последний оператор скрипта..., а если ajax служит посредником, то в success-функции можно очистить заполненные значения, или в случае ошибки - уведомить о наличии таковой.
И в тег button добавить атрибут name="submit2"
И type="submit" и в скрипт, в обработку клика - параметр event (например) и event[dot]preventDefault()
На случай, если js отключен, а обработка требуется - будет осуществляться с перезагрузкой страницы... без ajax...

(Отредактировано автором: 18 Июня, 2015 - 08:51:56)

 
 Top
Страниц (4): [1] 2 3 4 »
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB