fastix®: Gästebucheinträge sortieren?

Beitrag lesen

Moin!

Ok. ok. Hier das komplette Skript mit allen Einbauten.

<?PHP

Konfiguration:

$neu_vor_alt=true; # >> false, wenn alt vor neu: Ohne Anführungsstriche!
$filename="eintraege.txt";
$this_uri="http://".$_SERVER["HTTP_HOST"].$_SERVER["PHP_SELF"];

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'])));
  $kommentar = str_replace("\n","<br>",$kommentar);
  # str_replace ist bei einfachen Erstzungen schneller

# abbrechen, wenn $kommentar leer ist:
  if ($kommentar=="") {
    header ("Location: $this_uri");
 exit;
  }

# 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");
   flock($datei,2);
   fwrite($datei, $daten);
   flock($datei,3);
   fclose($datei);
   header ("Location: $this_uri");
   exit;
}

Es folgt ein wenig HTML:

?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-15">
</head>

<h1>G&auml;stebuch</h1>
<form method="POST">
<pre>
Name:     <input type="text" name="name">
eMail:    <input type="text" name="email">
URL:      <input type="text" name="url">
Kommentar:<textarea name="kommentar"></textarea>
<input type="submit" name="abschicken" value="abschicken">
</pre>
</form>

<?PHP

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>";
}
?>
</body>
</html>

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.