Nachfrage bei Klick auf Submitbutton

Von: , Frage gestellt am Di, 22. Mai 2012
Hallo zusammen,

bei Klick auf einem Submitbutton soll eine Nachfrage erfolgen, bevor der Code ausgeführt wird.

Es sind auf der Seite aber auch mehrere Submitbuttons vorhanden, wenn das für die Umsetzung entscheiden sein sollte.


Welcher Weg ist besser?

1.Über zwei Seiten wie folgt:

-nachdem Klick auf eine neue Seite verweisen
-auf dieser Seite erfolgt Nachfrage, ob Löschung erfolgen soll
-nach der Bestätigung die Ausgangseite aufrufen
-Code dort ausführen

2.Oder lässt sich das alles auch auf der Ausgangsseite sauber realisieren?

3.Oder gibt es eine noch bessere Umsetzung.

Für alle Wege soll ausschließlich PHP zum Einsatz kommen.


Gruß

12 Antworten zu dieser Frage

  1. Antwort von nach 10 Stunden 0 hilfreich
    Re: Nachfrage bei Klick auf Submitbutton
    Moin, Es sind auf der Seite aber auch mehrere Submitbuttons
    vorhanden, wenn das für die Umsetzung entscheiden sein sollte.
    Dann brauchen die Submit-Buttons unterschiedliche Namen, damit man sie unterscheiden und prüfen kann, welcher gedrückt wurde.
    Gib ihnen Namen und lass Dir im aufgerufenen Script dann mit print_r($_POST) (oder $_GET, wenn Du als Methode GET verwendest) ausgeben, welche Variablen gesetzt sind. Da erkennst Du dann auch Deine Submit-Buttons und wie Du sie abfragen musst. Welcher Weg ist besser?
    Also geht es um eine Löschbestätigung?

    Löschen-Button -> ruft Script auf
    Script sieht, dass der Löschen-Button gedrückt wurde -> gibt Abfrage Ja/Nein aus.
    Benutzer klickt auf Ja oder Nein -> ruft Script auf
    Script sieht, dass Ja oder Nein angeklickt wurde. Bei Nein wird wieder die Ausgangsseite angezeigt, bei Ja wird das eigentliche Löschen ausgeführt.

    Das kann alles im selben Script erfolgen.

    Freundliche Grüße,
    -Efchen
    • Antwort von nach 11 Stunden 0 hilfreich
      Re^2: Nachfrage bei Klick auf Submitbutton
      Hallo und danke für die Antwort,

      soweit ist das mir klar.

      Aber eine Frage noch zu dem Script. Soll die Form, in der die Submitbuttons erscheinen, auf ein gesondertes Script verweisen (außerhalb der Seite) oder soll die Verarbeitung, Nachfrage und Löschung auf der gleichen Seite durchgeführt werden?

      Ich vermute, dass es übersichtlicher ist die Form ein gesondertes Script aufrufen zu lassen.

      Gruß
      • Antwort von nach 13 Stunden 0 hilfreich
        Re^3: Nachfrage bei Klick auf Submitbutton
        Moin, Soll die Form, auf ein gesondertes Script verweisen
        oder soll die Verarbeitung, Nachfrage
        und Löschung auf der gleichen Seite durchgeführt werden?
        Wie schon geschrieben, würde ich alles im selben Script machen.

        Übersicht bringst Du rein, indem Du thematisch zusammengehörige Teile in unterschiedliche Dateien auslagerst, dort Funktionen baust und diese Dateien dann im Hauptscript nur noch includest. Im Hauptscript hast Du dann nur noch sprechende Funktionsaufrufe, die quasi eine Black Box darstellen, die es einfach für Dich macht, das Script mit einfachem Überfliegen gut zu verstehen.

        Liebe Grüße,
        -Efchen
        • Antwort von nach 15 Stunden 0 hilfreich
          Re^4: Nachfrage bei Klick auf Submitbutton
          Auch hilfreich ist die Verwendung von einer Templateengine. Dadurch kannst du Design und Logik voneinander trennen.
          • Antwort von nach 18 Stunden 0 hilfreich
            Re^5: Nachfrage bei Klick auf Submitbutton
            Dir auch ein freundliches Hallo, Auch hilfreich ist die Verwendung von einer Templateengine.
            Dadurch kannst du Design und Logik voneinander trennen.
            Das geht auch ohne Templateengine. Sowas wird erst bei größeren Projekten sinnvoll. Über die Größe wurde ja nichts gesagt; genaugenommen kann das Projekt nicht sonderlich groß sein, so wie die Frage formuliert ist.

            Grüße,
            -Efchen
            • Antwort von nach 18 Stunden 0 hilfreich
              Vorschlag
              Hallo nochmal,

              also soweit habe ich das bisher programmiert.

              Beispiel für die Abfrage des Buttons "Löschen"

              <?php
              session_start(); 
              require "_db.php";
              
              if ($_POST['ja']=="Ja")
              {
              echo $_POST['ja'];	
              }
              else
              {
              echo $_POST['nein'];
              }
              
              
              if ($_POST['komplettloeschen'])
              {
              	?>
              	<form action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]) ."?".session_name() . "=" . session_id();?>" method="post">
              	<input type="submit" name="ja" value="Ja"> <input type="submit" name="nein" value="Nein">
              	ACHTUNG!!! Es wird der Kunde mit allen eingegebenen Daten gelöscht! <br>
              	Wollen Sie das wirklich?
              
              <?php	
              $mysqli->query($komplettloeschen);
              header("Location: http://www.test.de/start.php");
              }
              ?>
              


              Die Form

              <form action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]) ."?".session_name() . "=" . session_id();?>" method="post">
              ...
              ...
              ...
              <input type="submit" name="neu" value="Weitere Person hinzufügen" />
              <input type="submit" name="speichern" value="Speichern" />
              <input type="submit" name="loeschen" value="Löschen" />
              </form>
              



              Ist das so eine saubere Sache oder geht es noch effektiver?

              Es gibt in diesem Projekt ca. 15 Seiten mit solchen Buttons. Ist es da noch immer ratsam alle Scripte für die Buttons auf der selben Seite zu lassen oder diese doch gesondert auf eine Seite zu legen?

              Gruß und Dank!
            • Antwort von nach einem Tag 0 hilfreich
              Re: Vorschlag
              Moin, Ist das so eine saubere Sache oder geht es noch effektiver?
              Naja, der angezeigten Code funktioniert so halt nicht.
              $_POST["komplettloeschen"] wird ja nie gesetzt, denn im Formular unten heißt der Lösch-Button "loeschen".
              Aber vom Prinzip ist das sonst schon okay. Es gibt in diesem Projekt ca. 15 Seiten mit solchen Buttons.
              Ist es da noch immer ratsam alle Scripte für die Buttons auf
              der selben Seite zu lassen oder diese doch gesondert auf eine
              Seite zu legen?
              Aktionen, die mehrfach vorkommen, sollte man natürlich auch nur einmal programmieren. Das lässt sich sicher durch irgendwelche Variablen-Übergaben oder über das Referrer-Script steuern, dass bei der Ja/Nein-Abfrage klar ist, wer sie aufgerufen hat.

              Liebe Grüße,
              -Efchen
            • Antwort von nach einem Tag 0 hilfreich
              OK! Dank!
              Da hat sich noch ein Fehler in meinen Vorschlag eingeschlichen.

              Freut mich, dass die Struktur soweit in Ordnung ist.

              Gruß und Dank!
            • Antwort von nach einem Tag 0 hilfreich
              Re^6: Nachfrage bei Klick auf Submitbutton
              Das geht auch ohne Templateengine. Sowas wird erst bei
              größeren Projekten sinnvoll. Über die Größe wurde ja nichts
              gesagt; genaugenommen kann das Projekt nicht sonderlich groß
              sein, so wie die Frage formuliert ist.
              Wirklich? Wie kann man Design und Code anders trennen? Würde mich persönlich jetzt auch interessieren.
              Bei zwei drei Seiten lohnt sich der Aufwand wirklich nicht, aber ich finde auch kleinere Projekte sind mit Templates besser zu entwickeln.


Keine passende Antwort gefunden? Jetzt eigene Frage stellen!