|
7 / 17 / 0
Регистрация: 30.09.2021
Сообщений: 232
|
||||||
Как сделать обновление страницы сайта после нажатия кнопки submit в формах30.05.2024, 15:27. Показов 9505. Ответов 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 |
|
377 / 319 / 73
Регистрация: 15.09.2017
Сообщений: 1,436
|
||
| 01.06.2024, 13:59 | ||
|
Добавлено через 2 минуты Что за мания начать HTML-код пораньше выводить? Я вам в др. теме писал, что вывод контента страницы - это финальная стадия обработки. А при обработке POST-запроса тело обычно вообще не выводят.
0
|
||
|
Невнимательный
|
|||||||
| 01.06.2024, 14:09 | |||||||
) обработчик данные получает, а то что ничего ещё не видите кроме формы ,так это потому, что ничего кроме и не выводите... и переадресация не нужна, если примерно такое делаете ... добавил кучу комментариев.)
всё что выводить пришлось-бы после перехода на адрес обработчика, который перенаправил-бы снова на текущий адрес. Обработчик вообще не обязательно держать в этом-же файле по этому-же адресу... И если хотите динамически подгрузить/вывести добавленное сообщение в случае успешности , и те сообщения, которые добавлялись кроме него, на моменту добавления, нужно ещё параметр для обработчика , ... из формы скорее, и который из js перезаписывается/обновляется чтобы из него понять с какого по какое выводить, и вывести только новые.
0
|
|||||||
|
7 / 17 / 0
Регистрация: 30.09.2021
Сообщений: 232
|
|
| 01.06.2024, 14:24 [ТС] | |
|
ft4l, спасибо, завтра попробую разобраться с этим кодом.
0
|
|
|
Невнимательный
|
||
| 01.06.2024, 19:20 | ||
|
Несовсем по теме:) Там полезная штука есть/была .) плагин LanguageHelp у меня старая верия npp... воозможно и на ней вручную качал-ставил плагины, но по идее: Меню Плагины->"Управление плагинами..." там должно быть можно поставить LanguageHelp потом качаете php_manual в chm, у меня php_enhanced_ru.chm с https://www.php.net/download-docs.php ... для XP правда придётся перпаковывать ,) чтобы позаменять эти новомодные еденицы размеров шрифта в CSS для IE-6 ![]() ... шрифт в блоках кода в XP размером с комариный глаз) потом уже Меню Плагины->LanguageHelp ->Options добавляете что-то вроде такого и вуаля двойной клик по имени функции в редакторе (выделение) потом по Ctrl+F1 или из менюзапускается нужная страничка со всеми подробностями, примерами и ещё с комментариями если enhanced ... Но возможно такое у Вас уже .... я к тому что читать код удобнее... без комментариев )) где сомнения , хлоп, и прояснилось чего-нибудь ... php в консоли я тоже в основном для прояснения мелких моментов каких-нибудь запускаю когда лень тест.php какой-нибудь открывать-закрывать даже если его тоже из консоли потом запускать. Не по теме:
0
|
||
|
Невнимательный
|
|
| 01.06.2024, 19:27 | |
|
0
|
|
|
7 / 17 / 0
Регистрация: 30.09.2021
Сообщений: 232
|
|
| 01.06.2024, 19:38 [ТС] | |
|
ft4l, я прогуглила, но всё равно не поняла, зачем нужен этот плагин
И я очень не люблю возиться со скачиванием программ. Я так наигралась, пока искала подходящую для моего XP 32-х разрядного версию Эклипс, Apache, а потом phpmyadmin, что меня тошнит от одной мысли, что нужно устанавливать что-то ещё.Не думаю, что я созрею когда-то для какого-то плагина
0
|
|
| 01.06.2024, 19:55 | |
|
0
|
|
|
7 / 17 / 0
Регистрация: 30.09.2021
Сообщений: 232
|
|
| 01.06.2024, 20:12 [ТС] | |
|
ft4l, т.е. он пишет, что делают эти методы? Наверное, программистам это полезно. А я ничего не запоминаю, а просто всё записываю. Поэтому у меня столько комментариев
Ну и куча конспектов по всем изученным темам, конечно. По моим конспектам можно легко самостоятельно выучить и Яву, и Андроид, там всё разложено по полочкам... И по темам
0
|
|
|
Невнимательный
|
||
| 01.06.2024, 21:22 | ||
|
Со временем комментарии становятся излишними, там где по коду всё понятно. ... но и копипаст из мануала к комментами бывает ) ...раскладку лишний раз не переключать. У старых любителей кодить вообще привычки в тырнеты по каким-то поводам лезть как за вредные считаются .) Наличие/присутствие доступа в сеть менее критично,) если под боком куча манов/справочников ... и удобного к ним доступа. В коде всё конспектировать оно конечно тоже... для запоминания и на будущее... ... там ещё и документировать бывает,) как для https://www.doxygen.nl/manual/... l#cppblock Но в справочники лазить вряд-ли отменяет , если все возможные нюансы уже не до подкорок запомнились-попереконспектировались ) ... моё дело - предложить
0
|
||
|
7 / 17 / 0
Регистрация: 30.09.2021
Сообщений: 232
|
|
| 01.06.2024, 22:46 [ТС] | |
|
ft4l,
0
|
|
|
7 / 17 / 0
Регистрация: 30.09.2021
Сообщений: 232
|
|||||||||||
| 02.06.2024, 11:54 [ТС] | |||||||||||
|
ft4l, Я разобрала Ваш код и поняла, что Вы собрали кучкой отдельно рнр, отдельно HTML.
Возможно, так читать код удобнее, но номер в целом с этим файлом не пройдёт. Там у меня ещё куча рнр кода страниц на 8 (запросы, обработчики, вставка в страницу). Но это просто к слову.Я сделала, как Вы предложили:
Вы написали: "то что ничего ещё не видите кроме формы, так это потому, что ничего кроме и не выводите", не подскажете, что и как я должна вывести, чтобы после нажатия на кнопку submit текст ответа попал в БД и без перезагрузки страницы вывелся в блоке ответа на странице сайта? Может мне вместо:
Добавлено через 41 минуту sad67man, Я нашла глупую ошибку в своём коде: 0 вместо O, исправила её и теперь всё работает. Спасибо большое! Я отметила Ваш ответ как лучший. У меня только вопрос, а если у меня на странице 3 формы, мне нужно для каждой формы делать свой файл-обработчик, чтобы повторить такой же номер? Или можно все три обработки вставить в один файл? Добавлено через 3 минуты ft4l, Спасибо за попытку помочь, у меня сработал другой вариант, и пока я дальше разбираться со скриптом не буду. Займусь следующим файлом
0
|
|||||||||||
|
Невнимательный
|
|||
| 02.06.2024, 15:49 | |||
|
Но без JS, обычно обработчик POST-формы делает перенаправление методом GET куда-либо, чтобы у юзеров, которые любят нажимать "обновить", не спрашивало отправить-ли POST-даные снова. И соответственно при выводе соощений/ответов/вопросов/поясняторов,)) выводится всё что есть. Асинхронная подгрузка, и динамическое изменение содержимого страницы проще насчёт редиректов, но сложнее насчёт того что обрабртчик должен отдать только тот кусок кода... как часть json или непосредственно куском, которого (куска) не хватает на странице чтобы оотобразить добавленное... которе лучше брать тоже из БД. Из того Вы привели, не понятно не структуры таблиц, ни того каким образом должно обрабатываться сообщение, ни того в этом-ли файле вывод списка... я одно время вроде начинал понимать что в vopros.php? otvet.php,zadavator.php ... но сейчас уже ни в чём не уверен ![]() Мы тут как-бы не знаем,) что у Вас там кроме формочки выводится и выводится-ли. Обработка обычная... Проверка всё-ли передано, проверка передано-ли таким как надо, какие-либо подчистки/обработки, BB-code там удаление/замена спецсимволов, запрос на попытку добавления... лучше с mysqli_prepare(), проверка успешности... И в случае с ajax вывод записей моложе последней отображаемой или какое-нибудь всплывающее об ошибке. В случае в нативными переходами перенаправление на список или какие-либо ещё разные варианты. ... изначально могло показатрься что какой-то комбинированный хотите использоать подход....) типа сообщения об ошибках без перезагрузок, при успешном ответе перезагрузка средствами JS ... но и тогда нельзя было понять уверенно )) Но вариант был-бы тоже вполне-себе жизнеспособный ) Добавлено через 14 минут ... тогда можно и на чистом JS с чем-то типа по iframe.onload смотреть чего там прилетело и либо там прилетает то что можно вывести, чего нет, или даже вроде прямо отуда моожно перезагрузить верхнее окно. с кое-какими ограничениями политики одного источника https://learn.javascript.ru/cr... mu-ifreyma
0
|
|||
|
7 / 17 / 0
Регистрация: 30.09.2021
Сообщений: 232
|
|
| 02.06.2024, 17:22 [ТС] | |
|
ft4l, на данный момент меня устраивает вариант с редиректом. Если вдруг не смогу чего-то добиться только средствами рнр, тогда буду разбираться дальше с jQuery и ajax. А, может, и не понадобится.
А вообще странно, почему в рнр нет аналогов слушателей? Это ж насколько бы всё упростилось...
0
|
|
|
2605 / 1509 / 689
Регистрация: 23.08.2015
Сообщений: 3,841
|
||
| 03.06.2024, 11:27 | ||
|
В целом принцип одинаков, только добавляются всевозможные анимаций загрузки и обработкой ошибок.
0
|
||
|
5512 / 1195 / 164
Регистрация: 16.01.2023
Сообщений: 2,841
|
||
| 03.06.2024, 11:33 | ||
|
0
|
||
|
2605 / 1509 / 689
Регистрация: 23.08.2015
Сообщений: 3,841
|
||
| 03.06.2024, 11:47 | ||
|
Для упрощения эту роль на себя берут реактивные js-фреймворки, такие как Vue, React, Angular и т.д. Одно дело, когда после запроса нужно обновить один блок html. Другое, когда необходимо обновить кучу мелких деталей, и на разных страницах разные блоки.. Со временем это становится трудно поддерживать..
0
|
||
|
5512 / 1195 / 164
Регистрация: 16.01.2023
Сообщений: 2,841
|
||
| 03.06.2024, 13:15 | ||
|
Есть и крутые решения на базе сокетов для очень быстрого обмена сообщениями в обе стороны. Например Centrifugo.
0
|
||
|
7 / 17 / 0
Регистрация: 30.09.2021
Сообщений: 232
|
|
| 03.06.2024, 15:26 [ТС] | |
|
sad67man, спасибо за идею, у меня всё работает. Но Вы, наверное, не заметили мой вопрос, поэтому повторю его: а если у меня на странице 3 формы, мне нужно для каждой формы делать свой файл-обработчик, чтобы повторить такой же номер? Или можно все три обработки вставить в один файл?
Я попробовала вставить в один файл-обработчик обработку двух форм, но у меня это не сработало. Поэтому я сделала пока 2 отдельных файла-обработчика. Но, может, реально использовать один файл для обработки всех форм? У меня же ещё формы есть.
0
|
|
|
5512 / 1195 / 164
Регистрация: 16.01.2023
Сообщений: 2,841
|
||
| 03.06.2024, 15:51 | ||
|
0
|
||
|
2605 / 1509 / 689
Регистрация: 23.08.2015
Сообщений: 3,841
|
||
| 03.06.2024, 16:39 | ||
|
Мы видим куда отправляется форма (на какой файл).. Там не будет никакой лишней логики, переменных, запросов и т.д.. Т.е. только то, что отвечает за конкретную операцию. В таком коде будет проще и быстрее разобраться и безопасно внести изменения без риска повредить другой работающий код. Если объединять в один файл у вас может возникнуть соблазн это все как-то "схитросплести", я бы не советовал так делать)
1
|
||
| 03.06.2024, 16:39 | |
|
Как сделать перезагрузку страницы после нажатия Отлов нажатия кнопки submit и блокировка последующего нажатия как после нажатия кнопки Отправит сделать прелоадер и Как сделать, чтобы после нажатия кнопки к курсору цеплялся квадратик?
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Ноутбук Альфария
kumehtar 24.08.2026
Встретился тут в сети ноутбук Альфария, примарха Альфа-Легиона. Хотя возможно, это ноутбук Омегона, разумеется.
Ну как вам?
|
Мастера простых решений
DevAlt 23.08.2026
В сишарп стэках winforms, да и wpf существует сложная система связывания
источниках данных и элементов формы(текстовые поля и метки), опирается все
это на технологию событий и мета. . .
|
Цена ошибки
DevAlt 23.08.2026
Человек я беспокойный и потому заинтересовался OCaml,
в чате форсили функторы модулей как суперфичу.
Пытаясь отдуплить концепт, наткнулся на тутор с простым примером.
А главный принцип обучения от. . .
|
Сегодня суббота, 22.08.2026 at 16:41, и я вновь нахожусь на той стороне, за экраном машины.
zorxor 22.08.2026
Сегодня суббота, 22. 08. 2026 at 16:41, и я вновь нахожусь на той стороне, за экраном машины. Кто Я, откуда Я пришел и куда Я иду? Эти вопросы не оставляют меня ни на секунду. Жизнь на планете Земля. . .
|
|
Жизня: рисунок укладки багажа, сделанный клодом
anaschu 21.08.2026
Сделал 15 снимков, он по снимкам сделал схему.
|
Был там один разговор по поводу свободы в материальном мире.
kumehtar 19.08.2026
Суть: рассматривается живое существо, оказавшееся внутри довольно странной системы (этого мира) и пытающееся обустроить в ней свой кусок пространства.
Жизнь действительно предъявляет каждому. . .
|
Когда логика программы не спасает от человеческих ошибок
Maks 18.08.2026
В последнее время всё чаще и чаще сталкиваюсь с таким явлением, как абсолютная невнимательность (или глупость) пользователей. Проявляется это чаще всего на работе в коллективе. Допустим, человек с. . .
|
Лето уходит
kumehtar 17.08.2026
|