Ankündigung

Einklappen
Keine Ankündigung bisher.

Problem mit PHP-Gästebuch - Neuste Einträge zuerst ausgeben?

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Problem mit PHP-Gästebuch - Neuste Einträge zuerst ausgeben?

    Hi,

    ich habe in PHP ein kleines Gästebuch. Die Daten werden hierbei in eine .dat Datei gespeichert.

    Wie bekomme ich das hin, dass die Einträge sortiert von neu nach alt sind? Ich habe versucht beim schreiben einfach an den Dateianfang zu schreiben also mit r+ anstelle von a. Aber dann werden so wies aussieht die alten Daten die schon in der Datei sind überschrieben.

    Hat jemand ne andere Lösung?

    Hier der gesamte code:
    gb.php (Zum Eintragen)
    PHP-Code:
    <?php
    $datum 
    date("d.m.Y"); 
    $uhrzeit date("H:i"); 
    $daten="$eintrag
    [i]geschrieben am 
    $datum um $uhrzeit Uhr von <a href=mailto:$email>$name</a>
    [/i]
    "
    ;
    $datenbank "daten.dat";
    $datei fopen($datenbank,"a");
    fwrite($datei$daten);
    ?>
    index.php (Zum auslesen)
    PHP-Code:
    <?php

    $datenbank 
    "daten.dat";
    $datei fopen($datenbank,"r");
    fpassthru($datei);

    ?>


  • #2
    Lies zuerst mal alle Einträge im Gästebuch aus und speicher sie Dir in einer Variable.

    Dann hängst den neusten Eintrag einfach vorne dran und speicherst das gesammt dann in der Datei ab.

    ungefähr so :

    PHP-Code:
    <?php
          $eintraege 
    "";
          
    $dt "gb.txt";

          
    $file fopen($dt"r");
          while(!
    feof($file)){
          
    $eintraege .= fgets($file,255);
          }
          
    fclose($file);
          
    $aktueller_eintrag'<table cellspacing=0 cellpadding=0 border=2 width=345>
                                  <tr>
                                    <td width="250">'
    .$_POST["UserName"].'<td>
                                    <td align="right" width="100">'
    .date("d.m.Y").'</td>
                                  </tr><tr>
                                    <td colspan=3>'
    .
                                      
    $kommentar
                                    
    .'</td>
                                 </tr>
                               </table>
    '
    ;

            
    $neuer_eintrag$aktueller_eintrag.$eintraege;

            
    $file fopen($dt"w+");
            
    fwrite($file $neuer_eintrag);
            
    fclose($file);

    ?>

    Kommentar

    Lädt...
    X