janek
5.06.2004, 14:01:13
Witam,
Użytkiownik klika na link i przechodzi z podstrony A do podstrony B (w innym serwisie www). W tym momencie mają zostać wysłąne dane POST-em do B. Odpada wysyłka przez formularz, ponieważ użytkownik nie może zobaczyć co jest wysyłane (czyli nie może zobaczyć danych w źródle strony A).
Mam jakiś tam pomysł jak to zrobić w JS, ale wolałbym w ogóle nie wysyłać tych danych do przeglądarki użytkownika. Wiem jak zrobić taką wysyłakę, ale wtedy użytkownik nie znajdzie się na stronie B, a tam właśnie powinien trafić razem z danymi wysłanymi POST-em. Jest to wogóle do zrobienia po stronie serwera? Może ktoś ma pomysł?
Z góry dzięki za pomoc
update: przejście z A do B jest przez https.
Pocztytaj o sesjach, może to cię zadowoli.
sesje
janek
5.06.2004, 14:32:16
dzieki za podpowidź z sesjami, ale problem polega na tym, że dane MUSZĄ iść POSTem- są wysyłane do innego serwisu www, a tamten serwis już działa i tylko dane z POSTa przyjmuje!
matys
5.06.2004, 14:33:45
Mozna poprzez ukryte pola formularza
<input type =hidden....name=....value....>
janek
5.06.2004, 14:36:36

dzięki za pomoc, ale co ze źródłem strony? tam widać hidden'y! :wink:
matys
5.06.2004, 15:03:34
Hmm w źródle niestety widać:/ ale jeśli chcesz to wstawić, to wiadomo musi byc to przed kontrolką
[xml:1:079cea696c]
<input type=submit>
[/xml:1:079cea696c][/code]
rogrog
5.06.2004, 15:16:11
mam taki pomysł:
strona A:
[list]
[*]
[list]
[*]tworzysz plik tekstowy z odpowieednimi danymi, np. przedzielany znakami potoku ( | ) w odpowiednim katalogu najlepiej ponad katalogiem www czy też public_html
[*]albo lepiej - jeżeli masz dostęp do bazy danych, tworzysz rekord
[list]
[*]generujesz id dla teog konkretnego zestawu informacji
[*]tworzysz na serwerze ze stroną A skrypt, który na podstawie dane id przekazanego przez GET zwraca dane z pliku lub z bazy
[*]przekazujesz ukrytym polem ID
[list]
strona B:
- dostajesz POSTem z ukrytego pola ID
dwie możliwości, należałoby do nich dostosować dane zwracane przez skrypt, którego zadaniem jest ich odczyt i zwrócenie, oraz sposób przekazania do niego parametru
[list]
[*]includujesz plik - łatwiejsze do obsługi, bo od razu masz zmienne
[*]otwierasz plik fopen() i go interpretujesz
[list]
oczywiście możnaby było uprościć proces (np. pominięcie skryptu oczytującego i zwracającego dane) ale myślę że to jest bardziej bezpieczne i uniwersalne
janek
5.06.2004, 16:01:36
dzieki wielkie, pomysły fajne są, tylko że ja nie mam żadnego dostępu do skryptu B. To jest INNY SERWIS :!: któremu muszę przesłac dane. Tylko POST jest akceptowany!
Wysyłam tam jedną zmienną która zawiera identyfikatory, klucze itp. dzięki którym skrypt B stwierdzi że ja to ja- dlatego nie mogę pokazać użytkownikowi tego, co wysyłam.
Więc:
1. tylko POST
2. użytkownik nie może zobaczyć danych
3. mam dostęp tylko do skrytpu A (B nie moge edytować)
4. dane wysyłam przez https
HELP :!:
rogrog
5.06.2004, 16:09:26
mysle ze nie da rady
Da rade. Link musial by prowadzic do skryptu php, ktory za pomoca socketow wyslalby do serwera B odpowiednie zapytanie POST.
Nie jest to wcale takie trudne, zajrzyj do [manual:e3c6c46ebe]fsockopen[/manual:e3c6c46ebe], w przykladach jest napisane jak wyslac POST'a.
rogrog
5.06.2004, 16:28:28
Tak, oczywiscie
ALE on musi wyslac do przegladarki uzytkownika te dane - bo to ona musi przejsc do tamtej strony
Nie wystarczy mu otworzyc
Czytalem gdzies na forum, ze nie da sie zmusic przegladarki do wyslania post przez header :?
Cytat
ALE on musi wyslac do przegladarki uzytkownika te dane - bo to ona musi przejsc do tamtej strony
Nie wystarczy mu otworzyc
Ja jestem za metoda FiDO'a. Skrypt wysle dane do tamtego serwera, a nastepnie wypluje odpowiedz tamtego serwera userowi. Wada taka, ze nie bedzie adresu tamtego serwera w pasku w przegladarce...
rogrog
5.06.2004, 16:43:39
no może i macie racje
janek
8.06.2004, 11:36:11
dzieki wielkie za Waszą pomoc- popróbuję i zobaczymy co z tego wyjdze! Jeszcze raz dzieki
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę
kliknij tutaj.