• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Einträge oben anzeigen! Bloß wie?

Status
Für weitere Antworten geschlossen.

Der-Anfänger

Neues Mitglied
Hey,
also hab wieder mal ein problem xD
Ich habe einen ein PHP Code der Daten in eine .txt speichert:
PHP:
<?php
$name=$_POST['name'];
$vorname=$_POST['vorname'];
$date = date("d.m.Y,H:i");
$ausgabe=$date. ", ". $name. ": ". $vorname."\n";
$datei=fopen("daten.txt","w");
$output=fwrite($datei,$ausgabe);
fclose($datei);
?>
Jetzt will ich aber das die "Einträge" also in der .txt Datei, die neuesten zu erst angezeigt werden, d.h. dass sie nicht unten sonder einfach oben angehänt werden.
Thx.
 
Geht afaik nur über einen Umweg:
PHP:
<?php
  //PHP 5
  $datei = 'daten.txt';
  $name=$_POST['name'];
  $vorname=$_POST['vorname'];
  $date = date("d.m.Y,H:i");
  $inhalt = file_get_contents($datei);
  $ausgabe=$date. ", ". $name. ": ". $vorname."\n".$inhalt;
  file_put_contents($datei, $ausgabe);

  //PHP 4
  $datei = 'daten.txt';
  $name=$_POST['name'];
  $vorname=$_POST['vorname'];
  $date = date("d.m.Y,H:i");
  $inhalt = '';
  $handle = fopen($datei, 'r');
  while($line = fgets($handle))
    $inhalt .= $line;
  $ausgabe=$date. ", ". $name. ": ". $vorname."\n".$inhalt;
  fclose($handle);
  $handle = fopen($datei, 'w');
  fputs($handle, $ausgabe);
  fclose($handle);
?>
Ich glaube die PHP 4 Variante ist eigentlich weit einfacher als meine hier, aber mit fopen() etc. hab ich lange nicht gearbeitet ;)
 
Zuletzt bearbeitet:
Dein server unterstützt doch bestimmt mysql,
PHP:
<?php
  $connect = mysql_connect("host","username","password");
   mysql_select_db("datenBank");
   
  $name=$_POST['name'];
  $vorname=$_POST['vorname'];
  
  $sql = 'INSERT INTO
    "tabellenname"
     ("name", "vorname")
    VALUES ("'$name'", "'$vorname'")
    ';
    
  $qry = mysql_query($sql);
?>
<?php
  $qry = '
    SELECT *
    FROM tabellenname
 ORDER BY ID Desc
   ';
  
 $sql = mysql_query($qry);
   
  while($ausgabe = mysql_fetch_assoc($sql) {
   print("<br>");
   print($ausgabe['Name']);
   print(", &nbsp;");
   print($ausgabe('Nachname']);
 }
?>
Der code ist allerdings ungetestet, die tabelle braucht:
Create Table tabellenname (
ID INT auto_increment primary key,
Name Varchar(255),
Nachname Varchar(255)
);

So müsste se klappen
 
PHP:
$datei=fopen("daten.txt","w");
überschreibt dir deine datei immer wieder und setzt nur die neuen werte in die datei. vielleicht sollte da ein "a" statt eines "w" stehen. damit dir neue daten auch angehängt werden.
 
Dann werden sie aber immer hinten angehängt (auch wenn der Zeiger am Anfang steht), er will sie ja vorne haben. Darum meine Version, erst mit "r" öffnen, auslesen, anhängen, mit "w" öffnen, reinschreiben.

Wesentlich einfacher ist aber noch die Methode mit file_get/put_contents, wie auch oben beschrieben.
 
Genau, bei "w" werden die einträge erstetzt und bei "a" unten angehänt.
Ja ich schau jetzt mal nach anderen Möglcihkeiten weil Mysql kann ich nicht nutzen...
Aber thx für eure Posts
 
schonmal überlegt die datei in ne variable zu laden , dann "neu" mit dem string an erster stelle zu schreiben ?

wäre sehr einfach und könnte durchaus auch ein anfänger drauf kommen :oops:
 
schonmal überlegt die datei in ne variable zu laden , dann "neu" mit dem string an erster stelle zu schreiben ?

wäre sehr einfach und könnte durchaus auch ein anfänger drauf kommen :oops:
Verdammt, das hab ich doch jetzt schon zwei Mal geschrieben, einmal sogar mit zwei Codebeispielen - warum hört denn keiner auf mich :neutral:

BTW: Hab nen Fehler im PHP 4 Teil oben gefunden, ist jetzt weg ;)
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben