Jeśli mam wiele znaczników HTML z osobnymi formularzami przesyłania, jak mogę się dowiedzieć, który z nich został opublikowany w pliku PHP przetwarzającym dane formularza?Wiele formularzy HTML na jednej stronie
Odpowiedz
Najłatwiej jest, aby wymienić swoje unikalne przyciski przesyłania do formularza. Można również użyć tego, jeśli masz wiele złożyć przyciski do jednego formularza (np - przedstawienia i zaoszczędzić, złożyć i powrót, złożyć i wyjście)
<input type="submit" name="action" value="Save">
<input type="submit" name="action" value="Return">
<input type="submit" name="action" value="Exit">
$ _POST array (lub $ _GET/$ _ REQUEST) będzie zawierają kluczową "akcję" z wartością wprowadzonego przycisku (klikniętego lub nie).
Z reguły unikam przekazywania ukrytych pól tekstowych itp., Które są niepotrzebne - po prostu, aby kod był bardziej czysty.
So. Dla aplikacji, Oddałbym swoje przedstawienia wartości przycisków, takich jak:
<form id="Form1">
<input type="submit" name="action" value="Form1">
</form>
<form id="Form2">
<input type="submit" name="action" value="Form2">
</form>
<form id="Form3">
<input type="submit" name="action" value="Form3">
</form>
Dzięki umieszczeniu unikalnych danych w każdym z nich. Prawdopodobnie z ukrytymi danymi wejściowymi.
Można ustawić taką wejście w każdej formie:
<input type="hidden" name="form_id" value="identifier_of_form" />
Na przykład:
<form method="post" action="">
<input type="hidden" name="form_id" value="form_0" />
<!-- snip -->
</form>
<form method="post" action="">
<input type="hidden" name="form_id" value="form_1" />
<!-- snip -->
</form>
<form method="post" action="">
<input type="hidden" name="form_id" value="form_n" />
<!-- snip -->
</form>
Działa to dla mnie ....
Każda postać ma niepowtarzalną nazwę „” ...
metoda form = "post" action = "" name = "UniqueName" id = "UniqueName"
Każda postać ma to ukryte pole ...
input type = "hidden" id = "action1_1" nazwa = wartość "Działanie 1" = "1"
z unikalnym rozszerzeniem id (_1, _2, 3 ... i unikalne wartości (1 , 2,3, ....) i nazwa zwyczajowa: Działanie 1
następnie w skrypcie indeksu PHP
$ Działanie 1 = $ _ POST [ 'Działanie 1'];
if ($ Działanie 1 == "1") {include ("form_process1.php"; //...do cokolwiek to forma potrzeba Dones ... } else if ($ Działanie 1 == „whateverelse ") {include (" form_process.php "; // ... zrobić cokolwiek to forma robi ... }
dlaczego nie wystarczy ustawić nazwy formie jako "Działanie 1", "actions2" "action3",
Jeśli tak, nie są potrzebne ukryte dane wejściowe
- 1. Wiele easyXDM na jednej stronie
- 2. Wiele wystąpień Google Maps na jednej stronie
- 3. prettyPhoto wiele galerii na jednej stronie
- 4. Wiele szablonów AngularJS na jednej stronie
- 5. Wiele instancji na jednej stronie z Javascriptem
- 6. jQuery wiele motywów na jednej stronie
- 7. Jak przesłać konkretny formularz, jeśli na jednej stronie znajduje się wiele formularzy przy użyciu jquery
- 8. Jak dodać wiele kontrolerów na jednej stronie w AngularJS
- 9. Czy edytor Ace obsługuje wiele edytorów kodu na jednej stronie?
- 10. wordpress: Jak wyświetlić wiele stron na jednej stronie?
- 11. Wiele identyfikatorów śledzenia Google Analytics na jednej stronie?
- 12. Jak utworzyć wiele formularzy na tej samej stronie za pomocą formularzy redux v6?
- 13. jQuery Wiele formularzy Prześlij
- 14. Czy na jednej stronie można umieścić wiele karuzeli Bootstrap na Twitterze?
- 15. Edytor MVC Dla wiązania modelu dla wielu formularzy edycji na jednej stronie
- 16. Highcharts.js - wiele motywów na tej samej stronie?
- 17. Serializuj wiele formularzy jednocześnie?
- 18. szyny turbolinks załadować skrypt na jednej stronie
- 19. Kontrolery wielu Angularów na jednej stronie
- 20. PhoneGap Wyłącz ekran obracać na jednej stronie?
- 21. Laravel Wielokrotna paginacja na jednej stronie
- 22. Wszystkie linki na stronie html?
- 23. Wiele elementów iScroll na tej samej stronie
- 24. Wiele połączeń socket.io na tej samej stronie
- 25. Ember.js: wiele wywołań Ajax na jednej trasie
- 26. Podział jednej kolumny na wiele kolumn
- 27. Webrole - Wiele hostHeader na jednej oprawie?
- 28. Wiele samodzielnych instancji neo4j na jednej maszynie
- 29. Stwórz wiele dla wielu na jednej tabeli
- 30. Uruchomić wiele serwerów MySQL na jednej maszynie