Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] zwei Formulare in einer Datei unterscheiden

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [Erledigt] zwei Formulare in einer Datei unterscheiden

    Ich habe zwei Formulare in einer Datei und dementsprechend auch zwei Abschicken Button. Wenn ich den im Quelltext weiter unten stehenden Button in der fertigen Seite anklicke, werde die Daten von beiden Formularen abgeschickt!
    Wie kann ich also die beiden Formulare unterscheiden?

    Hier mal der Quellcode:

    PHP-Code:
    <?php
    <form action="<?php echo $PHP_SELF ?>" method="POST">

    <
    table border="0" cellpadding="0" cellspacing="0">
        <
    tr>
          <
    td>Vorname:</td>
          <
    td><input type=text name="vorname" size=30></td>
        </
    tr>
        <
    tr>
          <
    td>Name:</td>
          <
    td><input type=text name="name" size=30></td>
        </
    tr>
        <
    tr>
          <
    td>Kontakt:</td>
          <
    td><input type=text name="kontakt" size=30></td>
        </
    tr>
      </
    table>
    <
    input type="checkbox" name="anwesend" value="1">
    Ich werde voraussichtlich anwesend sein

    <input type="checkbox" name="anwesend" value="0">
    Ich habe keine Zeit Lust in diesem Jahr zu kommen


    <input type=submit name="submit" value="Absenden">
    <
    input type=reset name="clear" value="Abbrechen">
    </
    form>

    <?
    php
    include("connection_data.php");
    include(
    "mysql_func.php");
    $lk=connect();
    $db="dbname";
    if (isset(
    $_POST['submit']) && $vorname != "" && $name != "" && $kontakt != "")
       {
        
    $sql "INSERT  INTO  `klassentreffen` ( `id` ,  `vorname` ,  `name` , `kontakt` , `anwesend` )
        VALUES ( '',  '
    $vorname',  '$name', '$kontakt', '$anwesend' )";
        if (
    $res=send_sql($db,$sql)) {
           echo 
    "[b]Daten erfolgreich eingetragen.[/b]";
           } else {
                  echo 
    "Es ist ein Fehler aufgetreten! Bitte benachrichtige den Webmaster.";
                  }
        } else {
        echo 
    "[b]Bitte die Felder vollständig ausfüllen[/b]";
    }
    ?>
      
    </div>

    <div id="drechts">[b]Falls ihr mir noch eine Mitteilung schicken wollt, oder Anregungen habt, 
    dann nutzt einfach dieses Formular oder schreibt mir eine Mail an [email]test@test.de[/email]![/b]



    <form action="<?php echo $PHP_SELF ?>" method="POST">
    Kommentar:

    <textarea name="message" rows=6 cols=30 wrap="physical">
    </textarea> 


    <input type=submit name="submit" value="Absenden">
    <input type=reset name="clear" value="Abbrechen">
    </form>



    <?php
    if (isset($_POST['submit']) && $message != "")    // überprüfen ob der Button auch geklickt wurde!
    {
        
    mail("test@test.de""Mail von der test Seite"$message,
        
    "From: [email]test1@test.de[/email]");
    }
    if(isset(
    $_POST['submit'])) // nur wenn die seite über den button submit aufgerufen wurde dann mach-->
    {
      if(@
    mail("test@test.de""Mail von der test Seite"$message,
         
    "From: [email]test1@test.de[/email]"))
      {
          echo 
    $fmtResponse;
          echo 
    "[b]Kommentar wurde erfolgreich gesendet[/b]";
      } else {
          echo 
    "[b]Es ist ein Fehler beim Senden der Message aufgetreten.
               Bitte informieren Sie den Webmaster.[/b]"
    ;
      }
    }
    ?>

    ?>

  • #2
    Re: zwei Formulare in einer Datei unterscheiden

    Zitat von graswald
    Ich habe zwei Formulare in einer Datei und dementsprechend auch zwei Abschicken Button. Wenn ich den im Quelltext weiter unten stehenden Button in der fertigen Seite anklicke, werde die Daten von beiden Formularen abgeschickt!
    Wie kann ich also die beiden Formulare unterscheiden?
    mit einem hidden feld, wäre mein Vorschlag

    Kommentar


    • #3
      Sieht so aus, als hättest du einfach den öffnenden FORM-Tag des zweiten Formulars vergessen.

      Hat mit PHP wenig zu tun die Frage. Einfach mal den produzierten Quelltext anschauen und ggf. durch einen Validator jagen.

      Und BTW mal gescheites HTML aneignen. Inzwischen sind die Browser ausreichend fit, dass man auf Tabellen als Layout-Mittel verzichten kann - generell kann man sich eigentlich wieder darauf konzentrieren, mit HTML einfach nur Text zu strukturieren, anstatt zu layouten (von wegen dem bold-Tag).

      Basti

      Kommentar


      • #4
        Sorry, aber ich kann leider mit beiden Antworten nicht viel anfangen. Soll heißen, ich weiß immer noch nicht, wie ich die beiden Formulare unterscheiden kann! Vielleicht kann mir noch jemand einen Tip geben! Danke schon jeztzt für eure Mühen!

        Kommentar


        • #5
          PHP-Code:
          <html>
              <body>
          <?php
          if ( isset($_POST['was']) )
          {
              echo 
          '

          '
          ;
              switch(
          $_POST['was'])
              {
              case 
          'abc':
                  echo 
          '#1';
                  break;
              case 
          'xyz':
                  echo 
          '#2';
                  break;
              default:
                  echo 
          '---';
              }
              echo 
          '</p>';
          }
          ?>
                  <form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
                      <input type="submit" name="was" value="abc" />
                  </form>
                  <form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
                      <input type="submit" name="was" value="xyz" />
                  </form>
              </body>
          </html>

          Kommentar


          • #6
            Danke an Volker!
            so hat's funktioniert!
            Und fuer alle die wissen wollen wie:
            Einfach name='submit'
            durch name='submit1' oder name='submit2' ersetzen
            und dann bei der php Schleife entsprechend anmelde.

            Die Switch-Case Schleife ist da gar nicht noetig.

            Kommentar

            Lädt...
            X