Dies ist ein Tutorial wie man ein komplettes Gästebuch mit Php und MySQL baut.
Zuerst erstellen wir eine neue Tabelle in unserer MySQL Datenbank.
Also öffnet euren PhpMyAdmin und führt diesen SQL Befehl aus:
Wir haben nun die Spalten für die ID der Einträge, den Namen des Besuchers, seine Emailadresse, seine Homepage und die eigentliche Nachricht.
Als nächstes benötigen wir das Formular wo sich die Besucher eintragen können:
Mit action bestimmen wir welche Datei aufgerufen wird, wenn das Formular abgesendet wird. In diesem Fall schreiben wir alles in eine Php-Datei, daher der Befehl $PHP_SELF, er verweist auf die Seite auf der wir uns befinden.
method: Die Methode wie wir Daten weitergeben, mit Post oder Get.
Nun fügen wir noch die Felder zur Eingabe der Daten ein, also den Rest des Formulars:
type definiert den Typ des Elements, also ein Eingabefeld. Name- der Name der Variable die später verwendet wird.
Genauso machen wir nun noch die anderen Felder für die Emailadresse und die Homepage:
Nun noch das Feld für die eigentliche Nachricht. Da die Nachricht vermutlich länger ist als 30 Zeichen und daher nicht mehr gut in ein normales Textfeld passen würde verwenden wir nun eine Textarea:
Mit cols und rows geben wir die Anzahl der Spalten und Zeilen des Textareals an, ich habe 25x30 gewählt.
Zu guter Letzt bauen wir noch 2 Knöpfe ein, einen zum Absenden und einen zum Löschen der Formulareingaben:
Wieder wird mit type der Typ angegeben, submit für das Absenden und reset um das Formular zu leeren. Per value geben wir an was auf den Knöpfen stehen soll.
Damit schließen wir das Formular.
Nun geht es richtig los. Da wir ja nur eine Datei verwenden möchten, brauchen wir nun eine Überprüfung ob mit dem Laden der Seite ein neuer Eintrag übergeben wurde, ob also jemand zum ersten Mal auf die Php-Datei zugreift oder ob er gerade das Formular abgeschickt hat. Die sieht so aus:
Bei dein_server, deinloginname und deinloginpasswort trägst du natürlich die jeweiligen daten deiner MySQL Datenbank ein.
Nun wählen wir die vorher erstellte Datenbank aus:
Statt deinesqldatenbank schreibst du natürlich wieder die Datenbank rein, die du benutzt.
Nun überprüfen wir ob der Absenden Button gedrückt wurde und fahren dann fort:
Falls ein Benutzer Sonderzeichen, die mit Php in Konflikt kommen könnten eingegeben hat, werden die nun umgewandelt in PHP Spezialzeichen
Hier fügen wir in unsere Tabelle Gästebuch die eingegebenen Daten ein.
$sqlbefehl ausführen, bei Fehlern Fehlermeldung ausspucken.
Die Erfolgsmeldung wird ausgegeben.
Nun können sich Besucher ins Gästebuch eintragen.
Nur wie zeigen wir die Einträge an?
Hierzu verwenden wir die folgende Funktion:
Wir holen die Einträge aus dem Gästebuch und sortieren sie absteigend nach Datum, also der ID die wir vergeben haben. So steht der neueste Eintrag ganz oben.
Wir beginnen eine While-Schleife um alle Daten abzufragen.
Nun müssen wir die Php Spezialzeichen wieder entfernen um alles auszugeben. Wir geben per echo alle Daten aus dem Array aus:
Und das wars auch schon
Nun haben wir ein voll funktionsfähiges Gästebuch in Php mit Speicherfunktion in der MySQL Datenbank.
Das ganze kann man nun natürlich erweitern, mit Smilies, Wortfilter, Überprüfung ob die eingegebene Emailadresse korrekt (valid) ist und natürlich sollte man die Ausgabe auch mit CSS etwas verschönern, wir haben hier ja nun nur den reinen Code.
Viel Spaß und Erfolg beim Coden!
Sascia
EDIT: Den gesamten Code nochmal als Php Datei angehängt. Datenbank muss aber davor erstellt werden!
gaestebuch.php (Größe: 2,11 KB / Downloads: 810)
Bitte Lizenz beachten!
Zuerst erstellen wir eine neue Tabelle in unserer MySQL Datenbank.
Also öffnet euren PhpMyAdmin und führt diesen SQL Befehl aus:
Code:
CREATE TABLE gaestebuch (
id bigint(20) DEFAULT '0' NOT NULL,
name varchar(255) NOT NULL,
email varchar(255) NOT NULL,
homepage varchar(255) NOT NULL,
nachricht text NOT NULL
);
Als nächstes benötigen wir das Formular wo sich die Besucher eintragen können:
PHP-Code:
<form action="<?php echo $PHP_SELF ?>" method="post" name="neuereintrag"> <!-- Beginn des Formulars -->
method: Die Methode wie wir Daten weitergeben, mit Post oder Get.
Nun fügen wir noch die Felder zur Eingabe der Daten ein, also den Rest des Formulars:
Code:
Ihr Name:<input type="text" name="name" size="30">
Genauso machen wir nun noch die anderen Felder für die Emailadresse und die Homepage:
Code:
Ihre Email:<input type="text" name="email" size="30">
Ihre Homepageadresse:<input type="text" name="homepage" size="30">
Code:
Ihre Nachricht:<textarea name="nachricht" cols="25" rows="30"></textarea>
Zu guter Letzt bauen wir noch 2 Knöpfe ein, einen zum Absenden und einen zum Löschen der Formulareingaben:
Code:
<input type="submit" name="neuereintrag" value="Absenden">
<input type="reset" value="Leeren">
Damit schließen wir das Formular
Code:
</form>
Nun geht es richtig los. Da wir ja nur eine Datei verwenden möchten, brauchen wir nun eine Überprüfung ob mit dem Laden der Seite ein neuer Eintrag übergeben wurde, ob also jemand zum ersten Mal auf die Php-Datei zugreift oder ob er gerade das Formular abgeschickt hat. Die sieht so aus:
PHP-Code:
<?php
// Aufbau der Verbindung mit der MySQL Datenbank:
$verbindung = mysql_pconnect( "dein_server", "deinloginname", "deinloginpasswort");
if (!$verbindung) // Bei einem Fehlerhaften Aufbau (Falsche Eingabe) abbrechen und Fehler ausgeben
{
echo "<br><center><b>- Es konnte keine Verbindung zur Datenbank hergestellt werden -</b></center>";
exit;
}
Nun wählen wir die vorher erstellte Datenbank aus:
PHP-Code:
mysql_select_db("deinesqldatenbank");
Nun überprüfen wir ob der Absenden Button gedrückt wurde und fahren dann fort:
PHP-Code:
if($neuereintrag)
{
$id = time(); //Zeitangabe
$name = addslashes($name);
PHP-Code:
$email = addslashes($email);
$homepage = addslashes($homepage);
$nachricht = addslashes($nachricht);
$sqlbefehl = "INSERT INTO gaestebuch (id, name, email, homepage, nachricht) VALUES ('$id', '$name', '$email', '$homepage', '$nachricht')";
PHP-Code:
mysql_query($sqlbefehl) or die("Error: " . mysql_error());
PHP-Code:
echo "Eintrag erfolgreich hinzugefügt";
}
?>
Nun können sich Besucher ins Gästebuch eintragen.
Nur wie zeigen wir die Einträge an?
Hierzu verwenden wir die folgende Funktion:
PHP-Code:
<?php
$sqlbefehl = "SELECT * FROM gaestebuch ORDER BY id DESC";
PHP-Code:
$sqlanfrage = mysql_query($sqlbefehl) or die("Error: " . mysql_error());
//Ausführen, bei Fehler melden.
while($daten = mysql_fetch_object($sqlanfrage))
{
$datum = getdate($daten->id);
PHP-Code:
echo "Eintrag von ". stripslashes($daten->name) ."\n<br>";
PHP-Code:
echo "Email: <a href=\"mailto:".stripslashes($daten->email)."\">".stripslashes($daten->email)."</a>\n<br>";
echo "Homepage: ".stripslashes($daten->homepage)."\n<br>";
echo "Datum: $ndate[weekday] - $ndate[mday]/$ndate[mon]/$ndate[year] $ndate[hours]:$ndate[minutes]";
echo "<br>"; //Damit es schöner aussieht ;)
echo "Nachricht: <br>";
echo nl2br(stripslashes($daten->nachricht));
//nl2br bedeutet dass wir alle Zeilenumbrüche in <br> umwandeln
echo "\n<br><br>\n";
}
?>
Und das wars auch schon

Nun haben wir ein voll funktionsfähiges Gästebuch in Php mit Speicherfunktion in der MySQL Datenbank.
Das ganze kann man nun natürlich erweitern, mit Smilies, Wortfilter, Überprüfung ob die eingegebene Emailadresse korrekt (valid) ist und natürlich sollte man die Ausgabe auch mit CSS etwas verschönern, wir haben hier ja nun nur den reinen Code.
Viel Spaß und Erfolg beim Coden!
Sascia
EDIT: Den gesamten Code nochmal als Php Datei angehängt. Datenbank muss aber davor erstellt werden!

Bitte Lizenz beachten!
WEBMASTER- Wir rocken das Internet!
Knuddel euch alle ganz doll! ![[Bild: sascia_sig.gif]](https://www.zaiendo.de/board/uploads/sascia_sig.gif)