PHP4-Forum
Forum | Befehle | MySQL | Beispiele | Newsletter | Suche | Home

Untermenü

Beispiele
Datenbankbasiert
Dateibasierte
Spiele
Sonstige

Zu dieser Seite

Datenbankbasiert
Telefonbuch
Backup einer DB
Import: Datei => DB
Artikelverwaltung
Benutzer-Login
Gästebuch
Newsletterversand
User-Online
Zufällige Auswahl
Forum Software
Newsletter
Login (PHP Modul)
Umfrage
Datenbankbasiertes Gästebuch

Download | Testen

In unserem Beispiel zeigen wir es Ihnen, wie wir unser Gästebuch aufgebaut haben. In diesem Gästebuch gibt es für den Administrator die Möglichkeit ein Kommentar zu jedem Eintrag abzugeben. Das Gästebuch wurde mit Hilfe von der MySQL-Datenbank erstellt.

Als Erstes erstellen Sie eine Tabelle gast in Ihrer Datenbank. Über einen MySQL-Klienten könnte das so aussehen:

CREATE TABLE gast (
   nr int(11) NOT NULL auto_increment,
   name varchar(150),
   email varchar(255),
   open enum('0','1'),
   hp varchar(255),
   inhalt text,
   kommentar text,
   datum int(11),
   PRIMARY KEY (nr)
);


Dieses Gästebuch besteht aus einer Seite. Alle Einträge werden auf einer Seite angezeigt. Die Verwaltung der Einträge erfolgt nach dem Muster der Artikelverwaltung. Zusätzlich sollen wir sagen, dass die Spalte "kommentar" Antworten des Administrators auf Beiträge dienen sollte. Ob Sie diese Spalte nutzen, hängt allein von Ihnen ab.

<?php
// Systemeinstellungen
    $id = "root"; // Ihre ID zum MySQL Server
    $pw = ""; // Passwort zum MySQL Server
    $host = "localhost"; // Host ("localhost" oder "IP-Adresse")
    $database = "test"; // Name Ihrer Datenbank
    $table = "gast"; // Name der Tabelle

// Einstellungen Ende
// Verbindung zum Server und Datenbank
$conn_id = mysql_connect($host,$id,$pw);
mysql_select_db($database,$conn_id);

  // Speichert einen neuen Eintrag in der Datenabank ab
  if ($action=="save") {
    $datum = time();
    $inhalt = $inhalt;
    $name = ($name) ? $name : "unbekannt";
    mysql_query("insert into $table (name,email,open,hp,inhalt,datum) VALUES ('$name','$email','$open','$hp','$inhalt','$datum')");
    header("Location: ".$PHP_SELF);
  }

// Hier beginnt die HTML Ausgabe
echo "<html>";
echo "<h3>Mein Gästebuch</h3>";

if($action=="neu") {

?>
  <table><form action="<?php echo $PHP_SELF; ?>" method=post><tr>
    <input type="hidden" name="action" value="save">
    <td>name:</td>
    <td><input type=text name=name></td>
  </tr><tr>
    <td>Email:</td>
    <td><input type=TEXT name=email></td>
  </tr><tr>
    <td> </td>
    <td><input type=checkbox name=open checked value=1><font size=1>Soll die Emailadresse später im Gästebuch angezeigt werden?</td>
  </tr><tr>
    <td>Homepage:</td>
    <td><input type=text name=hp></td>
  </tr><tr>
    <td>Meinung:</td>
    <td><textarea name="inhalt" rows="6" cols="25"></textarea></td>
  </tr><tr>
    <td> </td>
    <td><input type=submit value="In das Gästebuch eintragen"></td></form>
  </tr></table>


<?php

// Ausgabe aller Einträge aus dem Gästebuch
} else {

  $query = "select * from $table order by datum desc";
  $result = mysql_query($query); 
 
  if (mysql_num_rows($result)) {
    while($row=mysql_fetch_array($result)) {
   
      $name = $row['name'];
      $open = $row['open'];
      $email = $row['email'];
      $hp = $row['hp'];
      $inhalt = $row['inhalt'];
      $kommentar = $row['kommentar'];
      $datum = date("d.m.y",$row['datum']);
     
      echo "Eintrag vom: ".$datum."<br>";
      echo "User: ".$name;
      if($open && $email) echo " (".$email.")";
      if($hp) echo " (".$hp.")";
      echo "<br>Meinung: ".$inhalt;
      if($kommentar) echo "Unser Kommentar: ".$kommentar."<br>";
      echo "<hr>";
      flush();
   
    }
  } else {
    echo "Bis jetzt gab es keine Einträge";
  }
}

echo "<p><a href='".$PHP_SELF."?action=neu'>Neuer Eintrag</a>";
echo " - <a href='".$PHP_SELF."'>Zum Gästebuch</a>";
echo "<html>";

?>


Das Design ist selbstverständlich Geschmacksache und sollte dementsprechend angepasst werden... Sollten Sie keine Lust haben, eigenes Gästebuch zu bauen, stellen wir Ihnen ein gern zur Verfügung.
Dienstleistungen | Werbung | Impressum | Sitemap | Kontakt | Email © 1999 - 2009 | Last Update: 13.06.2001