PHP wie macht man einen reset-POST

Ich versuche reset der Post sende ich nach der form.
In einigen threads habe ich gelesen, dass es sein könnte $_POST = array();
aber als ich es versucht habe, es funktioniert nicht.

Gibt es Lösungen zum zurücksetzen der POST?

InformationsquelleAutor ToExeCute | 2016-10-18



4 Replies
  1. 3

    Um zu verhindern, dass eine form neu eingereicht, Sie könnte so etwas tun – es sollte ziemlich selbsterklärend:

    function uniquePost($posted) {
        //take some form values
        $description = $posted['t_betreff'].$posted['t_bereich'].$posted['t_nachricht']; 
        //check if session hash matches current form hash
        if (isset($_SESSION['form_hash']) && $_SESSION['form_hash'] == md5($description) ) {
           //form was re-submitted return false
           return false;
        }
        //set the session value to prevent re-submit
        $_SESSION['form_hash'] = md5($description);
        return true;
    }
    
    if (isset($_POST["t_submit"]) && uniquePost($_POST)) {
        $ticket_query   =   $db->prepare("INSERT INTO `ticket` (`Absender`, `Betreff`, `Abteilung`, `Prioritat`, `Erstellt`, `Nachricht`) VALUES (:sender, :betreff, :abteilung, :priority, :datum, :nachricht)");
        $ticket_query->execute(array(
        'sender'    =>  $_SESSION["id"],
        'betreff'   =>  $t_betreff,
        'abteilung' =>  $t_bereich,
        'priority'  =>  $t_priority,
        'datum'     =>  date('d.m.Y'),
        'nachricht' =>  $t_nachricht                                        
        ));
        //no need to reset the post variables
    }
    • Ernsthaft? Das ist, was die OP gefragt wurde? Völlig unklar Frage. Jedoch, wenn Sie es zu Fragen, nicht erneut Einreichen des Formulars, können Sie auch einfach Post/Redirect/Get.
  2. 1

    Können Sie die reset-post wie folgt;

     foreach ($_POST as $key => $value) {
        $_POST[$key] = NULL;
     }

    Methode 2:-

    unset($_POST);
    • ist es möglich, wenn ich aktualisieren mit F5-Taste meines Browsers, dass alle Beiträge gelöscht werden?
    • ja.. Man kann ..
    • warten Sie mabye ich hier einen Fehler mache: nachdem ich den Post gespeichert und es mit der Abfrage, die ich drücken Sie die F5-Taste zum aktualisieren eines in meiner Datenbank ist der post doppelt.
    • Ich denke, Sie werden verhindern, dass die übermittelten Daten eingefügt werden doppelt in Ihrer Datenbank?
    • Bitte fügen Sie obigen code in den oberen Teil des .php-Datei.
  3. 0

    Ich bin derzeit dabei und kam mit einer funktionierenden Lösung.

    Nur mit unset($_POST) nicht tun, der trick. Es ist immer noch das popup aus zu senden die Informationen. Der Weg, um es zurückzusetzen ist eigentlich zu senden, es auf eine andere Seite. Diese kann getan werden, mit der header Funktion.

      header("Location: " . $_SERVER['PHP_SELF']);

    Jetzt werden Sie frei von der Nachricht und Ihr $_POST Daten.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.