sr: Die Meldung über nicht gewünschtes Wiederholen vom POST-Senden

Hallo zusammen,

mein PHP-Gaestebuch hat ein Formular und schon geschriebene Threads in einer Datei. Ich fuege irgendeinen Text ein - der erscheint unten. Jetzt kommt z.B. ein User von seinem Rechner um einen Text zu schreiben - und er schafft das. Nach zig Minuten moechte ich pruefen, ob jemand was neues geschrieben hat. Ich Aktualisiere mein Gaestebuch entweder per F5 in IE, oder per Strg+R in Mozilla und bekomme die Meldung "Die Seite kann ohne erneutes Senden der Information nicht aktualisiert werden". Wenn ich auf "Wiederholen" drucke , sehe ich sowohl die Aenderungen des Users, als auch meinen, vor zig Minuten geschickten Text noch einmal, der automatisch zum zweiten Mal eingefuegt wurde. Das letztere war natuerlich nicht gewuenscht :))

Drucke ich F5 noch ein Mal, so bekomme ich wieder diese Meldung und noch eine Kopie meines Textes.

Die Frage ist folgende:
Kann ich das irgendwie vermeiden, ohne dass ich Formular und Gaestebuch in verschiedenen Dateien mache und ohne einer "Bestaetigungs"-Seite?

Unter IE gibt es einen Trick dafuer:
if (isset($_POST["submit"]))
    echo("<meta http-equiv="refresh" content="0" />");
wobei ich nochmal mein Gaestebuch nachlade, jedoch schon ohne POST-Eingaben.

Das funktioniert aber unter Mozilla 1.3.1(Gecko/20030425) und Netscape 7.1 leider nicht - die Meldung kommt trotzdem.

MfG,
sr

  1. also ich mach das immer, in dem ich folgendes mache:

    if (isset($var))
    {
    blabla
    HEADER("LOCATION:gbausgabe.php");
    }

    also mit header funst das!!
    achja, unud du muss in deiner datei gbausgabe.php
    noch ganz oben, beovor ein html tag beginnt glaub ich
    noch folgendes eingeben:

    <?
    ob_start();
    ?>

    bei mir funst das so immer!
    hoffe bei dir auch!
    viel spaß!

    1. HEADER("LOCATION:gbausgabe.php");

      Wäre auch meine Idee gewesen, einfach auf die Anzeigeseite weiterleiten, weil die ja ohne Probleme reloaded werden darf. Allerdings ist es nicht standardkonform, bei einer Weiterleitung nur den relativen Pfad anzugeben, da ist eigentlich der komplette Pfad samt Server nötig.

      iGEL

      1. Danke Frank,
        Danke iGEL,

        es geht :))

        if (isset($_POST["submit"])) {
        $absolute_adresse = "http://" . $_SERVER["HTTP_HOST"] . $_SERVER["PHP_SELF"];
        header("Location: " . $absolute_adresse);
        }

        MfG,
        sr