если возникла ошибка, то редирект обратно на страницу с формой

SID

ReadOnlyТеаm
Фанат
почему так лучше не делать?
предположим юзер заполнил форму, скрипт проверяет полученные данные и если есть ошибка то делаем редирект обратно на форму с ключом $msg. Таким образом можно будет определить, выводить или нет сообщение о том что форма заполнена с ошибками.
 

vadim

Guest
Фанат
Имеется в виду если возникла ошибка, то редирект обратно на страницу с формой и вывод текста ошибки на данной странице с формой
 

Фанат

oncle terrible
Команда форума
Я не понял - на этом форуме ещё есть люди, которые ТАК ДЕЛАЮТ?
 

SID

ReadOnlyТеаm
Фанат
Обаснуй, чем тебе не устраивает подобная реализация?
 

Фанат

oncle terrible
Команда форума
тем, что это не реализация, а детский лепет.
единственный правильный вариант - это вывести форму, которую сам же скрипт заполнил введёнными значениями
 

SID

ReadOnlyТеаm
Если данные не прошли проверки делаем редирект обратно на форму, заполняем форму введенными значениями. но как определить какой тип ошибки выдать? ведь не всегда выбор будет проходить между двумя вариантами "форма заполнена верно" и "ошибка при заполнении формы".
 

TheBattle

Новичок
SID
Заведи глобальный массив с типами ошибок и одну глобальную переменную, указывающую на один элемент этого массива - характер ошибки. А тебе уже верно сказали - всё должно происходить в ОДНОМ скрипте.

Можно, конечно, просто выводить ошибку в одном месте, наверху, например: "Вы ввели неверный адрес e-mail", а массив может понадобиться для того, чтобы пользователю ещё и поле указать, в котором присутствует ошибка. Указывается это символом, положим (*) (иногда лучше фокус на это поле поставить).
 

McSimm

Новичок
заполняем форму введенными значениями. но как определить какой тип ошибки выдать?
Тип ошибки определяйте точно так же, как вы определяете какие именно пользователь ввел значения.

Вы ошибку и введенные данные все через GET собираетесь своему скрипту передавать ?

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

Фанат

oncle terrible
Команда форума
SID
тип ошибки бывает только один.
КОНКРЕТНАЯ ошибка КОНКРЕТНОГО поля.
не заполнено поле имя - пишешь не заполнено поле имя
есть уже такой логин в базе - пишешь есть уже такой логин в базе
всё.
других вариантов нет.

TheBattle
Не пиши в этот топик.
ты ничего в нём не понимаешь.
 

TheBattle

Новичок
Автор оригинала: Фанат
SID
тип ошибки бывает только один.
КОНКРЕТНАЯ ошибка КОНКРЕТНОГО поля.
не заполнено поле имя - пишешь не заполнено поле имя
Я это и имел в виду. Блин, какой ты злой, Фанат. Предвзятый.
 

Фанат

oncle terrible
Команда форума
что означает слово "глобальный" в твоём сообщении, которое я не так понял?
 

TheBattle

Новичок
глобальный... global $mas; Просто сегодня занимался программированием на др. языках, а там это понятие более актуально.
Поэтому не важно на самом деле, глобальный или нет. Можно просто. Хотя, если работать с ним из функций обработки ошибок, то, конечно, нужен глобальный.
 

Фанат

oncle terrible
Команда форума
ну вот раз ты сегодня занимался программированием на других языках, то сегодня ничего на форум по пхп писать и не надо.
Логично?
 

alexhemp

Новичок
Фанат

Не перекликается ли этот вопрос с идеей таскать данные формы в сессии?

Кажется давно было такое обсуждение.

Мне кажется логичным не генерировать страницу при POST-запросе, а обрабатывать данные, и при ошибке записывать их в сессию (вместе с кодом ошибки) и редиректить пусть даже на себя (уже GET запросом).

Форму же заполнять данными из сессии.
 

Фанат

oncle terrible
Команда форума
Нет, не перекликается.
откуда брать данные - из поста или из сессии - это уже детали.
 

vitus

мимо проходил
уф, а я уж подумал что изменилась генеральная линия партии ;)
 

TheBattle

Новичок
Автор оригинала: Фанат
ну вот раз ты сегодня занимался программированием на других языках, то сегодня ничего на форум по пхп писать и не надо.
Логично?
Уже завтра наступило. Значит, можно писать.
1) Ты так говоришь, как будто PHP - исключительно твоё личное достояние и лишь ты разбираешься во всех тонкостях этого невероятного языка
2) Что такого запретного ты нашёл в объявлении глобального массива?
 

Фанат

oncle terrible
Команда форума
1) Весь PHP целиком - не достояние.
Но мы здесь говорим не за весь ПХП, а за азбучные истины, уровня 2х2=4. И вести научные дискуссии на эти темы никто с тобой не будет. Тебе скажут, как правильно, а если тебя это не устраивает, то доказывай, что 2х2=5, в другом месте.
2) Я нашёл то, что твоих объяснениях слово "глобальный" играет ключевую роль.
Если же учесть что всё происходит НЕ в одном скрипте, а, как минимум, при разных выховах одного скрипта, то твои идеи и вовсе показывают полное непонимание механизма.

Вот ведь незадача какая. один раз отступил от правила удалить молча неверный ответ не вступая в прения.
Ну ничего. Я исправлюсь.
Всё. Ты спросил - я тебе ответил. Тема закрыта. Не пиши сюда больше. Не будем засорять чужую тему.
 
Сверху