Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] Mehrere Formularsubmitbuttons

Einklappen

Neue Werbung 2019

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

  • [Erledigt] Mehrere Formularsubmitbuttons

    Hallo,

    ich würde gerne mein Formular mit mehreren Submits ausstatten, jeder soll auf eine andere Seite führen. Submits sind Grafiken statt Buttons.

    Ich habe viel nachgelesen, unteranderem über die if-Lösung, jedoch verstehe ich nicht wie ich in den Htmlcode PHPCode einfügen soll, ich habe mehrere ansätze versucht.

    Vielleicht hilft mir jemand auf die Sprünge?

    Liebe Grüße,
    Helix

  • #2
    A. du machst es mit Javascript, beim drücken auf den Button tauschst du die die form action aus.
    B. das Formular ruft immer die selbe action auf und leitet dann in PHP entsprechend weiter.

    Kommentar


    • #3
      Zitat von erc Beitrag anzeigen
      A. du machst es mit Javascript, beim drücken auf den Button tauschst du die die form action aus.
      Mit HTML5 ist es erlaubt, einzelnen Buttons einzelne actions, methoden und einiges mehr anzugeben:
      http://www.w3schools.com/tags/tag_button.asp

      Der vorteil an Buttons ist, dass sie aussehen können wie sie wollen, auch wie ein Bild.
      [QUOTE=nikosch]Macht doch alle was Ihr wollt mit Eurem Billigscheiß. Von mir aus sollen alle Eure Server abrauchen.[/QUOTE]

      Kommentar


      • #4
        Nun, da ich mich weder mit HTML5 auskenne noch mit Javascript bleibt mir dann nurnoch die PHPseitige ausführung. Mal sehen wie man das anstellt, vielen dank schonmal =)

        Kommentar


        • #5
          Habe nun jedem Button eine ID zugewiesen, aber leider funktioniert es nicht wie ich möchte.

          PHP-Code:
          if ($_POST['id']== 1)
              {
                 
          $limit 80
              }
          else
              {
                  if (
          $_POST['id']== 2)
                  {
                   
          $limit 70;   
                  }
                  else
                  {
                      if (
          $_POST['id']== 3)
                      {
                          
          $limit 60;
                      }
                      else
                      {
                          if (
          $_POST['id']== 4)
                          {
                              
          $limit 50;
                          }
                          else
                          {
                              if (
          $_POST['id']== 5)
                              {
                                  
          $limit 40;
                              }
                              else
                              {
                                  if (
          $_POST['id']== 6)
                                  {
                                      
          $limit 30;
                                  }
                                  else
                                  {
                                      if (
          $_POST['id']== 7)
                                      {
                                          
          $limit 20;
                                      }
                                      else
                                      {
                                          if (
          $_POST['id']== 8)
                                          {
                                              
          $limit 15;
                                          }
                                          else
                                          {
                                              if (
          $_POST['id']== 9)
                                              {
                                                  
          $limit 10;
                                              }
                                              else
                                              {
                                                  if (
          $_POST['id']== 10)
                                                  {
                                                      
          $limit 5;
                                                  }
                                                  
                                              }
                                          }
                                          
                                      }
                                  }
                              }
                          }
                      }
                  }
              } 
          Mittlerweile brauche ich keine Weiterleitung mehr sondern muss einfach nur das $limit auf entsprechende Anzahl bringen, er führt die ifs bis zum ende aus auch wenn die id 1 ist und er sofort am Anfang $limit = 80 machen müsste.

          Vielleicht weiss jemand warum?

          Kommentar


          • #6
            wird id richtig übergeben?

            PHP-Code:
            if ($_POST['id']== 1)
            {
                
            $limit 80
            }
            if (
            $_POST['id']== 2)
            {
                 
            $limit 70;   
            }
            .
            .

            reicht übrigens aus, die Elses brauchst du nicht

            mal

            PHP-Code:
            ini_set('display_errors',1); 
            An den Scriptanfang gesetzt?
            [COLOR=#A9A9A9]Relax, you're doing fine.[/COLOR]
            [URL="http://php.net/"]RTFM[/URL] | [URL="http://php-de.github.io/"]php.de Wissenssammlung[/URL] | [URL="http://use-the-index-luke.com/de"]Datenbankindizes[/URL] | [URL="https://www.php.de/forum/webentwicklung/datenbanken/111631-bild-aus-datenbank-auslesen?p=1209079#post1209079"]Dateien in der DB?[/URL]

            Kommentar


            • #7
              Schonmal was von elseif oder switch gehört? Sieht ja grauenhaft aus...

              Wie sieht dein HTML dazu aus?
              [QUOTE=nikosch]Macht doch alle was Ihr wollt mit Eurem Billigscheiß. Von mir aus sollen alle Eure Server abrauchen.[/QUOTE]

              Kommentar


              • #8
                @tkausel

                mit switch-case hatte ich es vor bis ich gelesen habe das man damit nicht vergleichen kann. Anscheinend eine Fehlinfo.

                HTML

                <tr>
                <td></td>
                <td>
                <input type="image" id="1" src="Leiter.png" alt="Absenden">
                </td>

                </tr>

                @VPh

                Dann mach ich die else erstmal weg und werde
                ini_set('display_errors',1);
                an den anfang setzen.

                Kommentar


                • #9
                  Auch wenn du Javascript und HTML5 nicht kennst, würde ich es mir trotzdem mal anschauen. Es lohnt sich definitiv

                  Kommentar


                  • #10
                    Anschauen werde ich es mir, aber erstmal ein bisschen PHP lernen

                    ini_set('display_errors',1); gibt mir folgende Fehler:

                    $_POST['id']== 1 <--- Hier soll in jeder if Anweisung : Undefined index: id

                    Kommentar


                    • #11
                      Welche Felder in deinem Formular heißen denn id? und wie setzt du die Zahlen? Zeig doch einfach mal dein Formular.

                      Kommentar


                      • #12
                        Code:
                        <form action="test.php" method="post">
                        <table border="0" cellspacing="0" cellpadding="2">
                          <tbody>
                            <tr>
                              <td>Name:</td>
                              <td>
                                <input maxlength="500" name="Wurf" size="45" type="text" />
                              </td>
                            </tr>
                           
                            <tr>
                              <td></td>
                              <td>
                                <input type="image" id="1" src="Stufe1.png" >
                              </td>
                           
                            </tr><tr>
                              <td></td>
                              <td>
                                <input type="image" id="2" src="Stufe2.png" >
                              </td>
                           
                            </tr><tr>
                              <td></td>
                              <td>
                                <input type="image" id="3" src="Stufe3.png" >
                              </td>
                           
                            </tr><tr>
                              <td></td>
                              <td>
                                <input type="image" id="4" src="Stufe4.png" >
                              </td>
                           
                            </tr><tr>
                              <td></td>
                              <td>
                                <input type="image" id="5" src="Stufe5.png" >
                              </td>
                           
                            </tr><tr>
                              <td></td>
                              <td>
                                <input type="image" id="6" src="Stufe6.png" >
                              </td>
                           
                            </tr><tr>
                              <td></td>
                              <td>
                                <input type="image" id="7" src="Stufe7.png" >
                              </td>
                           
                            </tr><tr>
                              <td></td>
                              <td>
                                <input type="image" id="8" src="Stufe8.png" >
                              </td>
                           
                            </tr><tr>
                              <td></td>
                              <td>
                                <input type="image" id="9" src="Stufe9.png" >
                              </td>
                           
                            </tr><tr>
                              <td></td>
                              <td>
                                <input type="image" id="10" src="Stufe10.png" >
                              </td>
                           
                            </tr>
                          </tbody>
                        </table>
                        </form>

                        Kommentar


                        • #13
                          Du hast das Problem das kein Submit ausgelöst wird und daher gibt es auch keine Variable $_POST mit dem index id.

                          PHP-Code:
                                  <input type="submit" id="1" src="Stufe1.png" 
                          So würde das gehen, aber ich weiß nicht ob du dann noch das Image verwenden kannst. Du könntest probieren das dann über css zu machen.

                          Kommentar


                          • #14
                            Zitat von Fuel Beitrag anzeigen
                            Du hast das Problem das kein Submit ausgelöst wird und daher gibt es auch keine Variable $_POST mit dem index id.
                            Quatsch.

                            @lordhelix dein HTML-Code ist auch Quatsch. Die ID hat nur in HTML eine Bedeutung um Tags eindeutig zu benennen. Bei Formularen wird es allerdings nicht mitgesendet. Da müsstest du auf die value zurückgreifen, die bei type=image allerdings nicht mitgesendet wird, da bei einem Bild die x- und y-Koordinaten mitgesendet werden, die geklickt wurden. Versuchs mit nem Button, wie ich schon vorher geschrieben hatte.
                            [QUOTE=nikosch]Macht doch alle was Ihr wollt mit Eurem Billigscheiß. Von mir aus sollen alle Eure Server abrauchen.[/QUOTE]

                            Kommentar


                            • #15
                              Nun dann bedanke ich mich schonmal, dann werden es die buttons werden.

                              Kommentar

                              Lädt...
                              X