Ankündigung

Einklappen
Keine Ankündigung bisher.

$_POST oder $_GET -Variablen zerstören?

Einklappen

Neue Werbung 2019

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

  • Pain-maker
    hat ein Thema erstellt $_POST oder $_GET -Variablen zerstören?.

    $_POST oder $_GET -Variablen zerstören?

    Hallo Forum!
    Gibt es eine Möglichkeit $_GET oder $_POST -Variablen zu zerstören?
    ich habs mal mit unset() probiert hat aber nicht geklappt.

    Danke für Hilfe

  • webbi
    antwortet
    Die übermittelten Daten werden dann in die DB eingetragen. Allderdings hab ich das Problem, dass wenn ich die Seite aktualisiere der DB-Eintrag erneut durchgeführt wird da die $_POST-Daten ja noch existieren.
    sag das doch gleich, das ist ein komplett anderes Problem.

    Du könntest nach erfolgreichem Eintragen in die DB die Seite per Header weiterleiten. Ist die einfachste und sinnvollste Möglichkeit. Optinal wäre es denkbar zu überprüfen ob der Eintrag bereits existiert (nicht 2x das gleiche Eintragen oder kein Eintrag in ganz kurzer Zeitfolge)

    Einen Kommentar schreiben:


  • Ashergul
    antwortet
    also für das problem wird dir das zerstören der variablen am server nicht helfen, da die post/get parameter afaik am client liegen... die meldung: Die Daten werden erneut an den Server gesendet stammt ja auch vom IE und nicht vom Server.

    ne möglichkeit die dir vielleicht hilft:
    du speicherst die variable die per post übertragen wird in der Session am Server und vergleichst dann vor dem db eintrag die Post Variable mit der Session variablen. wenn die variablen gleich sind, kein eintrag, ansonsten soll eingetragen werden.

    beispiel:
    PHP-Code:
    <?php
    <?PHP if(isset($_POST['message']) && ($_POST['message'] != $_SESSION['message']) {
      
    //DB Eintrag
    $_SESSION['message'] = $_POST['message'];
    }
    ?>

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    Wer lesen kann, ist klar im Vorteil

    11.19. Wie verhindere ich mehrfaches Absenden eines Formulars?
    http://www.php-faq.de/q/q-formular-mehrfach.html

    Gruß
    phpfan

    Einen Kommentar schreiben:


  • Pain-maker
    antwortet
    Ja also ich hab ein Formular bei dem Daten per $_POST übermittelt werden.
    Die übermittelten Daten werden dann in die DB eingetragen. Allderdings hab ich das Problem, dass wenn ich die Seite aktualisiere der DB-Eintrag erneut durchgeführt wird da die $_POST-Daten ja noch existieren.
    PHP-Code:
    <?php
    if(isset($_POST['message'])) {
       
    // DB-Eintrag
    }
    ?>
    Ich würde also gerne die $_POST-Daten nach dem DB-Eintrag löschen so das sie beim aktualisieren der Seite nicht mehr zugänglich sind.

    Einen Kommentar schreiben:


  • webbi
    antwortet
    klar geht das. Warum auch nicht?

    probiere folgendes Script.

    PHP-Code:
    <?php

    error_reporting
    (E_ALL);

    print_r ($_POST);
    print_r ($_GET);

    unset(
    $_GET);
    unset(
    $_POST);

    print_r ($_POST);
    print_r ($_GET);
    ?>
    Nach dem Unset sind beide undefiniert.
    Stellt sich aber immernoch die Frage nach dem Sinn.

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    Ne also die "super_globals" kannst du nicht "löschen" ... warum müsstest du es denn machen?

    Einen Kommentar schreiben:

Lädt...
X