Autor | Zpráva | ||
---|---|---|---|
D. Profil * |
Dobrý večer,
rád bych požádal o radu. Mám PHP dokument. V tomto dokumentu je několik formulářů: <form action="file.php" method="post"> <input type="submit" name="jedna" value="Odešli jedna"> </form> <form action="file.php" method="post"> <input type="submit" name="dva" value="Odešli dva"> </form> Data z formulářů zachytávám takto: if(isset($_POST['jedna'])) { kód } if(isset($_POST['dva'])) { kód } Jistě jste si všimli, že přidám-li například dalších 5 formulářů, musím pro každý napsat speciální if, což mi připadá "prasácké", neefektivní a prostě celkově divné. Proto se ptám, lze toto řešit lépe? Předem děkuji za odpovědi, D. |
||
fopen Profil * |
#2 · Zasláno: 24. 9. 2009, 00:53:36
Da sa traverzovat cely $_POST pomocou foreach()
|
||
fajzen Profil |
#3 · Zasláno: 24. 9. 2009, 06:23:15 · Upravil/a: fajzen
alebo cez switch, ale to by museli mať tie inputy rovnaké name a len inú value
|
||
neznamy Profil * |
#4 · Zasláno: 24. 9. 2009, 10:59:23
Stjně musíš ověřit jestli se odeslaly všechny potřebné položky i na straně serveru.
Můžeš si na to udělat třeba pole, ve kterém budou uvedené proměnné a cyklem je projít všechny najednou. Nekontrolovat to příjde prasácké zas mi. |
||
AM_ Profil |
#5 · Zasláno: 24. 9. 2009, 14:01:15
není jednodušší to mít v jednom formuláři?
Nevím, jestli to tušíš, ale v jednom formuláři můžeš mít víc submit tlačítek a odešle se pouze to, na které klikneš. |
||
D. Profil * |
#6 · Zasláno: 24. 9. 2009, 20:56:56
Nakonec jsem použil foreach, prošel celé $_POST a kontroloval výsledky přes switch.
Děkuju za pomoc. |
||
Časová prodleva: 15 let
|
0