|
7 / 17 / 0
Регистрация: 30.09.2021
Сообщений: 232
|
||||||
Как сделать обновление страницы сайта после нажатия кнопки submit в формах30.05.2024, 15:27. Показов 9617. Ответов 111
У меня на странице сайта, который я пишу для себя, 3 формы. Я хочу, чтобы после нажатия в форме кнопки submit происходило обновление страницы и на странице выводился введённый в форму контент.
Я нашла в интернете образец и по аналогии сделала код, но он не работает. Может быть, кто-то знает, почему? Теорию ajax в jquery я просмотрела, но не всё поняла, видимо, поэтому и сделала где-то ошибки. Мой код в файле vopros.php частично для одной из форм:
http://host2.localhost/vv2/vopros.php?v=28 где 28 - это $id_vopr В таком виде после нажатия кнопки submit обновления не происходит и ответ не выводится на странице, приходится вручную перезагружать страницу и только тогда ответ выводится. Значит, или в форме или в скрипте у меня ошибки. Помогите, пожалуйста, их найти. Или, может быть, есть какой-то другой способ для обновления страницы после нажатия кнопки submit?
0
|
||||||
| 30.05.2024, 15:27 | |
|
Ответы с готовыми решениями:
111
Как получить текст страницы сайта которая открывается после нажатия кнопки
PHP БД отправка данных в phpmyadmin после нажатия кнопки ajax submit |
|
2605 / 1509 / 689
Регистрация: 23.08.2015
Сообщений: 3,841
|
||
| 31.05.2024, 14:40 | ||
|
1
|
||
|
7 / 17 / 0
Регистрация: 30.09.2021
Сообщений: 232
|
|
| 31.05.2024, 14:44 [ТС] | |
|
ft4l, Единственное, где он может ввести id_vopr случайно неправильно - это в строке поиска. Ну, введёт. Потом у меня в файле по этому id_vopr достаются данные из БД, а такого id_vopr там нет, значит на странице в лучшем случае выведется пустая болванка, а скорее всего не выведется ничего и ошибка. Это если он зарегистрированный пользователь и авторизовался. Ну и бог с ним, сам виноват. Вернётся на предыдущую страницу и больше не будет экспериментировать, а использует панель навигации.
Если он не зарегистрирован, он вообще не сможет войти в форум, а вероятность случайного угадывания такого адреса целиком - мизерная. А вообще в злоумышленников, которые просто любят без материальной заинтересованности взламывать сайты, я не верю. И мой сайт взламывать некому и незачем. Я завтра попробую вынести post-запрос в начало файла. Может, поможет...
0
|
|
|
2605 / 1509 / 689
Регистрация: 23.08.2015
Сообщений: 3,841
|
||
| 31.05.2024, 14:45 | ||
|
Это называется делегирование, основанное на том, что все события всплывают по DOM-дереву до самого корня, если вы их где-то не остановите через event.stopPropagation().
0
|
||
|
Невнимательный
|
||
| 31.05.2024, 14:49 | ||
|
вообще js-библиотеки форума vbulletin юзают вроде yui библиотеку от Yahoo, для кроссбраузерности ... там IE всякие чтобы поддерживать и прочее jquery вроде тоже каким-то боком прикручена... но скорее без неё сами эти ajax-добавления... хотя не копал до такого Сам принцип и так приблизительно понятен... данные/форма шлётся ajax-ом обработчику, в зависимости от того что отдаст обработчик может js-ом выводится сообщение о ошибке или добавляться контент. ... как например новвые сообщения в список сообщений
0
|
||
|
7 / 17 / 0
Регистрация: 30.09.2021
Сообщений: 232
|
|
| 31.05.2024, 14:50 [ТС] | |
|
sad67man, Вы не поняли. Мне здесь логин нужен, чтобы при выведении ответа на странице указать логин его автора и дату.
Но у меня в сессии есть id вошедшего пользователя и я могу по нему в этом файле достать его логин из БД. Завтра займусь.
0
|
|
|
Невнимательный
|
|
| 31.05.2024, 14:53 | |
|
запрост POST на
https://www.cyberforum.ru/newreply.php?do=postreply&t=3169832 в консоли показало браузера данные запроса А консоль в которй вя php запускал это виндовая консоль/терминал ) aka CMD.EXE
0
|
|
|
7 / 17 / 0
Регистрация: 30.09.2021
Сообщений: 232
|
|
| 31.05.2024, 14:56 [ТС] | |
|
HP Fedora, не лежу
Сессиями я пользоваться умею.А что здесь не так: <input type="hidden" name="id_vopr" value="', $id_vopr , '"/> И если можно user_c тоже передать так же, то у меня будет 2 hidden с разными именами, правильно?
0
|
|
|
2605 / 1509 / 689
Регистрация: 23.08.2015
Сообщений: 3,841
|
|||
| 31.05.2024, 15:01 | |||
|
На стороне бэка мы принимаем запрос и отдаем ответ. Мы никогда не знаем откуда пришел запрос и с какими данными. Не рассчитываем, что у пользователя там нет каких-то кнопок или откуда брались данные. Мы должны максимально не доверять всем данным, которые приходят в запросе. В данном случае вы должны по id получить вопрос, если такого вопроса нет - отдать 404 ошибку. Так же должны проверять права пользователя, к примеру если это операция удаления вопроса - должны проверить именно на стороне сервера может ли текущий пользователь его удалять. Если нет, то отдаете 403 ошибку и т.д. Так же может быть банальная рассинхронизация отображения браузером с текущим состоянием. К примеру вы пытаетесь добавить ответ на вопрос, который уже удален. Что делать? - отдать 404 ошибку, что ресурс не существует. Добавлено через 3 минуты
1
|
|||
|
Заблокирован
|
||
| 31.05.2024, 15:03 | ||
|
0
|
||
|
2605 / 1509 / 689
Регистрация: 23.08.2015
Сообщений: 3,841
|
|
| 31.05.2024, 15:05 | |
|
2
|
|
|
Заблокирован
|
||
| 31.05.2024, 15:06 | ||
|
0
|
||
|
7 / 17 / 0
Регистрация: 30.09.2021
Сообщений: 232
|
|
| 31.05.2024, 15:27 [ТС] | |
|
ft4l,
Что такое "виндовая консоль/терминал" прогуглила, поняла, что это для работы с командной строкой. Я не пользуюсь командной строкой. Консоль разработчика в браузере я использовала, когда приложение для андроида писала, искала ошибки. Для чего использовать её при написании сайта не знаю, поэтому и не пользуюсь. Добавлено через 17 минут sad67man, не поняла. Я делаю запрос к конкретной таблице конкретной базы данных, почему я должна не доверять данным, которые никто не вводил в таблицу, т.к. они вставляются в неё с помощью автоинкремента? Где нужно, я вывожу ошибки, но не в подобных случаях. В БД у меня всё в порядке. Штук 8 таблиц, из которых я достаю всё, что мне нужно. У меня вопрос: мне лучше в файл new_r передать user_c так же, как и id_vopr c формой, или в этом файле сделать запрос на получение user_c из БД по id из сессии?
1
|
|
|
2605 / 1509 / 689
Регистрация: 23.08.2015
Сообщений: 3,841
|
|||
| 31.05.2024, 15:35 | |||
|
Добавлено через 2 минуты
0
|
|||
|
7 / 17 / 0
Регистрация: 30.09.2021
Сообщений: 232
|
|
| 31.05.2024, 15:39 [ТС] | |
|
HP Fedora, Не будет. Мне нужен логин не автора вопроса, а автора ответа. И в данном случае он совпадает с логином вошедшего пользователя. Вот логин вошедшего пользователя мне и нужно вставить в БД в столбец experto.
//Вставляю значение + дату в таблицу otvets в БД $query7 = "INSERT INTO otvets(id,contentO,dateo,experto) VALUES('$id_vopr','$contentO','$odate',' $uzer_c')"; $res7=mysqli_query($link, $query7); Не заморачивайте себе этим голову. Я разберусь.
0
|
|
|
2605 / 1509 / 689
Регистрация: 23.08.2015
Сообщений: 3,841
|
||
| 31.05.2024, 15:39 | ||
|
Если подменять id вопроса - это не страшно, это тоже самое, что он просто отправит другую форму (для другого вопроса). А вот логин - это как-будто отправит от лица другого пользователя... что не хорошо.
0
|
||
|
7 / 17 / 0
Регистрация: 30.09.2021
Сообщений: 232
|
|
| 31.05.2024, 15:56 [ТС] | |
|
sad67man,
1. Согласна 2. Вы опять не поняли Посмотрите на свой ответ на этой странице сайта. Вы видите: свой логин, статистику, текст ответа, дату и время. Обратите внимание, здесь именно логин пользователя, а не его id. У меня то же самое. Только выводится в другом порядке. Но это не важно. Главное, что мне не id пользователя нужен, а его логин. И в таблице otvets он у меня хранится как experto. НО узнать логин login вошедшего пользователя по его id я могу только из таблицы users. А в обработке формы я вставляю в БД login на место experto. Зачем Вам эти подробности? Я задала другой вопрос: мне лучше в файл new_r передать user_c так же, как и id_vopr c формой, или в этом файле сделать запрос на получение user_c из БД по id из сессии? Добавлено через 2 минуты sad67man, хорошо. Значит, я по id достану из БД. Спасибо. Завтра напишу про результат.
0
|
|
|
2605 / 1509 / 689
Регистрация: 23.08.2015
Сообщений: 3,841
|
|||||||||
| 31.05.2024, 16:25 | |||||||||
Добавлено через 23 минуты Нам главное просто как-бы сослаться на нужного пользователя, а что вы будете выводить уже зависит от дизайна. Сегодня выводите логин, а завтра ФИО к примеру..
0
|
|||||||||
|
7 / 17 / 0
Регистрация: 30.09.2021
Сообщений: 232
|
||||||
| 01.06.2024, 11:19 [ТС] | ||||||
|
ft4l,
Я попробовала вынести post-запрос в начало файла. Но после нажатия кнопки submit форма вообще не сработала, а внизу страницы появилось: $_POST = array ( 'contentO' => 'tyuiop[[', ) $_GETarray ( 'v' => '14', ) А когда я раскомментировала location.reload(); на мгновение появился этот кусок, а потом исчез. Форма тоже не сработала. Т.е. что-то этот скрипт делает, только что именно я так и не поняла. Возможно, я не туда вставила post-запрос... Вот верх моего файла с Вашим кодом:
0
|
||||||
|
377 / 319 / 73
Регистрация: 15.09.2017
Сообщений: 1,436
|
||
| 01.06.2024, 12:36 | ||
|
Добавлено через 43 секунды Все-таки не мешает с основами HTTP ознакомиться
0
|
||
|
7 / 17 / 0
Регистрация: 30.09.2021
Сообщений: 232
|
|||||||||||
| 01.06.2024, 13:34 [ТС] | |||||||||||
|
sad67man,
Я вроде бы всё сделала правильно, но текст ответа почему-то не передаётся ни в базу данных, ни в страницу сайта. Моя форма в файле vopros.php:
Я вставила в условие echo "Контент не получен";, чтобы проверить, что передаётся из формы. И, видимо, ничего. Т.к. в этом файле вывелось "Контент не получен". Но тем не менее в таблицу в БД вставляется id_vopr, что странно, оно же тоже не передаётся. Я что-то сделала не так?
0
|
|||||||||||
| 01.06.2024, 13:34 | |
|
Как сделать перезагрузку страницы после нажатия Отлов нажатия кнопки submit и блокировка последующего нажатия как после нажатия кнопки Отправит сделать прелоадер и Как сделать, чтобы после нажатия кнопки к курсору цеплялся квадратик?
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами:
- ВидТО (СправочникСсылка. ВидыТО);
- ВидГСМ. . .
|
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала.
Ниже прикреплён. . .
|
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F
Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU.
Опрашиваются регистры. . .
|
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка:
Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
|
|
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо
Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
|
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман.
Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
|
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
|
Как у меня протекала болезнь
zorxor 27.08.2026
Здравствуйте, друзья! Эта запись блога предназначена именно для вас - для моих дорогих друзей, которые знали меня лично. Чтобы ответить на вопрос - а что же со мной произошло на самом деле? Я учился. . .
|