Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] redirect z danymi POST
Cezar708
post 24.03.2009, 09:35:41
Post #1





Grupa: Zarejestrowani
Postów: 1 116
Pomógł: 119
Dołączył: 10.05.2005
Skąd: Poznań

Ostrzeżenie: (0%)
-----


Cześć,

mam skrypt pod lokalizacją: http://localhost/home.php w pliku home.php zrobić redirect na localizację http://innyserwer/odbierz.php ale jednocześnie dane muszą być przesłane POSTem.

próbowałem następującej metody:

  1. <?php
  2. function redirectByPOSTMethod($url, $datas) {
  3.    preg_match('///(w+)(/.+)/', $url, $m);
  4.    $host = $m[1];
  5.    $path = $m[2];
  6.    $data = urlencode(http_build_query($datas));
  7.    header("POST $path HTTP/1.1r\n");
  8.    header("Host: $hostr\n" );
  9.    header("Content-type: application/x-www-form-urlencodedr\n");
  10.    header("Content-length: " . strlen($data) . "r\n");
  11.    header("Connection: closer\nr\n");
  12.    header($data);
  13.  }
  14.  
  15. redirectByPOSTMethod('http://innyserwer/odbierz.php', array('asdf'=>'1234', 'asdf1234'=>'asf'));
  16. ?>


niestety firefox zamiast przejść na serwer próbuje zapisać plik :|

co zrobić aby nastąpił normalny redirect...

Pozdrawiam
Cezar708
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
rzymek01
post 24.03.2009, 22:10:36
Post #2





Grupa: Zarejestrowani
Postów: 592
Pomógł: 62
Dołączył: 3.08.2006

Ostrzeżenie: (0%)
-----


a czemu uparłeś się że nie można przekazać dane przez GETa?

możesz zserializowac dane i wrzucic w GETa, nastapnie na inny serwer, który odbierze te dane i szybko z długiego adresu przeniesie przez [301] na ładny adres tongue.gif

PS. z sesjami mi się to nie widzi


--------------------
:]
Go to the top of the page
+Quote Post
sowiq
post 25.03.2009, 10:51:39
Post #3





Grupa: Zarejestrowani
Postów: 1 890
Pomógł: 339
Dołączył: 14.12.2006
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Cytat(rzymek01 @ 24.03.2009, 22:10:36 ) *
a czemu uparłeś się że nie można przekazać dane przez GETa?
Z tego co ja zrozumiałem, to ma to działać następująco:
1. wysyłamy jakieś zapytanie do naszego serwera (GET/POST/whatever)
2. nasz serwer parsuje to zapytanie i wysyła odpowiedź
3. po odebraniu odpowiedzi przeglądarka wysyła POST'em otrzymane przed chwilą jakieś dane na całkiem inną stronę

Jak dla mnie jedynym wyjściem jest zasubmitowanie przez JS kjakiegoś ukrytego formularza, bo nie da się tak przekierować przeglądarki, żeby automatycznie wysłała żądanie POST. M.in. ze względów bezpieczeństwa.
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 19:49