Почему друпал режет переменные из пост-запроса

Главные вкладки

Аватар пользователя Paradise Paradise 16 апреля 2011 в 17:21

Создаю форму, отправляю данные постом, ловлю через хук.

Пост-запрос приходит пустым.

Где друпал режет переменные и как их поймать?

Спасибо.

Комментарии

Аватар пользователя VladSavitsky VladSavitsky 16 апреля 2011 в 18:22

Если вы сделали форму силами друпала, то он в момент сабмита формы получает $_POST, собирает массив формы $form из кеша и добавляет в него полученный $_POST в $form['post']. Это делается из соображений безопасности и это правильно.
Неправильно то, что вы делаете с формой.
Вам нужно почитать http://api.drupal.ru/api/file/developer/topics/forms_api.html/6

Если кратко:
Создаем форму в test_form($form_state)

Проверяем данные после сабмита в test_form_validate($form, $form_state)
Обрабатываем полученные данные в test_form_submit($form, $form_state)

В массиве $form_state данные введенные пользователем на форме (но это не $_POST - данные уже прошли некоторую обработку).
Писал по памяти - детали уточняйте в доках.

Аватар пользователя Ch Ch 16 апреля 2011 в 20:31

"Paradise" wrote:
Пост-запрос приходит пустым.

После сабмита формы обычно происходит редирект. Поэтому $_POST вы можете и не увидеть.