Textarea nach abschicken aktualisiert anzeigen

EuroCent

Klappstuhl 2.0
Kann mir einer sagen wie ich es realisiere das wenn ich auf einer Seite ein Info-Feld daten eintrage das er dann gleich die aktualiserte Daten einliest so das ich nicht nochmals ein Refresh machen muss damit es mir angezeigt wird?

Also wenn jemand etwas ins Info-Feld schreibt:

Code:
<form action="" method="post">
<table cellpadding="3" cellspacing="0" border="0" width="100%" align="center">
<tr>
<td align="center" colspan="2"><span class="smallfont"><b>Interne Informationsbox</b></span></td>
</tr>
<tr>
<td align="center" class="tableb" colspan="2"><span class="smallfont"><textarea name="infobox" cols="55" rows="15" id="focus" wrap="off">$info_message</textarea></span></td>
</tr>
<tr>
<td colspan="2" align="center"><input class="input" type="submit" value="Speichern" name="send" /> <input class="input" type="reset" value="Zur&uuml;chsetzen" /></td>
</tr>
</table>
</form>

Ich möchte nun das in der Textarea der Inhalt automatisch nur nach dem Abschicken des Formualr sofort angezeigt wird!

Die Daten werden in eine seperate Datei geschrieben damit ich nicht extra dafür eine Tabelle anlegen muss!

Wäre schön wenn ihr mir da weiter helfen könntet es zu realisieren!

hier der PHP abschnitt:

PHP:
<?php
// Auslesen und Speichern der Info-Box
if(file_exists("./datei.datei")) {
	$info_message = "";
	$filename = './datei.datei';
	$lese = @file($filename);
	foreach ($lese as $line_num => $line) {
		$info_message .= $line;
	}
	if(isset($_POST['send'])) {
		if(array($_POST['infobox'])) {
			$filename = './datei.datei';
			$somecontent = $_POST['infobox'];
			@chmod($filename, 0777);
			$file_rechte = @fileperms($filename);
			$handle = @fopen($filename, "w+");
			@fwrite($handle, $somecontent);
			@fclose($handle);
		}
	}

} else {
	$filename = './datei.datei';
	$somecontent = "";
	@chmod($filename, 0777);
	$file_rechte = @fileperms($filename);
	$handle = @fopen($filename, "w+");
	@fwrite($handle, $somecontent);
	@fclose($handle);
}
?>
 
Also du möchtest sozusagen direkt wieder zu deinem Formular gelangen oder?, dann mach es doch einfach per
PHP:
 header("Location:$pfad");
 
Nein Nein... wenn ich auf der Index.php bei mir in das Formular schreibe und ich Klicke auf abschicken das dann der neue Text sofort erscheint ohne das ich nochmals auf F5 oder wie auch immer Aktualisieren muss...

Da ich die texte in eine TXT speichern lasse das es sich nur um ein Infofeld handelt wollte ich nicht extra eine Tabelle für anlegen
 
Um eine Ausgabe der Variable "$info_message" zu bekommen musst Du diese auch in die entsprechende Notation schreiben.

HTML:
<td align="center" class="tableb" colspan="2"><span class="smallfont">
   <textarea name="infobox" cols="55" rows="15" id="focus" wrap="off"><?php echo $info_message ?></textarea></span>
</td>
 
Um eine Ausgabe der Variable "$info_message" zu bekommen musst Du diese auch in die entsprechende Notation schreiben.

HTML:
<td align="center" class="tableb" colspan="2"><span class="smallfont">
   <textarea name="infobox" cols="55" rows="15" id="focus" wrap="off"><?php echo $info_message ?></textarea></span>
</td>

Muss ich grad nicht verstehen oder?

Ich habe Templates die in der PHP aufgerufen und geparset werden...

Das heisst ich kann ohne Probleme $info_message angeben oder wie genau meinst?

Ich möchte es eben so haben wie beim Chat... Ich gebe etwas ein Klicke senden oder drücke Enter und dann steht es da genauso möchte ich es auch in der info-box auch haben. Nur leider weiss ich nicht wie ich es machen kann/könnte
 
Ja na das sowie so ;)

Aber dennoch hab ich das Problem das wenn ich etwas rein schreibe in die Info-Box das der Inhalt erst nach dem zweiten Aktualisieren angezeigt wird...

Nun hätt ich es gerne das er nach dem Speichern wie schon oben angesprochen angezeigt wird
 
nur strukturell ändern und das speichern vor das auslesen stellen:

* Das Datei anlegen ist unnötig, macht w+ beim ersten speichern automatisch solang man schreibrechte im verzeichniss hat. Und wenn nicht, dann geht es eh nicht ,)

PHP:
<?php
// Speichern der Info-Box
    if(isset($_POST['send'])) {
        if(array($_POST['infobox'])) {
            $filename = './datei.datei';
            $somecontent = $_POST['infobox'];
            @chmod($filename, 0777);
            $file_rechte = @fileperms($filename);
            $handle = @fopen($filename, "w+");
            @fwrite($handle, $somecontent);
            @fclose($handle);
        }
    }

// Auslesen
if(file_exists("./datei.datei")) {
    $info_message = "";
    $filename = './datei.datei';
    $lese = @file($filename);
    foreach ($lese as $line_num => $line) {
        $info_message .= $line;
    }
} else {
   $info_message = 'keine einträge'; // einen nicht vorhanden case schreiben
}
?>
 
Zurück