Ankündigung

Einklappen
Keine Ankündigung bisher.

Ein Submit Button mit zwei Action

Einklappen

Neue Werbung 2019

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

  • Ein Submit Button mit zwei Action

    Hallo allerseits,
    Ich möchte bei einem Button zwei Action haben, sprich der Button soll zwei PHP Seiten öffnen, wie kriege ich das hin?
    Zum einen soll die PHP Datei "eingabe_db.php" aufgerufen werden, so wie es im Quelltext bereits steht und zum anderen soll "ausgabe.php" geöffnet werden.
    Vielen Dank für die Hilfe

    PHP-Code:
    <form id="contact" action="eingabe_db.php" method="get">
     <
    fieldset>
            <
    button name="" type="submit" value="Abschicken" id="contact-submit" data-submit="...Sending">Abschicken</button>
     </
    fieldset

  • #2
    Das ist nicht ohne weiteres wie zb. JS möglich.

    Versuchst doch einmal zu Erklären warum du das so machen möchtest?

    Kommentar


    • #3
      In eingabe_db.php machst du eine HTTP-Weiterleitung auf ausgabe.php.

      Kommentar


      • #4
        siehe auch https://de.wikipedia.org/wiki/Post/Redirect/Get

        Kommentar


        • #5
          Wenn es um dieses Redirect After Post geht, dann würde ich auch gerne wissen wie Doppel-POST zu verhindern wäre wie zB auf einer Suchergebnisseite. Ist das da überhaupt möglich?

          Kommentar


          • #6
            psoido Suchergebnisse sind GET Abfragen, da ist es unvorteilhaft, dies mit POST zu erledigen, da man ja dann nicht die Suche als URL in den Lesezeichen ablegen könnte. eine Weitergabe der URL wäre zudem auch ausgeschlossen.

            Kommentar


            • #7
              Zeichen32 Ich möchte das machen, um zum einen eingabe_db.php zu öffnen, welches eine SQL Frage ausführt und zum anderen um die Datei ausgabe.php zu öffnen, welche auf eine andere Seite führen soll, wo dann sowas stehen soll wie "Die Daten wurden in der Datenbank gespeichert.

              Kommentar


              • #8
                hellbringer Ja genau und deswegen habe ich gefragt, weil ich nicht genau weiß wie ich das machen soll

                Kommentar


                • #9
                  https://www.php.net/manual/de/function.header.php

                  Kommentar


                  • #10
                    Hat sich erledigt, hab es hinbekommen. Danke euch allen

                    Kommentar


                    • #11
                      Ehe ich mir mit einer derartigen Lösung einen abfrickele, würde ich es mit AJAX erledigen
                      Ein minimalistisches Beispiel
                      PHP-Code:
                      <?php
                      function JsonOut($myMessage){
                          
                      header('Content-Type: application/json');
                          echo 
                      json_encode($myMessage);
                      }
                      $action $_POST['action'] ?? null;
                      if (
                      $action=='sendmail'){
                        
                      //prüfe Variablen, sende die Mail
                        //checke ob Sie gesendet wurde dann OK / falls nicht gib status Error zurück
                        
                      echo JsonOut(['status' => 'OK','message' => 'erfolgreich versendet']);
                        exit;
                      }
                      ?>
                      <!DOCTYPE html>
                      <html lang=de>
                      <meta charset=UTF-8>
                      <title>Document</title>
                      <input id=myName>
                      <input id=myOrt>
                      <button id=mySend>Abschicken</button>
                      <script>
                      mySend.onclick=() => {
                        let myFormData = {
                          action: 'sendmail',
                          name: myName.value,
                          ort: myOrt.value
                        }
                        postFormData("", myFormData).then(function(data) {
                          data.status === 'ERROR' && console.log(data.message)
                          data.status === 'OK' && alert(data.message) //oder schreibs woanders hin
                        }).catch(error => console.log(error))
                      }
                      function postFormData(url, data) {
                          return fetch(url, {
                            method: 'POST',
                            body: new URLSearchParams(data),
                            headers: new Headers({
                              'Content-type': 'application/x-www-form-urlencoded; charset=UTF-8'
                            })
                          }).then((response) => {
                            if (response.status >= 200 && response.status <= 299) {
                              return response.json();
                            }  else {
                            throw Error(response.statusText);
                            }
                          })
                      }
                      </script>

                      Kommentar


                      • #12
                        oder ohne JS mit "Affenformular"

                        Pseudocode

                        if (submit)
                        Datenspeichern in DB + Statusmeldung ("Daten wurden gespeichert"
                        formular ausgeben
                        - wenn Daten vorhanden, diese in die Formularfelder eintragen


                        "Irren ist männlich", sprach der Igel und stieg von der Drahtbürste [IMG]http://www.php.de/core/images/smilies/icon_lol.gif[/IMG]

                        Kommentar


                        • #13
                          Zitat von protestix Beitrag anzeigen
                          psoido Suchergebnisse sind GET Abfragen, da ist es unvorteilhaft, dies mit POST zu erledigen, da man ja dann nicht die Suche als URL in den Lesezeichen ablegen könnte. eine Weitergabe der URL wäre zudem auch ausgeschlossen.
                          Genau das ist gewollt! Ich hatte es die Tage erst bestätigt bekommen, irgendwo im Internet. Da stand es dann ausführlich erklärt. Ich wollte das von mir aus schon nie. Keine Suchergebnisseiten als URL! Das Schlagwort war irgendwas mit "Searchengine overflow" oder weiß der Geier. Man kann mit so einem Spielkram fast unendlich viele Webseiten generieren, an denen sich die Suchmaschinen sozusagen totrennen. Deshalb die Devise: Keine Suchergebnisseiten als URL! Sauber bleiben!

                          Also steht meine Frage weiterhin, weil sie mit header() [wollt ich auch posten, war mir aber unsicher ob es gesucht wurde, und jonas3344 war nun schneller] nicht beantwortet wird. Wie POST by Reload bei Suchergebnisseiten verhindern? Es ist dieses lästige Reload Page in Browsern, bei dem jedes mal der POST (nach einem alert() ) erneut gesendet wird.

                          Kommentar


                          • #14
                            Zitat von psoido Beitrag anzeigen
                            Genau das ist gewollt! Ich hatte es die Tage erst bestätigt bekommen, irgendwo im Internet. Da stand es dann ausführlich erklärt. Ich wollte das von mir aus schon nie. Keine Suchergebnisseiten als URL! Das Schlagwort war irgendwas mit "Searchengine overflow" oder weiß der Geier. Man kann mit so einem Spielkram fast unendlich viele Webseiten generieren, an denen sich die Suchmaschinen sozusagen totrennen.
                            Das ist Unfug. Man kann den Suchbots auch sagen, welche Seiten sie nicht crawlen sollen.

                            Kommentar


                            • #15
                              Zitat von hellbringer Beitrag anzeigen

                              Das ist Unfug. Man kann den Suchbots auch sagen, welche Seiten sie nicht crawlen sollen.
                              und du gibst damit bekannt, dass du glaubst sie würden sich daran halten... träum weiter. Das einzige woran sie sich dabei halten ist, dass sie es in ihren Suchergebnisseiten nicht listen. Da musst du noch einiges lernen, oder weniger blauäugig sein. Google crawlt ALLES! das ist teils extrem krass. sogar auf Plattformen innerhalb von Login-Bereichen. Beweise? ne, du, die werde ich nicht liefern. Das behalte ich mal schön für mich. Man kann auch einen Nutzen davon haben.
                              edit: achso, ja, ausserdem habe ich keine Lust mein Ranking durch Suchergebnisseiten-URLs zu zerschiessen. Sauber bleiben.

                              Kommentar

                              Lädt...
                              X