Bücher online kostenlos Kostenlos Online Lesen
HTML5-Handbuch - die neuen Features von HTML5

HTML5-Handbuch - die neuen Features von HTML5

Titel: HTML5-Handbuch - die neuen Features von HTML5 Kostenlos Bücher Online Lesen
Autoren: Franzis
Vom Netzwerk:
beliebte Datenbank-Management-System MySQL zum Einsatz. Als Scriptsprache für die Formularauswertung wird wie schon im letzten Beispiel PHP verwendet.
Beispiel, Teil 1: HTML-Formulare
    

    


    


    


    
    

Erläuterung
    Im Formular kann der Anwender die typischen Kommentardaten wie Name, E-Mail-Adresse und Kommentartext eingeben.
    Das Beispiel nimmt an, dass das HTML-Dokument mit dem gesamten Artikelinhalt, den bereits vorhandenen Kommentaren und dem gezeigten Formular von einem PHP-Script namens artikel.php ausgegeben wird. Der HTML-Code der Webseite muss dynamisch erzeugt werden, da die bereits vorhandenen Kommentare aus der Datenbank gelesen und mit ausgegeben werden müssen.
    Wenn der Anwender das Formular absendet, wird entsprechend der Angabe im
action
-Attribut des

-Tags wieder die artikel.php aufgerufen. Im GET-Parameter
id
wird wieder die aktuelle Artikelnummer angegeben. Denn nach dem Absenden des Formulars soll wieder der gleiche Artikel angezeigt werden, jedoch mit dem neu hinzugekommenen Kommentar des Anwenders. Die Formulardaten werden als POST-Daten (
method="post"
) übergeben.
Beispiel, Teil 2: Die Datenbanktabellen
    Um besser zu verstehen, wie das datenverarbeitende PHP-Script artikel.php arbeitet, ist es sinnvoll, einen Blick in die Datenbanktabelle zu werfen, in die das PHP-Script die Formulardaten schreibt. Auch ein Blick in die Datenbanktabelle mit den eigentlichen Artikeln gehört zum Verständnis. Beide Tabellen stellen kleine Ausschnitte der gesamten gespeicherten Daten dar.
Die Tabelle für Kommentare

Die Tabelle für Artikel

Erläuterung
    Die Tabelle für Kommentare enthält mit den Spalten bzw. Feldnamen name , mail und text Felder für die Daten, die der Anwender beim Beitragen von Kommentaren ausfüllt. Die übrigen Felder werden vom PHP-Script bzw. von MySQL verwaltet. Die Spalte id enthält laufende, eindeutige Nummern, um Datensätze eindeutig zu identifizieren. Dies ist erforderlich, wenn Bezüge (Relationen) zu bestimmten Datensätzen hergestellt werden sollen. Die Spalte articleid ist so ein Fall. Sie enthält eindeutige Bezugsnummern aus der zweiten gezeigten Tabelle, nämlich aus der Tabelle für Artikel. Auf diese Weise wird in der Datenbank festgehalten, welcher Kommentar zu welchem Artikel gehört. Die Spalten timestamp in beiden Tabellen halten den Speicherzeitpunkt in Form eines Unix-Zeitstempels fest (Anzahl Sekunden seit 1.1.1970, 0:00 Uhr).
Beispiel, Teil 3: Das PHP-Script
    Code-Details des nachfolgenden PHP-Scripts werden in diesem Zusammenhang nicht beschrieben. Der Quelltext des Listings ist ausführlich kommentiert, damit Sie in etwa nachvollziehen können, wie das Script seine Aufgaben abarbeitet.
        $html = "";
    $errorMessage = "";

    // Wenn eine Artikelnummer mit GET-Parameter ?id=# angegeben ist:
    if(isset($_GET['id'])) {
    // Datenbankverbindung aufbauen:
    $dbh = mysql_connect("localhost", "webserver", "sda523erf");
    if(!$dbh) // Falls keine Verbindung aufgebaut werden konnte:
    $errorMessage .= '
Keine '.'Datenbankverbindung!
';
    // Artikeldatenbank öffnen
    $sql = "use test";
    $sqlResult = @mysql_query($sql, $dbh);
    if(!$sqlResult) // Artikeldatenbank konnte nicht geöffnet werden:
    $errorMessage .= '
Artikeldatenbank '.
    'konnte nicht geöffnet werden
';
    if($dbh and $sqlResult) { // Alles OK mit der Datenbank:
    // Prüfen, ob Kommentardaten zum Speichern vorliegen:
    if(isset($_POST['name'])
    and isset($_POST['mail'])
    and isset($_POST['text'])) {
    // Daten zum Speichern in der Datenbank vorbereiten:
    $_POST['name'] = stripslashes($_POST['name']);
    $_POST['mail'] = stripslashes($_POST['mail']);
    $_POST['text'] = stripslashes($_POST['text']);
    $_POST['name'] = strip_tags($_POST['name']);
    $_POST['mail'] = strip_tags($_POST['mail']);
    $_POST['text'] = strip_tags($_POST['text'], '


');
    $_POST['name'] = mysql_real_escape_string($_POST['name']);
    $_POST['mail'] = mysql_real_escape_string($_POST['mail']);
    $_POST['text'] = mysql_real_escape_string($_POST['text']);
    $_POST['name'] = "'" . $_POST['name'] . "'";
    $_POST['mail'] = "'" . $_POST['mail'] . "'";
    $_POST['text'] = "'" . $_POST['text'] . "'";
    //

© Kostenlos Online Lesen 2024 [email protected]