txt so in php auslesen, dass diese online editierbar

ich konnte das Problem der Einträge, die einfach verschwinden nicht lösen.

Wenn ich die Seite aufrufe, auf der ich mir die archiv.txt in editierbarer Form ausgebe, ich aber keinerlei Änderung vornehme und den Speicherbutton nicht betätige und das Browserfensert einfach schliesse oder mit zurück auf die vorige Seite wechsele sind alle Daten, welche in der archiv.txt standen futschi.
Was muss ich machen, damit es die Daten wieder zurücksichert, wenn jemand keine änderungen vornimmt?

Ich wäre echt froh, wenn mir jemand weiterhelefen kann, hab den ganzen Mittag den Kopf zerbrochen, wie ich dies anstellen kann, dass es mir die Daten nicht löscht.

Gruß
Helga
 
Original geschrieben von helga
ich konnte das Problem der Einträge, die einfach verschwinden nicht lösen.

Wenn ich die Seite aufrufe, auf der ich mir die archiv.txt in editierbarer Form ausgebe, ich aber keinerlei Änderung vornehme und den Speicherbutton nicht betätige und das Browserfensert einfach schliesse oder mit zurück auf die vorige Seite wechsele sind alle Daten, welche in der archiv.txt standen futschi.
Was muss ich machen, damit es die Daten wieder zurücksichert, wenn jemand keine änderungen vornimmt?

Ich wäre echt froh, wenn mir jemand weiterhelefen kann, hab den ganzen Mittag den Kopf zerbrochen, wie ich dies anstellen kann, dass es mir die Daten nicht löscht.

Gruß
Helga
Also ich habe das Script genauso wie ich es gepostet habe auch am laufen und das funktioniert ohne diesen Fehler. In dieser Datei sind auch gar keine Befehle zum schreiben, deshalb kann das fast nicht sein.
Werde aber nachher nochmal schauen woran das liegen kann, hab nur jetzt grad keine Zeit mehr.
Achso, nl2br(); kann man natürlich auch nehmen, ist ja eigentlich kein unterschied. Hatte aber glaub irgendwann mal Probleme mit der funk. und deshalb hab ich str_replace genommen. Sollte aber normal schon funktionieren.
Gruß Stefan
 
Hallo Stefan,

ich hab herausgefunden an was es lag

PHP:
<input type="submit" name="Submit" value="speichern">
 	<?php
	$text = $HTTP_POST_VARS["text"];
	$datei = fopen("archiv.txt", "w");
	fwrite($datei, $text);
	fclose ($datei);
	
	?>

Diese Zeile, welche abprüft, ob der Sendenbutton getätigt wurde hat gefehlt

if (isset($_POST["Submit"])){


Gruß
Helga
 
Hallo Zusammen,

jetzt hatte ich das ganze mit dem Editieren echt super laufen, und habe den Editierbaren Bereich so gestaltet, dass er ziemlich übersichtlich ist.
Jetzt soll das ganze so umgebaut werden, dass man mit Radiobutton den Eintrag löschen kann.
Ich weiß gerade echt nicht wie ich das Anfangen soll. Ist es überhaupt möglich die Textdatei so auszuelesen, dass vor jederm Eintrag ein Radiobutton ist?

Macht man das dann über:
PHP:
$datei = file ("*datei*")
und packt es in ein Array?

Wenn ja wie muss das Array aussehen?

Ich hoffe ihr könnt mir weiterhelfen, denn ich fühle mich echt ins kalte Wasser geschmissen mit meinem ersten PHP Projekt.

Gruß
Helga
 
Hallo!

Ein Super Script!

Wie müsste ich den ändern, wen ich möchte, das bei klick auf das Button auh noch gleich nach dem speichern eine neue Seite geladen wird?

Ich habe das Problem das wen man Diese Seite verlässt ohne den Text zu editiern das dan alle Einträge verloren gehen.

ich habe es mit onclick Funktion am Button versucht. Aber es ging nicht.

Also Speichern und Weiter als Funktion.

Danke!
 
Hallo,

ich hätte auch auch noch eine Frage: Ich habe die txt über ein Formular erstellt, also wie ein Gästebuch (also mit Name und Inhalt die dann beide in die Txt datei gespeichert werden). Nun würd ich das auch gerne wieder in einem Formular bearbeiten. Nur wie kann ich es machen das der Name im Textfeld Name und der Inhalt im Textfeld Inhalt geladen wird?

Danke schonmal im vorraus.
 
Also ich nutze folgendes Script:

PHP:
<html>
<head>
<title>Online- Editor</title>
<meta name="author" content="MrFISHMAN">
</head>
<body>
<form action="edit.php" method="POST">
<div align="center">
<h2><a href="edit.php">Der Online Editor</a></h2>
<?php
$dir = "./";
if($action=="")
{
?>
<table border="0">
<tr>
 <td>Neues Dokument erstellen</td>
 <td><input maxlength="20" type="Text" name="file_new"></td>
 <td><input type="Submit" name="action" value="neu"></td>
</tr>
<tr>
 <td>Dokument öffnen</td>
 <td><select name="file_edit" size="1">
<?php
$handle = opendir($dir);
 while($file = readdir($handle))
 {
   if(ereg("\.txt$",$file))
   {
    echo "<option value=\"$file\">$file</option>";
   }
 }
closedir($handle);
?>
 </select></td>
 <td><input type="Submit" name="action" value="oeffnen"></td>
</tr>
</table>
<h3>ACHTUNG: Es wird nicht geguckt ob die Datei existiert<br>
Vorhandene Dateien werden überschrieben (gilt für neu)</h3>
<?php
}
if($action=="neu" | $action=="oeffnen")
{
if($action=="neu")
{
 $file_name=$file_new.".txt";
 $f = fopen($dir.$file_name,"w");
 if ($f)
 {
  fwrite($f,"");
  fclose($f);
 }
}
else $file_name = $file_edit;
echo "[$file_name]";
?>
<textarea name="dokument" cols="110" rows="30">
<?php
if($action=="oeffnen")
{
 $file_inhalt = @file($dir.$file_name);
 if(is_array($file_inhalt))
 {
  foreach($file_inhalt as $row)
  {
   echo $row;
  }
 }
 else
 {
  echo stripslashes($file_inhalt);
 }
}
?>
</textarea><br>
<input type="Submit" name="action" value="speichern">&nbsp;&nbsp;<input type="reset">
<input type="hidden" name="file_name" value="<?php echo $file_name; ?>">
<?php
}
if($action=="speichern")
{
$f = fopen($dir.$file_name,"w");
if ($f)
{
  fwrite($f,$dokument);
  fclose($f);
}
?>
<h3>Datei wurde erfolgreich unter "<?php echo $file_name; ?>" gespeichert!</h3>
<input type="hidden" name="action" value="">
<a href="edit.php">zurück zum Hauptmenü</a>
<?php
}
?>
</div>
</form>
</body>
</html>

Wichtig, das Verzeichniss mit den TXT- Files muss CHmod 777 haben


Grtz MrF
 
@Mr. FISHMAN oder alle die mir helfen können :)
Hi
ich benutze dein Script es eigentlich gut nur hat es einen bitteren Nachgeschmack :)
Wie bekomme ich die BACKSLASHES \ aus der Datei raus (jedes mal beim Speichern kommen welche dazu) ?

Hab die Suchfunktion benutzt aber da ich noch nicht so gut im Scripten bin nichts erreicht :(


mfg
Thomas
 
Zurück