codeigniter: отправьте форму на другой URL, если форма верна - PullRequest
1 голос
/ 01 февраля 2012

нужна небольшая помощь с этим.

У меня есть форма, которую я проверяю с использованием библиотеки "form_validation" в codeigniter, очевидно, действие формы указывает на себя для проверки (как и должно быть), ноесли проверка прошла успешно, мне нужно отправить на внешний URL-адрес с включенными данными публикации.

CURL не вариант, так как мне нужно, чтобы пользователь также перенаправлялся на эту страницу, а метод GET также не вариантпоскольку данные должны быть POSTed !!

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

идеальный мир = redirect('https://payment.bank.com', 'method: POST', $data_array);

если нет способа сделать это, мне, возможно, придется его изобрести, но я хочу сначала задать вопрос, прежде чем я заново изобрету колесо (я думаю, это также займет значительное количество времени)

РЕДАКТИРОВАТЬ: также обратите внимание, что javascript также не вариант, так как сайт должен работать с или без включенного JavaScript !!!!!

Ответы [ 2 ]

1 голос
/ 01 февраля 2012

Это невозможно, как вы это описываете , так как PHP на стороне сервера, и это будет СЕРВЕР , отправляющий данные, НЕ пользователь таким образом, перенаправление на эти данные будет невозможно.

Вы можете отбирать данные, а затем перенаправлять на основе «ссылки» с внешнего сервера (скажем, идентификатора отправки).

Однако самый простой подход заключается в следующем:

  • Проверьте данные, как вы делаете сейчас
  • Загрузка новой страницы FORM со всеми этими данными, загруженными и скрытыми в новой форме
  • эта новая загруженная страница формы будет говорить что-то вроде «Подтверждено, нажмите, чтобы продолжить, если вы не будете автоматически перенаправлены» (что будет отправлять форму), в этот момент используйте Javascript для отправки / перенаправления, ИЛИ в качестве альтернативного варианта, когда люди нажимают кнопка.
  • Затем данные сначала проверяются вами (фиксируются / изменяются / расширяются), а затем подготавливаются для передачи на чужой хост с небольшой задержкой.

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

Надеюсь, это поможет.

0 голосов
/ 01 февраля 2012

Вы можете сделать это, используя ajax, я думаю. отправить свою форму для проверки в фоновом режиме. Если допустимо, с помощью javascript повторно отправьте ту же форму на внешний URL-адрес.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...