QuickForm. обработка формы в другом файле

Arefiev

Новичок
QuickForm. обработка формы в другом файле

Как я понял из примеров QF предпологает что построение формы и ее обработка идет в одном скрипте.
Что естественно удобно в смысле того что вся информация о форме хранится в одном месте и для вывода ошибок.
Т.о. если ошибок не обнаружено необходим редирект.

Однако я больше привык когда данный из формы принимает отдельный скриптик который в случае успеха редиректит куда нужно (на страницу типа Ок или на сообщение об ошибке) . Т.е. придерживаюсь идеи "скрипт принимающий форму не может отдавать браузеру ничего кроме редиректа". Что логично, поскольку при обработке мне нет необходимости генерить и отдавать все части страницы: хидеры, менюшки, футер; т.е. скрипт не делает лишнюю работу, если предполагается редирект.

Можно ли решить это противоречие в рамках QF, мне видется только решение с хранением описания формы во внешнем файле с подинклудиванием его скриптом вывода и скриптом обработки.
 

Фанат

oncle terrible
Команда форума
никакой лишней работы не производится.
т.е. противоречия никакого нет.
 

Arefiev

Новичок
Вот что я имею в виду.
Имеем страницу с формой:

Код...
Код...
QF Форма
Код...
Код...

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

[DAN]

Старожил PHPClub
Эта проблема в рамках QF не решается.
Посуди сам, для того, чтобы обработать форму (и редиректнуть на нужную страницу), необходимо создать экземпляр (объект) этой формы, протестировать данные формы на валидность и уже потом предпринимать действия (в твоем случае редиректиться).

Выходом будет полный отказ от QF и переход к стандартным php-формам.

-~{}~ 11.01.05 18:52:

Пардон, есть вариант.
В конструкторе формы можешь установить action на другой URL.
Смотри мануал по QF.
 

Arefiev

Новичок
Автор оригинала: [DAN]
Пардон, есть вариант.
В конструкторе формы можешь установить action на другой URL.
Смотри мануал по QF.

Это я уже понял, про пререназначение action. Но в этом случае мы, либо лишаемся валидации формы, либо вынуждены дублировать ее описание в коде.

Неужели авторы QF этого не предусмотрели.
 

crocodile2u

http://vbolshov.org.ru
Можешь сделать отдельный скрипт, в котором будет инициализироваться квик-форма, и два скрипта - один с ее отображением, другой с обработкой действий. Далее - include/require.
 

Sad Spirit

мизантроп (Старожил PHPClub)
Команда форума
Автор оригинала: Arefiev
Неужели авторы QF этого не предусмотрели.
Как автор отвечаю: чувак, чудес не бывает. Если в файле foo.php тебе надо проводить проверку / выводить неверно заполненную форму, то все проверки и вывод тебе придётся объявить в файле foo.php, безотносительно к тому, используешь ты QuickForm или нет.

А для борьбы с "дублированием" выносишь определение формы в отдельный файл, как и было уже сказано.
 

Arefiev

Новичок
Sad Spirit, спасибо, ждал твоего ответа.

Все понял, QF это не волшебная палочка.

Ответ понятен, тема закрыта.
 
Сверху