Обработка формы - использовать сессии, или нет?

inTox

вёбных дел мастер
Вопрос с Чукотки: дяденьки и тетеньки, а отправленные юзером файлы тоже в сессию пихать? или такой вариант не рассматривается?
 

Фанат

oncle terrible
Команда форума
такой вариант не рассматривается, поскольку отношения к ДАННОМУ вопросу не имеет ни малейшего.
Здесь мы рассматриваем две аксиомы:
1. При ошибке в заполнении формы, юзеру надо вывести его же форму, заполненную.
2. ВСЕГДА после ПОСТа должен идти редирект.
 

Screjet

Новичок
Подход Фаната правильный. Но не всегда оправдан.
(Заказчику, по большому счету, начхать как данные от пользователя попадают на сайт)
Две реализации: одна дорогая (качественная), другая простая (и дешевая). Обе имеют свои преимущества и недостатки.
 

Фанат

oncle terrible
Команда форума
у Фаната нет никакого подхода.
у Фаната есть вопрос.
к сообществу.
И несбыточная мечта получать только дельные комментарии.
 

inTox

вёбных дел мастер
Фанат, а какую смысловую нагрузку несет в себе идентификатор формы?
это идентификатор набора инпутов на конкретной странице?
или это идентификатор формы выданной конкретному пользователю в конкретный момент?
 

Фанат

oncle terrible
Команда форума
Не понял разницы менжу набором инпутов и формой.

Скорее, идентификатор идентифицирует в данном случае заполненную форму. в случае ошибки.
 

inTox

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

Обработчик либо редиректит на "спасибо", либо генерит этот идентификатор и кладет в сессию данные формы и затем редиректит на форму
"./form.php?failedFormId=идентификатор"

Я правильно понял?
 

inTox

вёбных дел мастер
чудно, в таком случае мне непонятно следущее:

1. для чего нужно гетом передавать идентификатор неправильно заполненной формы, если его можно с тем же успехом передавать внутри сессии?

2. для чего нужно его вообще передавать, если форму мы заполняем из массива лежащего в сессии, в случае его наличия, либо не заполняем, в случае его отсутствия.

спасибо.
 

_RVK_

Новичок
А вот еще маленький такой камушек. Пользователь неправильно заполнил форму. Ему так вежливо "Вы неправильно заполнили некторые поля". А он, подумав "а ну вас!", пошел дальше бродить по сайту. Через пол часа он снова набретает на эту же форму, а она все еше заполнена его данными, да и с сообщением об ошибке. Не с этим ли мы боремся?
 

Фанат

oncle terrible
Команда форума
нет, мы боремся ЗА это.
чтобы потом он наткнулся на страницу с ошибками, а не на объявление о том, что страницу надо послать еще раз чтобы отобразить.
 

Screjet

Новичок
Это не проблема,
несложно поставить кнопку "очистить форму"
Интересно другое, кто как спасается от F5 (reload'a)?
 

Screjet

Новичок
Фанат,
спасибо, что прокатил на танке,
но вот немного детальнее:

Если у юзера выпал TCP-пакет с подтверждением поста,
то только некоторое время спустя,
происходит повторный запрос.
Юзер может не дождаться и тыкнуть F5, в результате уже два поста.
(Пакет с указанием на редирект никак не доходит)

Даже на этом замечательном форуме бывает, что дублирутся посты.
Этот форум борется ограничением скорости постов, но, иногда, юзер может минуту дожидаться, но не получить редирект. В результате уже два одинаковых поста.

Только не говори, что ограничение интервалов постов нужно увеличить до 4-х минут.
 

_RVK_

Новичок
Фанат
Правильно. Вопрос в том, хорошо это или плохо.

-~{}~ 18.01.05 15:53:

Screjet
Мне что то подсказывает что твой вопрос не относится к обсуждаемой здесь теме.
 

Фанат

oncle terrible
Команда форума
Screjet
это совершенно другой вопрос.
Если ты поймешь, что он не имеет ни малейшего отношения к F5, то тут же найдешь миллион примеров.
К данному топику это не имеет ни малейшего отношения.

-~{}~ 18.01.05 15:55:

_RVK_
не знаю, хорошо это, или плохо.
он её просто не увидит.
заполненную на месте пустой.
 

Screjet

Новичок
_RVK_,
Если подойти мудрее к этому вопросу, то лучше форму юзеру давать чистую, и кнопку "вспомнить заполненные данные". Типа того.

Вопросы эти очень тесно связаны, я бы сказал взаимосвязаны.

-~{}~ 18.01.05 16:00:

Фанат, прошу прощение за оффтоп.

_RVK_, забыл уточнить:
Он увидит ошибку в случе кнопки "назад".
Вряд ли в ссылке "заполнить форму" нужно рисовать идентификатор поста.
 
Сверху