Гость
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Отправка запроса в SQL по нажатию кнопки, а не по загрузке страницы. / 7 сообщений из 7, страница 1 из 1
22.08.2018, 14:37
    #39691784
schastye
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отправка запроса в SQL по нажатию кнопки, а не по загрузке страницы.
Добрый день!

После загрузки страницы в базу делается запрос и добавляется пустая строка.
А надо чтобы информация добавлялась только по нажатию кнопки <input type="submit" value="Добавить"/>
Подскажите пожалуйста как это сделать?


Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
<body>
    <H1></H1>
 <form method="POST" action="">
  <input name="name" type="text" placeholder="Имя"/>
  <input name="text" type="text" placeholder="Текст"/>
  <input type="submit" value="Добавить"/>
 </form>
</body>
</html>

<?php
// Переменные с формы
$name = $_POST['name'];
$text = $_POST['text'];

// Параметры для подключения
$db_host = '****************'; 
$db_user = '****************'; 
$db_password = '****************'; 
$db_base = '****************'; 
$db_table_to_show = '****************';  

//Соединяемся с базой данных используя наши доступы:
$mysqli = new mysqli($db_host,$db_user,$db_password,$db_base);

//Далее напишем наш запрос для записи в базу данных и запишем его в переменную.
$mysqli->query("INSERT INTO `mytable`(`name`, `text`) VALUES ('$name','$text')");
...
Рейтинг: 0 / 0
22.08.2018, 14:45
    #39691793
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отправка запроса в SQL по нажатию кнопки, а не по загрузке страницы.
schastyeПосле загрузки страницыТочно после загрузки? Должен быть какой-то яваскриптовый обработчик события загрузки страницы, который отправляет асинхронный запрос на сервер. Ищите его.


schastyeА надо чтобы информация добавлялась только по нажатию кнопки <input type="submit" value="Добавить"/>
Подскажите пожалуйста как это сделать?Перекиньте обработчик с события загрузки на событие нажатия кнопки.

PS: PHP тут никаким боком, он не знает ни про страницы, ни про их загрузку, ни про кнопки.
...
Рейтинг: 0 / 0
22.08.2018, 14:58
    #39691811
schastye
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отправка запроса в SQL по нажатию кнопки, а не по загрузке страницы.
vkle, это весь код :(
Насколько я понял последняя строка запрос и есть обработчик.

После нажатия кнопки строка с данными тоже добавляется, но и просто при загрузке страницы происходит добавление пустой строки.

Получается срабатывает и кнопка и загрузка.
...
Рейтинг: 0 / 0
22.08.2018, 16:13
    #39691900
Dadont
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отправка запроса в SQL по нажатию кнопки, а не по загрузке страницы.
schastye,
добавьте if($name) перед mysqli
...
Рейтинг: 0 / 0
22.08.2018, 16:15
    #39691902
Dadont
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отправка запроса в SQL по нажатию кнопки, а не по загрузке страницы.
schastye,
перед mysqli->query
...
Рейтинг: 0 / 0
22.08.2018, 18:52
    #39691998
schastye
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отправка запроса в SQL по нажатию кнопки, а не по загрузке страницы.
Dadont,

Спасибо!
Я так понял, что проходит проверка переменной пустая она или нет. Если не пустая то команда выполняется?
...
Рейтинг: 0 / 0
22.08.2018, 19:53
    #39692008
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отправка запроса в SQL по нажатию кнопки, а не по загрузке страницы.
Вот же ж, не врубился сразу.
schastye, не путайте теплое с мягким. "Холостой" запрос выполняется ещё во время формирования HTML-кода страницы на сервере, задолго до загрузки страницы в браузере.
Ваше "нажатие кнопки" есть суть отправки формы методом POST.
Вероятно, есть смысл добавить проверку присутствия входных переменных.
Код: php
1.
2.
3.
if(isset($_POST['name']) && isset($_POST['text'])) {
    // здесь код проверки входных данных и записи в базу
}




schastyeи добавляется пустая строкаСтрого говоря, даже если сделаете указанную выше проверку, но не будете проверять значения переменных, можете запросто нахватать пустых строк. Например, если пользователь "нажмет кнопку" при пустых полях формы. При таком раскладе во входных переменных будет пустая строка.

И ещё, включите вывод/отображение сообщений об ошибках. Сейчас он выключен, вероятно. Иначе Вы увидели бы, что в строке $name = $_POST['name']; используется несуществующий индекс 'name' при обращении к массиву $_POST и тогда Ваш вопрос был бы совсем другим.
...
Рейтинг: 0 / 0
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Отправка запроса в SQL по нажатию кнопки, а не по загрузке страницы. / 7 сообщений из 7, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]