Возможен ли двойной сабмит?

otsohi

Новичок
Возможен ли двойной сабмит?

Вобщем вопрос непосредственно к пхп отношения не имеет. Не нашел для него подходящего раздела, но так как мнение местных форумчан считаю достаточно компетентным - спрашиваю здесь.

Вводные следующие: пользователь, веб-страница с формой, скрипт принимающий форму и мееедленый канал связи типа диал-апа или gprs. Когда пользователь нажимает на сабмит, то возникает ситуация, когда страница еще не загрузилась и можно нажать на сабмит еще раз. Вопрос: отработает ли скрипт два раза? Разъясните пожалуйста, а то у меня начинается вялотекущая паранойя.
 

boombick

boombick.org
Отработает. Поэтому лучше блокировать кнопку после клика.
 

otsohi

Новичок
Спасибо.
Зависит ли поведение браузера и скрипта от вида браузера?
 

otsohi

Новичок
Я имел ввиду следующее: если подобную ситуацию смоделировать в разных броузерах, выполниться ли скрипт два раза во всех случаях, или есть броузеры которые самостоятельно блокируют второй сабмит?
 

AmdY

Пью пиво
Команда форума
вопрос в том, почему ты думаешь, что второй сабмит ОБЯЗАТЕЛЬНО должен блокироваться.
 

otsohi

Новичок
Фанат, по-моему это разные ситуации.
Я имел ввиду что можно нажать на сабмит пока передаются данные первого запроса. Если это все обрабатывается как два независимых запроса, вопросов больше не имею. Если нет прошу разъяснить.

AmdY, я всего лишь думаю что второй сабмит должен обязательно блокироваться в рамках логики моего приложения. Как обрабатывает броузер эту ситуацию я не знаю потому и спросил.
 

otsohi

Новичок
Чат не видел. Только предполагаю, что ява-скриптом периодически делается запрос к пхп-скрипту. Для понимания ситуации обязательно разбираться как работает чат?
 

Фанат

oncle terrible
Команда форума
при чём здесь яваскрипт и какие-то запросы?
СООЩЕНИЕ в чат как отправляется? телепатическим путем или с помощью точно такой же формы с точно такой же кнопкой?
 

HraKK

Мудак
Команда форума
#OFFTOP#
Если на кнопке сабмита поставить акшин document.form...submit() то сработает 2 раза сабмит.
Я изза этого однажды день убил =)
 

MiksIr

miksir@home:~$
Способов много. Для блокирования на стороне клиента курить жаваскрипт (либо дисейблить кнопку либо обработчик onSubmit формы). Для блокирования на стороне сервера тоже есть варианты - при создании формы из скрипта генерировать ключ, при сабмите формы проверять наличие этого ключа в базе - помогает если страница то все же пропала старая.. а новая вот не загрузилась и рефреш отправляет данные повторно.
А Фанат в привычно изощренной для себя форме хотел сказать, что автоматически блокирующих сабмит браузеров нет.
 
Сверху