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 *
Da sa traverzovat cely $_POST pomocou foreach()
fajzen
Profil
alebo cez switch, ale to by museli mať tie inputy rovnaké name a len inú value
neznamy
Profil *
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
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 *
Nakonec jsem použil foreach, prošel celé $_POST a kontroloval výsledky přes switch.
Děkuju za pomoc.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: