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

После загрузки страницы в базу делается запрос и добавляется пустая строка.
А надо чтобы информация добавлялась только по нажатию кнопки <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
Отправка запроса в SQL по нажатию кнопки, а не по загрузке страницы.
    #39691793
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
schastyeПосле загрузки страницыТочно после загрузки? Должен быть какой-то яваскриптовый обработчик события загрузки страницы, который отправляет асинхронный запрос на сервер. Ищите его.


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

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

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

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

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




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

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


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