php-resource.de

PHP Tutorial: Gästebuch mit Datenbankanbindung

Dieses Tutorial beschreibt ausführlich wie ein Gästebuch in PHP und mySQL programmiert wird.

|27.01.2003 | andy@ | 52531 | KAT : PHP | | Kommentare 1


9

9

Als erstes erweitern wir unsere Abfrage, ob der Absende-Button gedrückt wurde und ob Fehler vorliegen. Ist dies nicht der Fall, so tragen wir die Daten in die Datenbank ein.

Hier das Skript hierfür:


 1  <?php
 2 
}elseif($submit && $fehler == 1) {
 3 echo 
$fehlermeldungStart;
 4 echo 
$fehlermeldung;
 5 echo 
$fehlermeldungEnde;
 6 }else{
 7 
$eintrag strip_tags($eintrag);
 8 
$eintrag htmlentities($eintrag);
 9 
$eintrag replace($eintrag);
10 
$sql "INSERT INTO gbook VALUES ('','$datum','$zeit','$name','$email','$www','$eintrag','$ip')";
11 @
mysql_query($sql$connect) or die("Konnte keine Daten in die Datenbank schreiben!<br>
12 Bitte versuchen Sie es später noch einmal. <a href="
index.php">HIER</a> gelangen Sie zurück zum Gästebuch.");
13 
?>

Wir prüfen also mit elseif ob der Absende-Button gedrückt wurde UND ob ein Fehler aufgetreten ist --> $fehler == 1. Wenn ja, dann werden mit dem echo-Befehl die Variablen $fehlermeldungStart, $fehlermeldung und $fehlermeldungEnde augegeben. Wurde alles korrekt eingegeben else folgen ein paar Funktionen, die Erklärungsbedarf haben.

Die Funktionen im Einzelnen:
  • $eintrag = strip_tags($eintrag);
    Hier habe ich eine Anregung eines Eintrages aus dem DEMO-Gästebuch mit Speicherung in einer Textdatei aufgenommen. Hier war es nämlich noch möglich, HTML-Anweisungen in das Formular einzugeben. Mit der PHP-Funktion strip_tags() ist es möglich, sämtliche HTML-Anweisungen in unserem Eintrag --> hier die Variable $eintrag zu entfernen. Die Funktion erwartet als Parameter eine Zeichenkette, in der sie nach HTML-Tags sucht und diese entfernt. Die Zeichenkette ist in unserem Fall der Eintrag des Besuchers den wir in der Variablen $eintrag gespeichert haben. Gibt ein Besucher jetzt z.B. <b>Irgendwas</b> in unser Formularfeld ein, so will er damit erreichen dass der Text zwischen <b> und </b> fett erscheint. Die Funktion strip_tags() entfernt das HTML-Tag <b></b> und der Text erscheint später im Eintrag nicht fett sondern als ganz normaler Text.

  • $eintrag = htmlentities($eintrag);
    Die PHP-Funktion htmlentities() sorgt dafür, dass Sonderzeichen wie z.B. ä,ö, ü usw in die entsprechenden, sogenannten HTML-Entitäten umgewandelt werden.
    ä wird zu &auml;
    ö wird zu &ouml;
    ü wird zu &uuml usw.

    Auch diese Funktion erwartet als Parameter eine Zeichenkette, die in unserem Fall in der Variablen $eintrag gespeichert ist.

  • $eintrag = replace($eintrag);
    Bei der Funktion replace($eintrag) handelt es sich um unsere eigene Funktion, die wir anfangs schon erstellt haben und die wir als functions.inc.php abgespeichert haben. Dies ist also die Funktion, die Besuchereingaben wie z.B. :-) in die entsprechenden Bilder umwandelt.

Ich hoffe, diese Erklärung war gut genug und verständlich.

Nun kommen wir endlich zu dem Teil, an dem die Daten in die Datenbank geschrieben werden.

