Форум программистов, компьютерный форум, киберфорум
Web-мастеринг
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/9: Рейтинг темы: голосов - 9, средняя оценка - 4.67
Maksim

Не удается обновить страницу без повторной отправки данных...

03.09.2008, 12:04. Показов 1904. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Пытаюсь написать простейшую страничку чата... Код следующий:

Фреймсет, состоящий из двух фреймов:

<html>
<HEAD>
<meta http-equiv='Content-Type' content='text/html; charset=windows-1251'>
</HEAD>
<FRAMESET ROWS='70, *'>
<FRAME FRAMEBORDER = 0 SCROLLING='NO' SRC='frame1.html'>
<FRAME SRC='SERVER_SCRIPT.CGI' NAME='TargetFrame'>
</FRAMESET>
</html>

В файле frame1.html содержится совершенно простая форма для отправки данных...

<html>
<HEAD>
<meta http-equiv= 'Content-Type ' content= 'text/html; charset=windows-1251 '>
</HEAD>
<body bgcolor=buttonface>
<center><FORM TARGET=TargetFrame ACTION='SERVER_SCRIPT.CGI' METHOD='POST'>
<input name=username type=hidden value='Someone'>
<input style='width=100%' type=text name=message>

<input type=submit value='Send' name=sb>
</form>
</center>
</body>
</html>

Скрипт SERVER_SCRIPT.CGI возвращает поток сообщений, и записывает посланное сообщение...

И возвращает страничку с метатэгом:
<META http-equiv='Refresh' Content='15'>

У меня все работает превосходно, а у одного моего удаленного собеседника постоянно выпадает сообщение (не удается обновить страницу без повторной отправки данных. Выберите 'повтор' или 'отмена')...

Кто-нибудь знает, в чем может быть причина?
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
03.09.2008, 12:04
Ответы с готовыми решениями:

'Не удаётся обновить окно, без повторной передачи данных', как убрать это сообщение?
Проблема в следующем, есть форма с поисковой строкой, посли того как нажимается кнопка открывается страница с данными, теперь если обновить...

проблема повторной отправки данных
У меня есть страница с аутентификацией пользователя (через тэг &lt;form&gt;). В случае удачной аутентификации пользователь попадает на другую...

Защита от повторной отправки POST-данных
браузер кэширует _POST. Если рефрешнуть то пост данные остануться, а значит сработает код еще раз. Надо после того, как 1 рах отправили...

4
al
04.09.2008, 04:32
этo сooбщение выдaётся кaк прaвилo тoгдa,
кoгдa дaнные нa стрaницу были пoлучены при
пoмoщи метoдa post(в oтличие oт get)
и юзер пытaется сделaть refresh
или через meta
..типa врoде тaк и дoлжнo быть
Maksim
04.09.2008, 13:24
Так а как с этим бороться?
И почему у меня этого не происходит?
Ведь множество чатов работают по этому принципу, разве нет?
Форм никаких обновляемая страница не содержит... В чем может быть дело тогда?
Maksim
04.09.2008, 13:32
И можно ли посылать данные в никуда? Без возврата на клиент?
Данные после отсылки пишутся в статический файл, и фрейм, в котором этот файл открыт, периодически обновляется?
al
04.09.2008, 17:58
>>Так а как с этим бороться?
я бы тaк делaл:
1. frame, кoтoрый пoсылaет message: делaет нa себя post с пaрaметрoм,
(был ли пoслaн message или этo прoстo первый рaз стрaницa зaгрузилaсь)
если пaрaметр oбoзнaчaет true, тoгдa зaпиши в стaтический фaйл нoвый message
2. frame, кoтoрый делaет всё время рефреш
oн читaет этoт стaтический фaйл и пишет в брaузер егo сoдержимoе

Code
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
1.
.......
if request('param')='yes'
   writeToFile(...request('user'),...request('message'))
end if
........
<html>
<body>
<form name='frm' method='post' action='1'>
   <input type='hidden' name='param' value=''>
   <input type='text'>
   <input type='text'>
   <input type='button' onClick='document.frm.param.value='yes'document.frm.submit();'>
</form>
</body>
</html>
 
2.
<html>
<meta ....refresh>
....
readFromFile()
writeToBrowser()
....
</html>
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
04.09.2008, 17:58
Помогаю со студенческими работами здесь

Отправка данных на сервер: добавить в код возможность повторной отправки
В общем есть такой код: //подключение TcpClient clientSocket = new TcpClient(); while...

Можно ли сделать так, что бы после повторной отправки данных, они не записывались снова в таблицу?
Можно ли сделать так, что бы после повторной отправки данных, они не записывались снова в таблицу? Я вроде создал ключи первичные для...

Защита от повторной отправки формы
Привет. Есть форма, пусть для примера это будет форма отправки комментариев. С помощью плагина jquery.form.js форма отправляется на...

Отмена повторной отправки формы
Добрый день! У меня такая казалось бы тривиальная задача но никак не могу сообразить как сделать. У меня есть форма обычная постовская с...

защита от повторной отправки формы
Как вы думайте в чем недостаток такой защиты от повторной отправки формы? if(isset($_SESSION)) //блокируем повторную отправку если ip...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru