harald: 2 versch. Submit's in einem Formular

Hallo Leute!

Wie kann ich, bzw. kann ich überhaupt, zwei Submits in einem
Formular verwenden, und wie kann ich dann die action ändern?

Ich hab ein php-generiertes Formular, das beim 1. Button eine Mail-abschickt, beim 2. Button soll aber eine Schnittstellendatei generiert werden.
d.h. 2 verschiedene php-Skripts die je nach Buttonklick ausgeführt werden.

ok, ich könnt ein Hidden-Feld setzen, als Param-übergabe fürs PHP-Skript machen, aber weiß vielleicht wer von euch eine einfachere
Variante?

gruß
harald

  1. Ja, einfach 2 javaScriptfunktionen die deine Aktionen ausführen sollen. Diese verknüpfst du dann einfach mit den jeweiligen Button.

    kevin

    1. äh, das hast du was glaub ich falsch verstanden,
      ich wollte das action="xxx.php" im form-tag ändern,
      damit dann 2 verschieden .php beim submit des Formulars,
      aufgerufen werden können.

      aber danke,
      harald

      1. äh, das hast du was glaub ich falsch verstanden,
        ich wollte das action="xxx.php" im form-tag ändern,
        damit dann 2 verschieden .php beim submit des Formulars,
        aufgerufen werden können.

        Hmm... ich weiß nicht, wieso Du das so kompliziert machen willst....
        wenn du bei action einfach $PHP_SELF einträgst, damit sich das Form-Tag auf die eigene Seite bezieht. Da das Form-Tag aber zuerst gelesen wird, kannst du nicht im Nachhineinen (wenn der Button gedreuckt wird), das Form-Tag ändern (meiner meinung nach, mit javascript kann man das machen, aber unnötige Arbeit).
        Du kannst einfach die Datei includen, die du mit dem action="" aufrufen wolltest. dann natürlich wieder mit if($xxx){include"blabla".php;}

        1. Du kannst einfach die Datei includen, die du mit dem action="" aufrufen wolltest. dann natürlich wieder mit if($xxx){include"blabla".php;}

          stimmt, danke, an so etwas einfaches wie includen hab ich noch gar nicht gedacht... vui guat
          PHP_SELF wollt ich aus dem Grund nicht machen, da die ganze Ausgabe
          gschicht immer a bissl unübersichtlich wird und ich beide Funktionen
          aus Lesbarkeitsgründen trennen wollte, man soll das Skript ja
          auch nach meiner Zeit noch lesen können.

  2. d.h. 2 verschiedene php-Skripts die je nach Buttonklick ausgeführt werden.

    Also... ich bin mir nicht ganz sicher, ob man 2 buttons in ein form-tag schreiben kann (sollte man aber), aber wenn dies klappt kannst du einfach testen, ob die variable des buttons gesetzt wurde:

    <input type=submit name=xx>
    <input type=submit name=yy>

    Dann prüfst du am Anfang einfach:
    if($xx)
    {}
    else_if($yy)
    {}
    else
    {
    --> default <--
    }