$sql = "INSERT INTO gbook VALUES ('','$datum','$zeit','$name','$email','$www','$eintrag','$ip')";
@mysql_query($sql, $connect) or die("Konnte keine Daten in die Datenbank schreiben!<br>
Bitte versuchen Sie es später noch einmal. <a href="index.php">HIER</a>
gelangen Sie zurück zum Gästebuch.");

Wir definieren zunächst wieder einmal eine Variable namens $sql. Dieser Variablen weisen wir als Wert eine SQL-Anweisung für das Einfügen von Datensätzen in eine Tabelle zu.
INSERT INTO gbook --> Füge in die Tabelle gbook folgende Beschreibungen (VALUES) ein. Die VALUES müssen wir in runde Klammern und die einzelnen Einträge getrennt duch ein Komma in einfache Anführungszeichen setzen.
('','$datum','$zeit','$name','$email','$www','$eintrag')

Die Beschreibung für die id bleibt leer, da wir in der Datenbank ja gesagt haben, sie soll von selbst hochzählen. Die restlichen Beschreibungen entsprechen den Angaben des Benutzers indem wir die name-Attribute unserer Formularfelder setzen. Sehr wichtig ist hierbei noch die Reihenfolge der einzelnen Beschreibungen. Diese müssen der Reihenfolge in unserer Datenbank entsprechen. Wir wollen ja nicht, dass z.B. der Eintrag des Besuchers nachher im Feld, das für den Namen bestimmt war, gespeichert wird. Mit or die(. . .) geben wir bei Misserfolg wieder eine eigene Fehlermeldung aus und brechen das Skript ab. In der Fehlermeldung setzen wir einen Link, der zurück zu den Einträgen verweist.


Ich hoffe, dieses Tutorial hat Euch dabei geholfen, selbst ein Gästebuch mit Datenbankanbindung zu schreiben und es kam zu keinen Fehlermeldungen. Eines muss ich aber noch hinzufügen: Dieses Tutorial erhebt keinerlei Ansprüche auf Vollständigkeit. Soll heissen, dass dieses Skript noch sehr ausbaufähig ist und man selbst noch viele weitere Funktionen hinzufügen kann. Der eine oder andere wird wieder etwas ausprobieren und dann sagen "Moment, das fehlt aber noch in dem Skript und das wäre zu verbessern usw". Wenn Ihr Vorschläge oder Anregungen habt, so nutzt die Kommentarfunktion. Ich möchte Euch bitten, das Tutorial zu bewerten und auch Eure Kommentare hierzu nieder zu schreiben. Ich will damit bezwecken, dass künftige Tutorials Euren Bedürfnissen angepasst werden können. Hattet Ihr also in gewissen Bereichen Probleme oder hat etwas nicht funktioniert, so schreibt das einfach HIER nieder. Schaut Euch bei Fehlermeldungen und Problemen auch den originalen Quelltext der einzelnen Skripte an. Vielleicht hattet Ihr ja nur einen kleinen Tippfehler drin, der bei diesen Skripten schnell einmal passiert ist.

Bei Anregungen könnt Ihr auch eine E-Mail an mich senden und Eure Fragen oder Kommentare darin schreiben.

Navigation -> Seitenanzahl : (9)

  «  1 2 3 4 5 6 7 8 9  
Kommentare zum Tutorial
Tutorial kommentieren
 
19.06.2009 20:53:17 interressant... doch müssten da nicht noch viele Anführungszeichen escaped werden?: " ...

Alle Kommentare anzeigen ...
 
Über den Autor
andy@

andy@

Status
Premium Mitglied

Beruf
Unbekannt

Mitglied seit:
30.04.2009

letzte Aktivität
04.06.2009

 

Tutorial bewerten

Hat Ihnen dieses Tutorial gefallen? Dann bewerten Sie es jetzt! Fünf Sterne bedeutet "Sehr gut", ein Stern "Unzureichend".



 

aktuelle Artikel

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Neu | Berni

Wissensbestand in Unternehmen

Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Neu | Berni