Как отправить POST запрос не через $form['#action']

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

Аватар пользователя Positiff Positiff 5 ноября 2011 в 19:24

Как отправить POST запрос не через $form['#action'] ?

Есть drupal_http_request - но эта функция просто выполняет запрос, но без редиректа.

Может ее как то надо правильно вызвать, чтобы переход состоялся?

Спасибо

Комментарии

Аватар пользователя Positiff Positiff 5 ноября 2011 в 20:09

Форма оплаты
Пользователь вводит сумму и выбирает через что он будет платить

Проблема в том что $form['#action'] только один, а в зависимости от выбранного способа - форма должна быть
отправлена на разные адреса.

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

Аватар пользователя Positiff Positiff 5 ноября 2011 в 20:51

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

Аватар пользователя kalabro kalabro 5 ноября 2011 в 21:02

ну вы посмотрите как люди делают обработчики платежные. $form['#action'] меняют, например. Или выводят дополнительные формы для оплаты, которые имеют нужный action.

Аватар пользователя Positiff Positiff 5 ноября 2011 в 22:05

С дополнительной формой уже понял что можно.
Еще проблема в том что если форма отправляется по #action, то нельзя сделать никаких дополнительных проверок и действий. То есть что отправилось то отправилось. А хотелось бы еще провалидировать и в лог записать инфу.

Я правильно понимаю что при задании $form['#action'] ни _validate, ни _submit не вызываются?