andi: Reload nach Datenspeicherung

Hallo,
Gibt es eine Möglichkeit, nachdem ich mittels Formular ewtas in eine db gespeichert habe, mittels reload diese daten sofort wieder auszulesen und anzuzeigen?

Danke Andi

  1. Da habe ich fast das selbe Problem. Ich nutze ein Formular, dass ich direkt wieder aufrufe, wenn ich damit Daten in eine Datenbank geschickt habe.

    Mein Problem hierbei ist, dass das Formular bei Änderungen nicht funktioniert.

    aendern.php?id=123
    +------------+
    | wert: 1    | im Formualar nach Wert: 2 geändert!
    +------------+
    Ändern?
    submit-> nach anzeige.php?id=

    anzeige.php?id=123
    +------------+
    | wert: 2    | zeigt den neuen Wert an!!!
    +------------+
    Änderung überarbeiten?
    submit-> nach aendern.php?id=

    aendern.php?id=123
    +------------+
    | wert: 1    | Zeigt wieder den alten Wert an?!
    +------------+

    Erst nachdem ich das Browserfenster aktualisiere, wird der Wert aus der Datenbank gezogen und richtigerweise dann mit "2" angezeigt.

    Warum weiß ich nicht! Ich glaube das geht am besten mit mysql_free_result() und mysql_close() und dann wieder neu einladen?! Aber das ist ehrlich nur geraten. Hat bei mir irgendwie auch nicht funktioniert.

    Ab Version PHP 4.2 kann man einem mysql_connect() einen Parameter mitgeben (new_link), der bei selben Verbindungsdaten dennoch eine neue ID nutzt. Wie dir das aber helfen könnte, weiß ich auch nicht?!

    Sorry für die dürftige Info, aber vielleicht weißt du ja jetzt, wo du mehr finden könntest.

    Verona

    1. Mein Problem hierbei ist, dass das Formular bei Änderungen nicht funktioniert.

      Erst nachdem ich das Browserfenster aktualisiere, wird der Wert aus der Datenbank gezogen und richtigerweise dann mit "2" angezeigt.

      Du hast möglicherweise ein Cache-Problem. Probiere es mal mit der Zeile

      header("Pragma: no-cache");

      Siehe http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.32 bzw. http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9.

      Gruß,
        soenk.e

  2. Gibt es eine Möglichkeit, nachdem ich mittels Formular ewtas in eine db gespeichert habe, mittels reload diese daten sofort wieder auszulesen und anzuzeigen?

    Wie möchtest Du die Daten anzeigen? Wenn's wieder im Formular sein soll, dann baue Formular und Datenspeicherung in ein Skript. Das Formular ruft sich dann beim Abschicken selbst auf und trägt die neuen Werte sowohl in die Datenbank als auch in das Formular ein.

    Willst Du die Daten in einer anderen Seite anzeigen, lasse auch dann das Formular wie oben sich selbst aufrufen, aber anstatt das Formular wieder anzuzeigen, leitest Du den Browser an die gewünschte Seite weiter:

    header("HTTP/1.1 303 See other");
      header("Location: http://".$_SERVER["HTTP_HOST"]."/andere/seite.php");

    Die 303-Antwort ist extra für solche Fälle gedacht (siehe http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.3.4). Beachte bitte, daß Du für Location eine _vollständige_ Adresse angibst.

    Gruß,
      soenk.e

    1. Danke für Deinen Tip,
      lg
      Andi