Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Перенаправить пользователя в месте с POST
 
 автор: tvv123456   (13.10.2011 в 18:54)   письмо автору
 
 

Доброго времени суток.
Не подскажете как можно перенаправить на другую страницу так чтобы он "унес с собой и POST данные.
То есть:
Есть 2 платежные системы, у них соответсвенно разные формы для оплаты. Нужно чтобы пользователь в селекте выбрал интересующую его систему ввел сумму, и нажал кнопку для оплаты. После этого оброботчик выбрал нужную форму(в соответствии с выбранной системой), подставил в нее сумму и оптравил пользователя на оплату таким образом чтобы с ним отправилась форма POST'ом. До этого было сделано в 2 этапа: сначала выбор платежной системы , ну и соотственно выдавалась форма. Но сейчас все требуют сделать в один шаг.

Не знаю как сделать выделенную жирным часть

  Ответить  
 
 автор: cheops   (13.10.2011 в 19:01)   письмо автору
 
   для: tvv123456   (13.10.2011 в 18:54)
 

Самый простой способ, добавить во-вторую форму скрытое поле <input type='hidden' /> с именем name, которое будет совпадать с именем POST-параметра, который вы хотите предедать. В value-параметр следует добавить значение из первой формы. В этом случае пользователь не будет видеть дополнительных полей из первой формы, но POST-данные из скрытых полей будут отправлены наряду с введенными.

  Ответить  
 
 автор: tvv123456   (13.10.2011 в 21:11)   письмо автору
 
   для: cheops   (13.10.2011 в 19:01)
 

Видать не так проблему описал:
есть 2 платежки perfect и liberty
perfect принимает только данные отправленные POST. Каждая из систем использует различные имена полей. Нужно чтобы пользователь одним нажатием на кнопку оплатить сразу попал на оплату на нужном сайте. Вот поэтому нужно: в скрипте обработчике получаем систему, генерируем для нее форму и незаметно для пользователя, отправляем эти данные вместе с пользователем, на отправку. Причем из-за перфекта Get не обойтись

Можно ли, незаметно для пользователя(чтобы он ничего не нажимал) отправить его и post данные на другую страницу(желательно без яваскрипта). Заголовками я так понимаю это не получится сделать?

  Ответить  
 
 автор: Lotanaen   (14.10.2011 в 09:48)   письмо автору
 
   для: tvv123456   (13.10.2011 в 21:11)
 

ну при приеме на сервере проверяйте поле селект и перенапрявляйте пользователя на нужную вам систему оплаты либо используйте яваскрипт

  Ответить  
 
 автор: tvv123456   (14.10.2011 в 13:12)   письмо автору
 
   для: Lotanaen   (14.10.2011 в 09:48)
 

Все уже проверено сделано. Вопрос: можно ли пользователя так кинуть на другой сайт, чтобы он туда автоматически отдал и POST запрос. Яваскриптом такое делать не возникает желания, так как он не у всех включен

  Ответить  
 
 автор: Yuriev   (14.10.2011 в 13:49)   письмо автору
 
   для: tvv123456   (14.10.2011 в 13:12)
 

Как-то надо отправить функцией header() из первого скрипта второму заголовки

POST http://www.site.ru/file.html HTTP/1.0\r\n
Host: www.site.ru\r\n
Referer: http://www.site.ru/index.html\r\n
Content-Type: application/x-www-form-urlencoded\r\n
Content-Length: 35\r\n\r\n
par1=val1&par2=val2 и т. д.

  Ответить  
 
 автор: tvv123456   (14.10.2011 в 19:19)   письмо автору
 
   для: Yuriev   (14.10.2011 в 13:49)
 

как я понимаю тут общение сервер-сервер? А мне нужно юзера "выпнуть" с сайта вместе с пост :)

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования