
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. |