Chris: erneutes Senden der Daten verhindern

Hat mann die Möglichkeit das man wenn man F5 drück die Daten nicht erneut gesendet werden?

  • Bitte nicht leere Seite dazwischen einfügen als Lösung bringen
  1. Ja, durch ein hinzufügen eines headers :)

    zb

    if ($_POST["submit"])
       if(!$_POST["titel"]) echo[] = "Bitte titel eingeben";
       if(!$_POST["text"]) echo[] = "Bitte text eingeben";
       if(!echo) $query = mysql_statement;

    if($query) header ("Location: www.DEINEURL.com/zieldatei.php");
       else $error[] = "DB Fehler";
    }

    if ($error) foreach($error as $msg) echo $msg;

    ich hoffe ich konnt Dir helfen :)

    das header(Location: ...  is wichtig dafür

  2. Moin Moin !
    ^-- das ist eine Begrüßung, sowas wird hier gern gesehen!

    Dein Ansatz ist falsch. Da Du erneutes Senden auf keinen Fall absolut sicher verhindern kannst (und wenn Du Dich auf den Kopf stellst, es geht nicht), mußt Du doppelt gesendete Daten erkennen. Das geht zum beispiel ganz primitiv, wenn Du jedem Formular eine laufende Nummer mitgibst und überprüfst, ob die Nummer, die gesendet wurde, schon mal benutzt wurde. Ein Beispiel findest Du im Source dieses Forums, und den findest Du irgendwo bei sourceforge.net. Wo genau, findest Du im Archiv.

    Alexander

    --
    Nein, ich beantworte keine Fragen per eMail. Dafür ist das Forum da.
    Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so!"
    1. Ein Beispiel findest Du im Source dieses Forums, und den findest Du irgendwo bei sourceforge.net.

      http://sourceforge.net/projects/php-flp/