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:
Browserfenster. Da das Script aber die Adresse ist, die aufgerufen wurde, liegt es in seinem Aufgabenbereich, diese Inhalte zu liefern. Im obigen Script ist das so gelöst, dass das Script am Ende einfach einen Redirect (eine Weiterleitung) zu einer gewöhnlichen HTML-Datei durchführt. Diese Datei wird an den Browser gesendet. Der Form-Mailer ist so geschrieben, dass im Erfolgsfall, also wenn die Mail versendet wurde, eine andere HTML-Datei zurückgegeben wird, als im Fehlerfall. Die beiden Dateien werden am Beginn des Scripts in den Variablen
$returnPage
und
$returnErrorPage
definiert. Notieren Sie dort vollständige HTTP-URLs, auch dann, wenn die HTML-Dateien auf dem gleichen Server liegen wie das Form-Mailer-Script.
    Insgesamt benötigen Sie also:
•   eine HTML-Datei mit dem Formular,
•   das obige Form-Mailer-Script, gespeichert als ausführbare PHP-Datei,
•   eine HTML-Datei, die im Erfolgsfall nach Absenden des Formulars angezeigt wird,
•   eine HTML-Datei, die im Fehlerfall nach Absenden des Formulars angezeigt wird.
    Hier ein Beispiel-Set für die drei HTML-Dateien:
Formular:
    
    
    
    
    Feedback
    
    
    

Feedback


    

    


    


    


    
    


    


    
    


    
    

    
    
Erfolgsfall nach Absenden des Formulars
    
    
    
    
    Feedback: Danke
    
    
    

Feedback: Danke!


    

Wir haben Ihre Nachricht erhalten und werden uns bei
    Klärungsbedarf an die von Ihnen angegebene Mailadresse wenden.


    
    
Fehlerfall nach Absenden des Formulars
    
    
    
    
    Feedback: Danke
    
    
    

Feedback: Fehler!


    

Leider ist ein Fehler aufgetreten, und Ihre Formulardaten
    konnten nicht an uns gesendet werden.


    
    
Weitere Hinweise
    Das obige Form-Mail-Script ist prinzipiell für beliebige Formulare mit beliebig vielen Feldern geeignet. Nicht geeignet ist es für Formulare mit Datei-Upload-Feldern. Dazu müsste das Script nicht nur die POST-Daten auswerten, sondern auch die separat davon übersendeten Dateien.
    Es ist durchaus möglich, das Form-Mail-Script flexibler zu gestalten. Wenn Sie es beispielsweise für ein Formular einsetzen, in dem der Anwender seine Mailadresse in einem Feld

eingeben kann oder muss, können Sie im Script auch notieren:
$mailFrom = $_POST['mail'];
    Beachten Sie jedoch, dass vorher stets eine Prüfung der Daten erfolgen sollte. In diesem Fall ist es vor allem wichtig, dass in
$_POST['mail']
keine Zeilenumbruchzeichen enthalten sind, da bösartige Anwender auf diese Weise versuchen könnten, zusätzliche, Schaden anrichtende Mailheaderzeilen zu injizieren.
    Auf keinen Fall sollten Sie im obigen Form-Mail-Script die Variable
$mailTo
durch eine vom Anwender selbst bestimmbare Angabe ersetzen. Denn dadurch erschaffen Sie eine perfekte Spamschleuder.
    Die oben skizzierte Lösung für den Fehlerfall ist nicht sehr professionell. Üblich ist es in solchen Fällen, das Formular erneut anzuzeigen, mit den zuvor eingegebenen Daten vorzubelegen und eine gezielte Fehlermeldung auszugeben. Das würde jedoch weiteres Scripting erfordern. Das obige Beispiel sollte jedoch aus Verständnisgründen möglichst einfach sein.
8.7.2      Formulare in Datenbank speichern (PHP/MySQL)
    Formulardaten haben einen feldorientierten Aufbau, und alle gesendeten Daten des gleichen Formulars enthalten die gleichen Felddaten. Die optimale Form, solche Daten zu speichern, ist eine Tabelle. Die Felder des Formulars sind dabei die Spalten der Tabelle, und die einzelnen abgesendeten Formulare sind die Zeilen. Tabellenorientierte Datenbanksysteme wie MySQL, PostgreSQL, Oracle, usw. sind bestens geeignet, um solche Daten aufzunehmen. Gerade auch dann, wenn es sich um große Datenmengen handelt, also wenn sehr viele Formulare abgesendet werden.
    Das Beispiel dieses Abschnitts zeigt, wie Sie Kommentare zu Artikeln in einer Datenbanktabelle speichern können. Dabei kommt das

Weitere Kostenlose Bücher