fastix®: Gästebucheinträge sortieren?

Beitrag lesen

Moin!

<?

So geht das nicht, es ist auf bestimmte unsichere Optionen in der php.ini angewiesen.

Konfiguration:

$neu_vor_alt=true; # >> false, wenn alt vor neu: Ohne Anführungsstriche!

$filename="eintraege.txt";

Wir lesen erstmal die Daten:

$daten_alt=""; $daten_neu="";

if (file_exists($filename)){
  $datei = fopen($filename,"r");
  $daten_alt = fread($datei,filesize($filename));
  fclose($datei);
}

if (isset($_POST['abschicken'])) {
  $kommentar = stripslashes(htmlentities(($_POST['kommentar'])));
  # Es fehlte das Umwandeln von HTML-Code.
  # Sonst wird womöglich irgendwelcher JS-Scheiss in Dein GB eingetragen und alle wundern sich :)
  $kommentar = str_replace("\n","<br>",$kommentar);
  # str_replace ist bei einfachen Erstzungen schneller

# Die anderen Variablen sind genau so zu behandeln:
  $name = stripslashes(htmlentities(($_POST['name'])));
  $email= stripslashes(htmlentities(($_POST['email'])));
  $url =  stripslashes(htmlentities(($_POST['url'])));

# Basteln
  $daten_neu = "<hr><b>Name:</b> $name<br>
            <strong>Ort:</strong> $ort<br>
            <strong>Email:</strong> <a href=mailto:$email>$email</a><br>
            <strong>Homepage:</strong> <a href=$url>$url</a><br>
            <strong>Datum:</strong> " . date('d. F Y H:i') . "<br>
            <strong>Eintrag:</strong><br>
            $kommentar<br>\n\n";

# Hier wird es ernst:
   if ($neu_vor_alt) {
      $daten=$daten_neu.$daten_alt;
   } else {
      $daten=$daten_alt.$daten_neu;
   }

# Flatfile öffnen und überschreiben:
   $datei = fopen($filename,"w");
   fwrite($datei, $daten);
   fclose($datei);
}

Für die Ausgabe brauchst Du nicht neu lesen, das hast Du oben schon getan:

if ($daten_neu.$daten_alt != "") {
   if ($neu_vor_alt) {
      print $daten_neu.$daten_alt;
   } else {
      print $daten_alt.$daten_neu;
   }
} else {
   print "<div style='font-weight:bold; text-align: center'>Es sind keine Einträge vorhanden!</div>";
}
?>

ich hoffe das reicht jetzt als info!

Na... ich auch, ich habe da allerhand Unsinn rausgemacht. Woher stammt das (schlechte) Beispiel?
Ach so: keine Garanie, es können Typos drin sein.

MFFG (Mit freundlich- friedfertigem Grinsen)

fastix®

--
Als Freiberufler bin ich immer auf der Suche nach Aufträgen: Schulungen, Development. Auch  für seriöse Agenturen.