Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: method="POST" wsteczny
Forum PHP.pl > Forum > PHP
exseerius
Witam,

Czy istnieje coś takiego jak wsteczny post?

O co mi chodzi. Mam formularz, który zawiera kilka stron do wypełnienia i są buttony dalej i wstecz.
Oczywiscie mogę zrobić history back js'em, ale wtedy nie są przesyłane dane postem i tym samym do sesji (bo formularz trzymam w sesji do momentu ostatniej strony, gdzie jest sesja czyszczona).

Czy ma ktoś pomysł jak to zrobić?

Może jakiś JS z submit();

Pozdrawiam,
johnson
Zakeży jak masz skontruowany ten mechanizm np. czy przesyłasz dane z formularza do jakiegoś pliku "zbieraj_dane.php" czy przesyłasz je bezpośrednio między stronami.

W każdym razie może będzie Ci pomocne to co napiszę:

1. Możesz zrobić dwa przyciski "submit" i nadać im atrybut "name" wtedy jeśli korzystasz z pliku "zbieraj_dane.php" możesz na tej podstawie rozpoznać do jakiego formularza należy przekierować stronę.

<input type="submit" name="action" value="Idź do kroku 2">
<input type="submit" name="action" value="Idź do kroku 4">

2. Możesz użyć JavaScript i zmienić np. atrybut "action" formularza:

  1. <script type="text/javascript">
  2. function go_step_2()
  3. {
  4. document.forms['nazwa_formularza'].action = 'krok_2.php';
  5. document.forms['nazwa_formularza'].submit();
  6. }
  7.  
  8. function go_step_4()
  9. {
  10. document.forms['nazwa_formularza'].action = 'krok_4.php';
  11. document.forms['nazwa_formularza'].submit();
  12. }</script>


i przyciski
  1. <input type="button" onclick="go_step_2()" value="&laquo; cofnij">
  2. <input type="button" onclick="go_step_4()" value="dalej &raquo;">


są jeszcze inne możliwości, ale myślę, że te są najbardziej optymalne.
vokiel
Wysyłasz normalnie postem, potem przepisujesz z $_POST na $_SESSION, i jak ktoś kliknie wstecz (np zwykły link) to wpisujesz dane z sesji w dane pola.
Czyli jeśli ktoś wejedzie np na 1 część formularza, i nie ma zapisanych w sesji zmiennych, to wyświetlasz czysty form
Ale jeśli już w sesji jest coś zapisane (czyli był np na drugiej stronie, a teraz wraca do pierwszej, to wpisujesz w pola podane wczesniej dane)
exseerius
johnson

Nie używam php do zbierania danych i działam tylko na jednym pliku php, w który wpisany jest cały formularz i kolejne podstrony, ale przykłady, które mi podałeś mogą być przydatne i przetestuję je dzisiaj zaraz po pracy biggrin.gif

Napisze co i jak.

vokiel - zupełnie nie trafiłeś w to o co mi chodziło biggrin.gif
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.
Invision Power Board © 2001-2025 Invision Power Services, Inc.