• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

zwei submit buttons in einem Formular?

Status
Für weitere Antworten geschlossen.

dansch

Neues Mitglied
Hallo,
ich möchte in einem Formular zwei submit buttons.
der eine soll ausgewählte datensätze löschen der andere bearbeiten.
wenn ich
HTML:
<input type="submit" name="loeschen" value="loeschen">
<input type="submit" name="aendern" value="aendern">
schreibe dann funktioniert es einwandfrei. wenn ich jetzt aber bilder möchte und folgendes eingebe tut sich beim daraufklicken überhaupt nichts.
HTML:
<input type="image" name="loeschen" src="../../bilder/b_edit.png" value="loeschen">
<input type="image" name="aendern"  src="../../bilder/b_drop.png" value="aendern">
wesshalb ?
 
Werbung:
Werbung:
Aha...! Wieder was dazugelernt. Klingt zwar auch logisch, da man mit CSS ein Hintergrundbild anzeigen könnte.
 
Am Rande.
Das hier klappt bei mir wunderbar:

PHP:
<html>
 <head>
   <title>Test</title>
 </head>
 <body>
   <form action="<?php echo $_SERVER['REQUEST_URI']; ?>" method="post">
      Löschen <input type="image" name="loeschen" src="image1.gif" value="loeschen">
      <br />
      Ändern <input type="image" name="aendern" src="image2.gif" value="aendern">
   </form>
   
   <?php
       echo '<pre>';
       var_dump($_POST);
       echo '</pre>';
   ?>
    
 </body>
</html>
Nur ein kleines Testskript. Der PHP-Teil dient nur dazu, zu zeigen, ob ein POST-Request ankommt oder nicht.

Grüße, Ben.
 
ich habe jetzt einiges ausprobiert das es mit den image buttons funktioniert aber es klappt einfach nicht.
während dieses einwandfrei klappt
HTML:
<input type="submit" name="aendern" value="Kommentare aendern">
<input type="submit" name="delete" value="Kommentare l&ouml;schen">
funktioniert dies einfach nicht
HTML:
<input type="image" name="aendern" src="../../bilder/b_edit.png" value="Kommentare aendern" alt="bearbeiten">
<input type="image" name="delete" src="../../bilder/b_drop.png" value="Kommentare l&ouml;schen" alt="l&ouml;schen">
die Daten werden ja an $PHP_SELF gesendet. und ganz oben hab ich folgende anweisungen:
PHP:
//Datensätze löschen
    if (isset($delete)) {
       $checkbox = $_POST['checkbox'];
       $anzahl = count ($checkbox);
          for ($i = 0; $i <= $anzahl; $i++) { 
               $loeschen = "DELETE FROM kommentare WHERE id = '$checkbox[$i]'";
               $ergebnis = mysql_query($loeschen); 
               }
       }
 
 
if (isset($aendern)) {
     echo"<form action=' $PHP_SELF ' method='post'>";
     $checkbox = $_POST['checkbox'];
     $anzahl = count($checkbox);
        for ($i = 0; $i <= $anzahl; $i++) { 
             $aendern = "SELECT kommentare.Datum, kommentare.id, kommentare.kommentar, kommentare.Uhrzeit, kommentare.Verzeichnis
                         FROM kommentare WHERE kommentare.id = '$checkbox[$i]' ORDER BY $order";
             $ergebnis = mysql_query($aendern); 
             while ($row = mysql_fetch_array($ergebnis)) { 
                     $Datum = $row["Datum"];
                     ...
                     echo "<tr><td>&nbsp;</td></tr><tr><td>&nbsp;</td></tr><tr><td>&nbsp;</td></tr></table>";
                    }
             } 
        echo "<input type="submit" name="speichern"> value="speichern"></form>";
   }

jetzt bin ich einfach mal auf die idee gekommen, dass evtl der input image button einfach den namen nicht mit übermittelt da dieser ja notwendig ist um die if anweisungen auszuführen. also habe ich
HTML:
<input type="hidden" name="delete" value="loeschen">
hinzugefügt und siehe da es klappt jetzt ist allerdings egal was ich anklick jeder button löscht die beitrage nun. wenn ich natürlich statts delete aendern rein schreib werden beide buttons zum ändern benutzt.

Das ist jetzt also mein Problem mit dem ich nicht weiter komme!
hat jemand eine Idee wie ich es ´machen kann?
Es darf immer nur entweder
HTML:
<input type="hidden" name="delete" value="loeschen">
oder
HTML:
<input type="hidden" name="aendern" value="bearbeiten">
übermittelt werden. je nachdem was halt angeklickt wird
 
Werbung:
Status
Für weitere Antworten geschlossen.
Zurück
Oben