Форум программистов, компьютерный форум, киберфорум
jQuery
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
0 / 0 / 0
Регистрация: 28.02.2017
Сообщений: 30

Связка php и js для отправки данных в бд

16.08.2018, 10:11. Показов 1627. Ответов 39

Студворк — интернет-сервис помощи студентам
Ребята, всем привет.
Я вообще зеленый еще. Отчаялся. Нужна Ваша помощь. Позорно скидывать свой код, но понимаю, что без него вы не поможете.

Мне необходимо отравить данные по ссылке через аякс в бд.
Сами данные уже предопределены, как только зарег. человек зашел на страницу. Есть id человека и id товара.

вот мой кодэ. помогите его допилить и поставить душу мою грешную на путь истинный.

HTML5
1
2
3
<form action="#" method="post">
<a href="#" id="send">Послать данные через аякс</a>
</form>
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
$(document).on("click", "#send", function(){
 
 
                                        var data1 = $arUser['ID'] ;
                                        var data2 = $arResult['ID'] ;
                                        var data3 = true ;
 
                                        $arUser['ID'].val('');
                                        $arResult['ID'].val('');
 
 
                                        $.ajax({
                                            type: 'POST', // метод отправки
                                            data: {user_id:data1, tetka_id:data2, is_bought: data3},
                                            url: window.location.href, // путь к обработчику
                                            cache: false,
                                            dataType: "json",
                                            success: function(){
                                                alert( "У вас списан 1 кредит");
                                            }
                                        });
                                        return false;
                                    })

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
$datauser = intval($_POST['data1']);
                                        $datatetka = intval($_POST['data2']);
                                        $datais = intval($_POST['data3']);
 
                                        if ($datauser && $datatetka && $datais) {
                                        $DB->Query("INSERT INTO `my_zakazi` VALUES('$datauser', '$datatetka', '$datais')");
                                        $kek = $key-1;
                                        $r = new CUser;
                                        $fields = Array(
                                        "UF_KEY" => $kek,
                                         );
                                         $r->Update($x, $fields);
                                         $strError .= $r->LAST_ERROR;
                                        }
Добавлено через 7 минут
У меня получилось это сделать через форму (метод пост), без аякса. Но хотелось бы через аякс. Категорически не согласен с перезагрузкой страницы.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
16.08.2018, 10:11
Ответы с готовыми решениями:

Php-скрипт для отправки данных на сервер
Добрый день, в php профан, не получается сделать никак по заданию. часть сделал, другую никак. Прилагаю код в архиве. (почему-то не...

PHP код для отправки данных в site.ru/text.txt
Есть 3 текстовых поля. Как сделать так, чтобы все введённые данные отправлялись в файл .txt . Подскажите плз... Нужно чтобы они при...

Форма отправки данных на e-mail PHP и JavaScript
Здравствуйте, всех с наступившим 2016, в новогодние праздники хочу попробовать работу формы отправки которая работает без перезагрузки...

39
 Аватар для Уф
890 / 725 / 447
Регистрация: 13.07.2015
Сообщений: 2,277
16.08.2018, 12:16
ну так просто убери теги формы и оставь одну ссылку
0
0 / 0 / 0
Регистрация: 28.02.2017
Сообщений: 30
16.08.2018, 14:09  [ТС]
ноль эффекта). я думаю у меня в самом коде 100500 ошибок
0
18 / 16 / 3
Регистрация: 30.09.2017
Сообщений: 63
16.08.2018, 17:38
Через аякс отправляешь user_id, tetka_id, is_bought, а на сервере ловишь data1, data2, data3
Плюс зачем-то записан dataType: "json",, хотя на сервере работа идёт не с json
1
0 / 0 / 0
Регистрация: 28.02.2017
Сообщений: 30
16.08.2018, 17:48  [ТС]
Хорошо. json - это я убрал.
Можете расписать с переменными.

я точно знаю, что при открытии карточки товара система уже знает, что есть $arUser['ID'] и $arResult['ID'] и определяет их. Как мне эти переменные передать через скрипт в обработку?
0
18 / 16 / 3
Регистрация: 30.09.2017
Сообщений: 63
16.08.2018, 17:53
Запись
JavaScript
1
data: {user_id:data1}
аналогична
HTML5
1
<input name="user_id" value="data1" />
Так почему тогда в php записано
PHP
1
$datauser = intval($_POST['data1']);
, а не
PHP
1
$datauser = intval($_POST['user_id']);
?

И так со всеми переменными
1
0 / 0 / 0
Регистрация: 28.02.2017
Сообщений: 30
16.08.2018, 18:03  [ТС]
таак?
пока никакого эффекта

HTML5
1
2
3
4
5
6
7
8
<form action="#" method="post">
 
                                    <a href="#" id="send">Послать данные через аякс</a>
                                    <input name="user_id" value="data1" />
                                    <input name="tetka_id" value="data2" />
                                    <input name="is_bought" value="data3" />
 
                                    </form>
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
$(document).on("click", "#send", function(){
 
 
                                        var data1 = $arUser['ID'] ;
                                        var data2 = $arResult['ID'] ;
                                        var data3 = true ;
 
                                        $arUser['ID'].val('');
                                        $arResult['ID'].val('');
 
 
                                        $.ajax({
                                            type: 'POST', // метод отправки
                                            data: {user_id:data1, tetka_id:data2, is_bought: data3},
                                            url: window.location.href, // путь к обработчику
                                            cache: false,
                                            success: function(){
                                                alert( "У вас списан 1 кредит");
                                            }
                                        });
                                        return false;
                                    })
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
$datauser = intval($_POST['user_id']);
                                        $datatetka = intval($_POST['tetka_id']);
                                        $datais = intval($_POST['is_bought']);
 
                                        if ($datauser && $datatetka && $datais) {
                                        $DB->Query("INSERT INTO `my_zakazi` VALUES('$datauser', '$datatetka', '$datais')");
                                        $kek = $key-1;
                                        $r = new CUser;
                                        $fields = Array(
                                        "UF_KEY" => $kek,
                                         );
                                         $r->Update($x, $fields);
                                         $strError .= $r->LAST_ERROR;
                                        }
0
18 / 16 / 3
Регистрация: 30.09.2017
Сообщений: 63
16.08.2018, 18:07
html менять не надо, это для понимания

Далее я бы на рабочем сайте заглянула в консоль в браузере (если там есть ошибки в другой части js - высветятся, они могут мешать). И если с js всё в порядке, распечатала бы в php $_POST и глянула бы в той же консоли, что возвращается в результате аякс-запроса
1
18 / 16 / 3
Регистрация: 30.09.2017
Сообщений: 63
16.08.2018, 21:11
Кликнула по ссылке, получила
JavaScript
1
ReferenceError: $arUser is not defined
Определите этот $arUser
0
0 / 0 / 0
Регистрация: 28.02.2017
Сообщений: 30
17.08.2018, 10:31  [ТС]
Татьяна,

я сделал так

PHP
1
2
$x = $arUser['ID'];
                                    $y = $arResult['ID'];
JavaScript
1
2
3
4
5
6
  var data1 = ("'.$x.'");
                                        var data2 = ("'.$y.'");
                                        var data3 = true;
 
                                        $x.val('');
                                        $y.val('');
продолжил ругаться.

Добавлено через 1 минуту
я думаю, что надо поменять на
JavaScript
1
jQuery("'.$x.'").val('');
верно?
0
18 / 16 / 3
Регистрация: 30.09.2017
Сообщений: 63
17.08.2018, 10:47
Нет, надо чем-то заполнить $arUser. И проверить видимость этого массива (если он не глобальный, то передать в функцию параметром)
0
0 / 0 / 0
Регистрация: 28.02.2017
Сообщений: 30
17.08.2018, 10:52  [ТС]
подождите подождите. эта переменная заполнена. просто ранее я ее определил как $x, чтобы короче писать.

если я введу
PHP
1
echo $x
то он выведет мне 1, (id моего профиля) сейчас ошибка

Uncaught Error: Syntax error, unrecognized expression: '.$x.'
0
18 / 16 / 3
Регистрация: 30.09.2017
Сообщений: 63
17.08.2018, 11:02
echo??? То есть она "заполнена" в php? Так javascript о ней вообще ничего не знает
Заполняйте в javascript

Добавлено через 2 минуты
Проще сформировать в php json и вывести его на страницу
0
0 / 0 / 0
Регистрация: 28.02.2017
Сообщений: 30
17.08.2018, 11:03  [ТС]
PHP
1
var data1 = ("'.$x.'");
нет?
0
18 / 16 / 3
Регистрация: 30.09.2017
Сообщений: 63
17.08.2018, 11:05
Нет. На странице, в html и js, данных всё ещё нет
(Если нужно одно id, то его и выводить туда, без всего массива в json)
0
0 / 0 / 0
Регистрация: 28.02.2017
Сообщений: 30
17.08.2018, 11:13  [ТС]
ой, а посмотрите сейчас. он перестал ругаться и вывел в коде вроде нормально.

Добавлено через 17 секунд
я немного переделал
0
18 / 16 / 3
Регистрация: 30.09.2017
Сообщений: 63
17.08.2018, 11:16
"Сайт находится в разработке"
Где смотреть?
0
0 / 0 / 0
Регистрация: 28.02.2017
Сообщений: 30
17.08.2018, 11:18  [ТС]
да. мой косяк. открыл
0
18 / 16 / 3
Регистрация: 30.09.2017
Сообщений: 63
17.08.2018, 11:50
JavaScript
1
2
jQuery(12).val('');
jQuery(16).val('');
Это зачем?
А в остальном js работает
0
0 / 0 / 0
Регистрация: 28.02.2017
Сообщений: 30
17.08.2018, 11:53  [ТС]
понял. сейчас уберу. скажите, а путь к обработчику правильно указан?
просто данные не уходят. у меня обработчик на этой же странице

Добавлено через 1 минуту
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
                                        $datauser = intval($_POST['user_id']);
                                        $datatetka = intval($_POST['tetka_id']);
                                        $datais = intval($_POST['is_bought']);
 
                                        if ($datauser && $datatetka && $datais) {
                                        echo 'данные ушли';
                                        $DB->Query("INSERT INTO `my_zakazi` VALUES('$datauser', '$datatetka', '$datais')");
                                        $kek = $key-1;
                                        $r = new CUser;
                                        $fields = Array(
                                        "UF_KEY" => $kek,
                                         );
                                         $r->Update($x, $fields);
                                         $strError .= $r->LAST_ERROR;
                                        }

Сам обработчик
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
17.08.2018, 11:53
Помогаю со студенческими работами здесь

APACHE+PHP+MYSQL+PHPMYADMIN эта связка актальна для динамического сайта?
APACHE+PHP+MYSQL+PHPMYADMIN эта связка актуальна для динамического сайта сколько искал инфы но так и не нашел человека ...

PHP обработчик для отправки письма
Есть файл index.php в нем форма обратной связи на html и ниже код php для отправки писем. В коде php есть еще одна переменная для...

PHP Скрипт для отправки почты
Админ ПОМОГИ У меня PHP скрипт для отправки письма на почту заборохлил Он РАБОТАЕТ но вложения файлов приходят пустыми 0кб Вот Скрипт ...

Php для отправки формы на почту
напишите плиз код с пояснениями пример надо пользователю заполнить форму: 1.выбрать шкаф (радио кнопка) 2. ввести свой номер...

Элементарная форма отправки и вывод комментариев без использования базы данных HTML и PHP
Доброго времени суток! Нужна помощь! Задача такова - нужно сделать одну страницу html либо php с моментальной отправкой комментариев....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию. 2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO Апнулись до NET10. Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта так и в интерактивном режиме. из сложностей - чисто функциональный подход. Решил. . .
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии. . . .
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru