Skocz do zawartości

cURL - wypełnianie formularza kilkustronicowego


okazwłoka

Rekomendowane odpowiedzi

Jak wypełnić formularz, który wyświetlany jest w dwóch fazach? Dajmy taki przykład:

Formularz jest zamieszczony na stronie register.php.

W pierwszej fazie podajesz imię i nazwisko i wysyłasz.

<form method=post>
<input name=imie-nazwisko type=text>
<input type=submit name=dalej value=DALEJ>
</form>

Po wypełnieniu i wciśnięciu DALEJ wyświetlany jest dalej register.php z kolejnymi danymi np.:

<form method=post>
<input name=email type=text>
<input type=submit name=dalej2 value=WYŚLIJ>
</form>

Z wypełnieniem pierwszego i wysłaniem nie ma problemu, ale jak wypełnić ten drugi? Kombinowałem i nie mam pojęcia jak to ugryźć.

Odnośnik do komentarza
Udostępnij na innych stronach

W wieloetapowych formularzach dane z poszczególnych etapów mogą być przechowywane w:

- tymczasowej bazie danych

- przekazywane między formularzami w kolejnych ukrytych polach imput kodowane jako base64, lub inaczej

- ewentualnie w sesjach/cookie jeśli danych jest mało.

Wiec jak zrealizować całe żądanie POST będzie zależało od zastosowanej implementacji wysyłania i obsługi kolejnych formularzy.

Tak, czy inaczej musisz obserwować jakie zmienne wysyłane są podczas kolejnych żądań klient > serwer.

Problem jest złożony wiec szczegóły implementacji wykraczają poza ten dział.

HTTP 200 usługi IT -> Dariusz Janicki | Realizacja serwisów www oraz oprogramowania w PHP / C# / Golang / Node.js / MySQL/ Laravel
Komory normobaryczne - normobaria.tech Wykonawca montażu i instalacji komory normobarii

Odnośnik do komentarza
Udostępnij na innych stronach

Dzięki Mion, ale i tak niewiele z tego wiem ;)

W ramach edukacji chciałem sobie zrobić prostą dodawarkę do CNcat, ale to chyba takie proste nie bedzie :)

Odnośnik do komentarza
Udostępnij na innych stronach

Nie koniecznie, bo wielostopniowy formularz, formularzowi nie równy ;)

Podaj przykładowe adresy przedmiotowych formularzy.

HTTP 200 usługi IT -> Dariusz Janicki | Realizacja serwisów www oraz oprogramowania w PHP / C# / Golang / Node.js / MySQL/ Laravel
Komory normobaryczne - normobaria.tech Wykonawca montażu i instalacji komory normobarii

Odnośnik do komentarza
Udostępnij na innych stronach

ee... CNCat ma proste formularze, ale pierwsze trafiłem na:

https://www.wzorowy.pl/cncat_add1.php

i stąd myślałem, że będzie trzeba kombinować. Zazwyczaj wygladają tak: https://konie-katalog.a7a.pl/add.php - z tym na pewno problemu nie będę miał.

A jak to jest w przypadku seokatalogów? Tam też trzeba najpierw podać adres? np.: https://spis-stron24.pl/dodaj-strone.html

Odnośnik do komentarza
Udostępnij na innych stronach

@i stąd myślałem, że będzie trzeba kombinować.

W wypadku tego formularza musisz wykonywać tyle zadań POST ile jest etapów nie wykluczone, że będziesz musiał parsować zwracane wyniki w celu przygotowania kolejnych danych do wysłania POST.

@A jak to jest w przypadku seokatalogów?

Zapytaj autora tego oprogramowania, ale nie na z tym większych filozofii ;)

HTTP 200 usługi IT -> Dariusz Janicki | Realizacja serwisów www oraz oprogramowania w PHP / C# / Golang / Node.js / MySQL/ Laravel
Komory normobaryczne - normobaria.tech Wykonawca montażu i instalacji komory normobarii

Odnośnik do komentarza
Udostępnij na innych stronach

Dzięki Mion, ale i tak niewiele z tego wiem :)

W ramach edukacji chciałem sobie zrobić prostą dodawarkę do CNcat, ale to chyba takie proste nie bedzie :)

Zobacz ten artykuł: https://www.slightlyshadyseo.com/index.php/...-a-signuplogin/ - myślę, że może Ci pomóc. Sesje i cookie możesz wrzucić do słoika (cookiejar) o ile to w nich jest identyfikator. A jeśli tak jak w przykładzie z tej strony - po prostu w polu hidden to łatwiej go przejąć.

Ja mam trochę inny problem - chodzi mi o wysłanie za pomocą cURLa formularza który wysyła metodą POST. I nie ma problemu - wysyłam informację, później kiedy dam "echo" to wyświetli mi wynik. Sęk w tym, że ja chciałbym aby skrypt który napiszę przekierował mnie na stronę wyników. Sprawę utrunia metoda POST. Gdyby było GET (jak w przypadku choćby wyszukiwarki google) to można dać header(Location) i po sprawie. Ale tutaj mam POST, sesja idzie do cookie. W momencie, kiedy przesyłam przeglądarkę na stronę wyników, serwer docelowy nadaje nową sesję więc wyniki powstałe na skutek wcześniej "podłożonego" curlem słowa szlag trafia.

serwer1.com > klikam w klinka ze skryptem > curl w skrypcie wysyła na serwer2.com formularz wyszukiwania metodą POST > {tu chcę żeby użytkownik został przekierowany na stronę wyników taką jak curl "ustawił" po wysłaniu formularza}.

any ideas?

Prowadzę szkolenia dla sprzedawców, telesprzedawców oraz handlowców i przedstawicieli handlowych: jak rozmawiać z klientami, aby chcieli poznać ofertę, jak zyskiwać lojalnych nabywców i rozwiązywać problemy klientów.

Odnośnik do komentarza
Udostępnij na innych stronach

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę. Warunki użytkowania Polityka prywatności