Seite refreshen!

maeg

Erfahrenes Mitglied
Hallo zusammen,

mein Problem:

Ich habe ein Formular zum Benutzer bearbeiten. Bei erfolgreicher Bearbeitung steht erscheint unter dem Formular ein Text "Benutzer erfolgreich bearbeitet". Nun hätte ich gerne, dass auch gleich die geänderten Werte in den Textfeldern stehen.
Gibt es einen Befehl, der dem Browser sagt, die Seite nochmal komplett neu zu laden?
Mit einer PHP-Lösung wäre ich sehr glücklich :-)

MfG maeg
 
Nach erfolgreicher Bearbeitung der Daten in der Datenbank kannst Du mit dem Befehl header() einen Redirection auf die selbe Seite veranlassen.
Es darf aber vor header() nichts ausgegeben werden.
Wenn der Reload verzoegert stattfinden soll empfehle ich Dir den HTML-Meta-Refresh.
 
Nun, da ich an einem ähnlichen Problem sitze, klinke ich mich einfach mal mit in die Diskussion ein.

1.) Wie soll das gehen, dass man noch keine Daten ausgibt im Browser, wenn man doch das Formular darstellen muß? Dafür muß ich doch den HTML-Code übermittelt haben, oder steh ich da jetzt komplett auf dem Schlauch?

2.) Wenn es, wie ich es für meinen Fall vermute, nicht geht, alle Ausgaben an den Browser nach dem header()-Aufruf zu machen, bleibt dann nur noch die Möglichkeit mit Javascript die Seite neu zu laden?
 
Wie soll das gehen, dass man noch keine Daten ausgibt im Browser, wenn man doch das Formular darstellen muß? Dafür muß ich doch den HTML-Code übermittelt haben, oder steh ich da jetzt komplett auf dem Schlauch?
Es geht in dem Sinne, dass die Verarbeitung der vom Formular übergebenen Daten vor der Ausgabe stattfindet, etwa:
PHP:
<?php

	if( $erfolgreich ) {
		header('Refresh: x; url="foobar"');
	}

?>

…

Wenn es, wie ich es für meinen Fall vermute, nicht geht, alle Ausgaben an den Browser nach dem header()-Aufruf zu machen, bleibt dann nur noch die Möglichkeit mit Javascript die Seite neu zu laden?
Auch das ist möglich. Ich rate dir aber ohne Alternativverweis davon ab.
 
Mh ok, ich hab das jetzt mal anders gelöst und bin gespannt, was der PHP-Experte dazu meint (du hast mir jetzt schon dreimal hilfreiche Tipps gegeben, das ist überdurschnittlich :))

Ich hab zuerst die Abfrage, ob die Variable gesetzt ist ...

PHP:
 if (isset($_POST['Title]) {
 ...}

... und danach das Formular, in dem Title und all die anderen Variablen gesetzt werden, und - siehe da - es kommt einem Refresh gleich, zumindest in meinem Fall, da ich dann die $_POST-Variablen, sofern gesetzt, an das Formular übergebe.
 
Ich persoenlich pruef ja immer auf den Submit-Button, aber das kann man im Grunde handhaben wie man lustig ist.
Deine Loesung entspricht auch im Grunde dem was ich, und wohl auch Gumbo und ander e so machen.
Am Anfang des Scripts wird geprueft ob Daten reingekommen sind, wenn ja werden diese eingetragen und falls noetig mittels header() umgeleitet/neu geladen. Wenn nicht wird halt ganz normal das Script weiter ausgefuehrt und Daten ausgegeben.
 
Zurück