2 Buttons in einem Formular
Hi alle zusammen!
Ich hoffe ich habe bei der suche nichts übersehen und poste hier das thema nicht doppelt.
hab eine html-seite mit einem eingabeformular die die eingegeben werte per submitbutton "insert" an eine "eintrag.php" übergibt, die das ganze dann in die datenbank feuert. soweit funtzts.
nun hab ich aber auch einen submitbutton "update" der in abhängigkeit von eingegebem vor-, nachnamen und pwd den ensprechenden datensatz suchen und ändern soll. der übergibt das ganze auch an die eintrag.php. in dieser hab ich also einen "insert"-teil, und einen "update"-teil. nun will ich mit einer if-abfrage prüfen ob vorher der insert oder der update button gedrückt wurde und den enstsprechenden teil ausführen. man ahnt es schon ->klappt nicht. kommentiere ich einen der beiden teile aus, funktioniert der andere problemlos, liegt also nicht an der eigentlichen funktion.
hab das zusammengeschmissen, da ich für neueintrag und update das gleiche formular verwenden wollte. in diesem muss ich ja nun angeben an welche datei der inhalt übergeben werden soll. oder kann ich auch dem button allein sagen wo er den krempel hinschicken soll? weil dann würden sich ja eine eintrag.php und eine update.php eignen.
danke für eure hilfe,
gruß Flunz
Ich hoffe ich habe bei der suche nichts übersehen und poste hier das thema nicht doppelt.
hab eine html-seite mit einem eingabeformular die die eingegeben werte per submitbutton "insert" an eine "eintrag.php" übergibt, die das ganze dann in die datenbank feuert. soweit funtzts.
nun hab ich aber auch einen submitbutton "update" der in abhängigkeit von eingegebem vor-, nachnamen und pwd den ensprechenden datensatz suchen und ändern soll. der übergibt das ganze auch an die eintrag.php. in dieser hab ich also einen "insert"-teil, und einen "update"-teil. nun will ich mit einer if-abfrage prüfen ob vorher der insert oder der update button gedrückt wurde und den enstsprechenden teil ausführen. man ahnt es schon ->klappt nicht. kommentiere ich einen der beiden teile aus, funktioniert der andere problemlos, liegt also nicht an der eigentlichen funktion.
hab das zusammengeschmissen, da ich für neueintrag und update das gleiche formular verwenden wollte. in diesem muss ich ja nun angeben an welche datei der inhalt übergeben werden soll. oder kann ich auch dem button allein sagen wo er den krempel hinschicken soll? weil dann würden sich ja eine eintrag.php und eine update.php eignen.
danke für eure hilfe,
gruß Flunz
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 39923
Url: https://administrator.de/forum/2-buttons-in-einem-formular-39923.html
Ausgedruckt am: 20.04.2025 um 20:04 Uhr
9 Kommentare
Neuester Kommentar
Hi,
setz einfach bei den Beiden Button einen anderen value Wert.
Abfragen kannst du das dann so:
Wer doch das INSERT und UPDATe in eine Seite. Somit kannst du dir das "ACTION" sparen!
Gruß
Dani
setz einfach bei den Beiden Button einen anderen value Wert.
...value='test1' name='test1'...
...value='test2' name='test2'...
Abfragen kannst du das dann so:
if($_POST['test1'])
{
...
insert
}
else if($_POST[test2'])
{
update
}
.
..
.
.
Gruß
Dani
Hallo,
ich würde folgendes versuchen: du kannst den Submit-Buttons ja Namen geben. Bennen sie unterschiedlich. Beide senden dann an die gleiche Seite. Dort kannst du mit if(isset($_POST['Button1']) bzw. if(isset($_POST['Button2']) überprüfen, welcher gedrückt wurde, und dann entsprechend reagieren. Zumindest glaube ich, dass das so geht
.
Wenn es nicht funktioniert würde mir noch einiges mit JavaScript einfallen, aber das ist tendentiell unsauberer (schon weil JS ja angeblich nicht auf jedem Rechner aktiviert ist).
Filipp
ich würde folgendes versuchen: du kannst den Submit-Buttons ja Namen geben. Bennen sie unterschiedlich. Beide senden dann an die gleiche Seite. Dort kannst du mit if(isset($_POST['Button1']) bzw. if(isset($_POST['Button2']) überprüfen, welcher gedrückt wurde, und dann entsprechend reagieren. Zumindest glaube ich, dass das so geht
Wenn es nicht funktioniert würde mir noch einiges mit JavaScript einfallen, aber das ist tendentiell unsauberer (schon weil JS ja angeblich nicht auf jedem Rechner aktiviert ist).
Filipp
momentan ab ich da den name drin stehen, und
da klappt es leider nicht, sollte es?
Jaaaa.... zumindest hatte ich das so in Erinnerung. Was klappt denn nicht? Erfüllt er beide Conditions oder keine? Wenn keine: dann solltest du die Schreibweise nochmal überprüfen. Lass dir doch mal sämtliche gepostenten Variablen ausgeben (print_r($_POST)).da klappt es leider nicht, sollte es?
Auch eine Möglichkeit: beide gleich benennen und dann Abfrage wie
if(isset($_POST['submit']) AND $_POST['submit'] = 'Update')
und
if(isset($_POST['submit']) AND $_POST['submit'] = 'Eintragen')
wobei "Update" und "Eintragen" die values sein sollten. Aber eigentlich sind ja die Values hier nur für die Beschriftung der Buttons, während man sie über den Namen auseinanderhalten können sollte.
Filipp
@Flunz
Hi,
Nicht ganz.
Du kannst alle Buttons z.B. cmd benennen, value aber unterschiedlich belegen, z.B.:
Dann kannst du deine Aktionen wie folgt steuern....
...oder:
$_POST['submit'] bringt nix.
Test?
Erstelle eine Seite mit einer Form, schick das Form ab und lass
dir mit echo $_POST['submit']; das Ergebnis anzeigen
.
Auch wenn es im Moment nach mehr Arbeit aussieht, verschiedene Aktionen
von Formularen wie Ändern, Einfügen etc., lasse ich immer auf versch. Seiten
ausführen, siehe --> .
So kannst du auch Änderungen leichter durchführen, als wenn du alles in ein kilometerlanges
Script packst, das von If's und Else's" nur so strotzt.
Gruß
Günni
Hi,
joah dachte ich auch (value=beschriftung und name=indentifizierung)
Nicht ganz.
Du kannst alle Buttons z.B. cmd benennen, value aber unterschiedlich belegen, z.B.:
<input type="submit" name="cmd" value="Senden">
<input type="submit" name="cmd" value="Aendern">
Dann kannst du deine Aktionen wie folgt steuern....
if($cmd=="Senden"){
mache dies und das....
}
if($cmd=="Aendern"){
tue dieses und jenes....
}
...oder:
switch($cmd){
case "Senden":mache dies und das....;break;
case "Aendern":tue dieses und jenes....;break;
}
$_POST['submit'] bringt nix.
Test?
Erstelle eine Seite mit einer Form, schick das Form ab und lass
dir mit echo $_POST['submit']; das Ergebnis anzeigen
Auch wenn es im Moment nach mehr Arbeit aussieht, verschiedene Aktionen
von Formularen wie Ändern, Einfügen etc., lasse ich immer auf versch. Seiten
ausführen, siehe --> .
So kannst du auch Änderungen leichter durchführen, als wenn du alles in ein kilometerlanges
Script packst, das von If's und Else's" nur so strotzt.
Gruß
Günni