Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Jeden form, kilka submitów, tak się w ogóle da?
--MarJan--
post
Post #1





Goście







Czy da się w jednym formularzu zrobić kilka submitów prowadzących do różnych stron docelowych? Do tej pory robiłem tak, że po prostu wpisywałem jako form action miejsce docelowe do którego chciałem przekazać zmienne, ale natrafiłem teraz na sytuację, w której użytkownik powinien móc zadecydować czy chce dodać dane do bazy A czy do bazy B. Aby dokonać jednego i drugiego potrzebuję danych podawanych w tym formularzu. Jak zatem sprawić, aby kliknięcie jednego buttona odsyłało do bazaA.php, a drugiego do bazaB.php - przy czym za jednym i drugim razem wszystkie zmienne podane przez użytkownika w formularzu powinny być przekazane przez POST. Jak zrobić coś takiego?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
b4rt3kk
post
Post #2





Grupa: Zarejestrowani
Postów: 1 933
Pomógł: 460
Dołączył: 2.04.2010
Skąd: Lublin

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


Jeden formularz nie może odsyłać do dwóch innych podstron. Natomiast jeśli chcesz rozpoznać wciśnięcie submita i wtedy zadecydować co robić z wpisanymi to php daje taką możliwość. Przykładowy formularz z dwoma submitami:

  1. <form action="submit.php" method="POST">
  2. <input type="submit" name="submit1" value="costam1" />
  3. <input type="submit" name="submit2" value="costam2" />
  4. </form>


i teraz interpretacja przez php:

  1. if (isset($_POST['submit1'])) {
  2. // akcja gdy wcisnieto submit pierwszy
  3. }
  4.  
  5. if (isset($_POST['submit2'])) {
  6. // akcja gdy wcisnieto submit drugi
  7. }


To oczywiście tylko przykład, możesz nadać im takie same name i sprawdzać po value chociażby, który został wciśnięty.


--------------------
Jeśli pomogłem, kliknij proszę 'pomógł'. Dzięki.
Go to the top of the page
+Quote Post
--MarJan--
post
Post #3





Goście







hm, rozumiem, ale wciąż jeden i drugi submit odeśle mnie do submit.php w przedstawionym przez Ciebie przypadku, tak? da się zrobić to jakoś żeby było inaczej?
Go to the top of the page
+Quote Post
vermis
post
Post #4





Grupa: Zarejestrowani
Postów: 279
Pomógł: 56
Dołączył: 3.06.2010
Skąd: Tarnowskie Góry

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


Submit wysyła formularz a w formularzu akcja jest tylko jedna. Można to oczywiście zmienić za pomocą JS, ale bez obsługi JS nie zadziała, więc lepiej tego nie robić. Jeśli oba pliki docelowe są na tym samym serwerze to nie widzę problemu w rozwiązaniu, które podał @b4rt3kk.
Jeśli na różnych serwerach użyj cURL'a w podanym rozwiązaniu.


--------------------
Go to the top of the page
+Quote Post
Greg0
post
Post #5





Grupa: Zarejestrowani
Postów: 264
Pomógł: 54
Dołączył: 31.08.2007
Skąd: Tychy

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


Po przekierowaniu na submit.php możesz zrobić jeszcze jedno przekierowanie w zależności co kliknięto ale wtedy stracisz POSTa jeśli go jakoś nie przekażesz dalej.
Go to the top of the page
+Quote Post

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 Aktualny czas: 19.08.2025 - 14:42