Hallo, ich habe mir eine Art Gästebuch gebastelt, was die Daten in einer .txt Datei speichert.
Ich möchte es gerne so haben, das alle Einträge gespeichert werden.
Nur das Problem ist, das die Datei später so aussieht:
Name1|Text1
Name2|Text2
(Leerzeile, die automatisch beim ersten Eintrag entsteht)
So, wenn ich die Daten dann aufrufe habe ich das Problem, das bei dem leereintrag nix kommt, aber die Ausgabe sieht dann so aus:
ZitatAlles anzeigen
Name: Name1
Test: Text1
_____
Name: Name2
Text: Text2
_____
Name:
Text:
Um diese Leerzeile zu unterdrücken habe ich mir dann folgendes ausgedacht.
Ich habe eine count.txt Datei, die die Einträge zählt.
Wenn die count.txt Datei = 0 ist, soll der erste Eintrag die vorhandene Datei überschreiben.
Wenn Count.txt >= 1 ist, sollen die nachkommenden Einträge angehangen werden.
Somit kann die die eintrag.txt Datei zum Beginn mit dem Inhalt "aaa" füllen.
Der wird dann einfach durch den ersten Eintrag ersetzt, dadurch entsteht keine Freizeile.
Alle anschließenden Eintragungen werden dann einfach angehangen.
Die Ausgabe habe ich so geregelt, das wenn count.txt = 0 ist der Text "keine Eintragungen" kommt, wenn count.txt >= 1 ist, werden die Einträge ausgelesen.
Die send.php Datei, die die Einträge einträgt habe ich so aufgebaut:
ZitatAlles anzeigen
<?php
$id = $_GET['id'];
$user = $_GET['user'];if(!file_exists("db/gb/count/count ($id).txt"))
{$counter=fopen("db/gb/count/count ($id).txt", "a");}
else
{$counter=fopen("db/gb/count/count ($id).txt", "r+");}
$aufruf=fgets($counter,100);
$aufruf=$aufruf;
rewind($counter);
fputs($counter,$aufruf);
fclose($counter);$nummer=$aufruf;
if ($aufruf == "0")
{
echo "0";
$eintrag="Name|Text (wird noch ergänzt)";$datei = fopen("db/gb/eintrag ($id).txt", "a");
fwrite($datei, "\n".$eintrag);
fclose($datei);
}
elseif ($aufruf >= "1")
{
echo "1";
$eintrag="Name|Text (wird noch ergänzt)";
$datei = fopen("db/gb/eintrag/eintrag ($id).txt", "a");
fwrite($datei, "\n".$eintrag);
fclose($datei);$text=file("db/gb/eintrag/eintrag ($id).txt");
$textneu=array_shift($text);
$handle=fopen("db/gb/eintrag/eintrag ($id).txt","w");
foreach($text as $neudat){
fputs($handle,$neudat);
}
fclose($handle);echo "Text eingetragen";
}?>
Leider funktioniert das nicht
Was mache ich falsch?[/quote]