Hennes: Mehrere Buttons in einem Formular

Hallo zusammen,

hätte ein kleines Problem. In meinem HTML-Formular habe ich mehrere Submit-Buttons, mit denen ich auf verschiedene Folgeseiten verweisen möchte. Durch das Attribut action des Formular-Elements kann ich jedoch nur eine Folgeseite auswählen.

Besten Dank für Eure Hilfe.

Gruss

Hennes

  1. Hi,
    mit PHP gäbs folgende lösung:

      
    if(isset($_POST['button1']))  
    {  
      echo "<meta http-equiv='refresh' content='0 url=seite1'>";  
      die;  
    }  
    elseif(isset($_POST['button2']))  
    {  
      echo "<meta http-equiv='refresh' content='0 url=seite2'>";  
      die;  
    }  
    .  
    .  
    .  
    
    

    für rückfragen bin ich offen.

    MfG

    1. Hallo,

      mit PHP gäbs folgende lösung:

      [code lang=php]
      if(isset($_POST['button1']))
      {
        echo "<meta http-equiv='refresh' content='0 url=seite1'>";
        die;
      }
      elseif(isset($_POST['button2']))
      {
        echo "<meta http-equiv='refresh' content='0 url=seite2'>";
        die;
      }

      <meta http-equiv="refresh" content="5; URL=http://de.selfhtml.org/">
                                           ^ ;)

      http://de.selfhtml.org/html/kopfdaten/meta.htm#weiterleitung

      gruss

      --
      no strict;
      no warnings;
      Der natürliche Feind der Festplatte ist der Teppich, der sich gerne mal elektrisch aufläd und der Festplatte eine wischt.
      Kluge Leute sind auch nur Menschen.
      1. Hi,

        <meta http-equiv="refresh" content="5; URL=http://de.selfhtml.org/">
                                             ^ ;)

        Ei karamba, wie konnte mir nor so ein fehler unterlaufen *in ecke stell und schäm*

        MfG

    2. Hallo Daniel.

      echo "<meta http-equiv='refresh' content='0 url=seite1'>";

      Naja, dann kann man aber auch gleich header(); verwenden und muss sich nicht auf den Client verlassen.

      Gruß, Ashura

      --
      Selfcode: sh:( fo:) ch:? rl:( br:^ n4:& ie:{ mo:) va:) de:> zu:) fl:( ss:| ls:[ js:|
      Try it: Become an Opera Lover in 30 days
      Meine Browser: Opera 8.0 | Firefox 1.0.3 | Lynx 2.8.3 | Netscape 4.7 | IE 6.0
      1. Hi,

        Naja, dann kann man aber auch gleich header(); verwenden und muss sich nicht auf den Client verlassen.

        aber nur wenn noch nix anderes gesendet wurde. ansonsten bekommt man ne
        fehlermeldung, hab da so meine erfahrungen damit.

        MfG

        1. Hallo Daniel.

          aber nur wenn noch nix anderes gesendet wurde. ansonsten bekommt man ne
          fehlermeldung, hab da so meine erfahrungen damit.

          Ich weiß, ist mir auch schon passiert. ;)
          Entweder man räumt wirklich auf, sodass vorher _garnichts_ gesendet wird, oder man verwendet den Ausgabepuffer.

          Gruß, Ashura

          --
          Selfcode: sh:( fo:) ch:? rl:( br:^ n4:& ie:{ mo:) va:) de:> zu:) fl:( ss:| ls:[ js:|
          Try it: Become an Opera Lover in 30 days
          Meine Browser: Opera 8.0 | Firefox 1.0.3 | Lynx 2.8.3 | Netscape 4.7 | IE 6.0
      2. Hi,

        echo "<meta http-equiv='refresh' content='0 url=seite1'>";
        Naja, dann kann man aber auch gleich header(); verwenden und muss sich nicht auf den Client verlassen.

        Dir ist offensichtlich nicht klar, was bei diesem header geschieht.

        Dieser wird an den Client gesendet.
        Falls es sich um einen Location-Header handelt, wird der Client in den meisten Fällen die URL hinter Location: automatisch anfordern (aber der Client _muß_ das _nicht_ automatisch machen.
        Auch bei Verwendung des Location-Header verläßt Du Dich auf den Client.

        cu,
        Andreas

        --
        Warum nennt sich Andreas hier MudGuard?
        Schreinerei Waechter
        Fachfragen per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.
        1. Hallo MudGuard.

          Auch bei Verwendung des Location-Header verläßt Du Dich auf den Client.

          Ja, das war mir in der Tat nicht klar. Danke für die Korrektur.

          Gruß, Ashura

          --
          Selfcode: sh:( fo:) ch:? rl:( br:^ n4:& ie:{ mo:) va:) de:> zu:) fl:( ss:| ls:[ js:|
          Try it: Become an Opera Lover in 30 days
          Meine Browser: Opera 8.0 | Firefox 1.0.3 | Lynx 2.8.3 | Netscape 4.7 | IE 6.0
        2. Hi,

          Auch bei Verwendung des Location-Header verläßt Du Dich auf den Client.

          schon. Aber im Gegensatz zu meta refresh ist dies wesentlich sicherer, da es wohl selten deaktiviert sein dürfte (ich wüßte beim IE jetzt auch nicht, wo man das einstellen könnte).

          freundliche Grüße
          Ingo