|
|
PHP: Feedback v2.3 |
UmfrageHat Ihnen dieses Script geholfen? |
||
Feedback, FunktionVon jeder Webseite aus muss ein Feedback möglich sein. Im hier gezeigten Feedback-Formular kann aus mehreren Zieladressen die
entsprechende Adresse ausgesucht werden (Verkauf, Einkauf, Buchhaltung, etc.). Wir erstellen mit einem Editor eine Datei "feedback.php" und fügen folgendes Script ein: Code FeedbackErklärungen zum CodeZu den Zeilen: 1 - 5: Hier der unvollständige head-Teil. Mehr dazu kann z. B. aus dem Quelltext dieser Webseite entnommen werden. 9: Falls wir die eingegebenen Adresse auch unter den
Newsletter-Adressen speichern möchten, so inkludieren wir jetzt den
Zugang zu unserer Datenbank. Dazu müssen die beiden "//" am Zeilenanfang
entfernt werden. 10: Die ausgelagerten Funktionen werden eingebunden. Wir benötigen nur die Überprüfung der E-Mail-Adresse. 13 - 22: Wir setzen alle vorkommenden Variablen auf NULL, in den
nachfolgenden if-Anweisung ändern wir diese allenfalls. 25: Die Variable dient zum Verhindern der Formularanzeige nach dem
erfolgreichen Absenden des Formulars. 28: Es gibt Spam der sich eines Webformulares bemächtigt. Um das zu
verhindern, geben wir unserem Formular einen sekündlich wechselnden Code mit. 30 - 220: Es folgt der Teil, der ausgeführt wird, wenn wir das Formular abschicken. 33 - 44: Als erstes prüfen wir, ob die im Formular vorgegebenen Feldlängen
nicht überschritten werden. Die im Formular mit "maxlength=" begrenzten
Eingabefelder können ausgetrickst werden. 46 - 47: Das Select-Feld im Formular (229 - 237) darf nur ein paar Werte aufweisen. Ist dies nicht der Fall, wird die Weiterverarbeitung sogleich abgebrochen. 50 - 51: Der in Zeile 28 errechnete Code wird in den UNIX-Timestamp zurückgerechnet. 54: Die Variable wird erstellt um die verstrichene Zeit zu prüfen. 55: Die Zeiten werden verglichen. Sind seit dem letzten Laden der Seite mehr
als die festgelegten 15 Min. verstrichen, so bricht das Formular mit 'die' ab und
gibt die angegebene Meldung zurück. 58 - 71: Die per POST übergebenen Variablen werden überprüft. 59: Hier entfernen wir bewusst das '@' nicht. Es gibt Firmen, bei denen dies Bestandteil des Firmennamens ist. 74 - 97: Wir prüfen, ob die Pflichtfelder auch
ausgefüllt wurden. 74: Hier muss die Variable einen anderen Wert als "?" haben. 76 - 82: Die Felder dürfen nicht leer bleiben. 80: Die PLZ muss mindestens vier Stellen aufweisen. 83: Eine der drei möglichen Telefonnummern muss angegeben werden. 84 - 91: Telefonnummern können prinzipiell nur auf eine gewisse
Plausibilität geprüft werden. Geprüft wird nur, ob keine Buchstaben,
Klammern und Schrägstriche vorhanden sind. Zusätzlich muss die Nummer
mindestens 9 Zeichen aufweisen. 92 - 96: Prüfen ob eine E-Mail-Adresse eingegeben wurde, falls ja, prüden mit der eingebundenen Funktion "check_email". Diese Funktion ist in Zeile 10 eingebunden. 100 - 102: Sind alle Prüfungen in Ordnung? 104 - 215: Alle Prüfungen sind i. O. Die Mails werden versendet und
allenfalls der Datenbankeintrag vorgenommen. 104 - 144: Die Mails werden generiert. 104 - 109: Der "header" des Mails an uns wird erstellt. 111 - 117: Der Mail-Empfänger wird zugewiesen. Die vorgegebenen
Mailadressen sind durch die eigenen Mailadressen zu ersetzen. 119 - 125: Nun erstellen wir den Text der an uns gesendet wird. 120 - 125: Um im Mail die Zeilenumbrüche richtig zu erstellen, sollte
alles in einer Zeile stehen. Die "\n" sorgen für die nötigen Zeilenumbrüche. 126: Der Text wird zusammengefügt. 128: Das Mail an uns wird versendet. 130 - 144: Wir senden, sofern eine E-Mail-Adresse eingetragen
wurde, ein Bestätigungsmail an den Verfasser des Feedbacks. 146 - 152: Wenn die eingegebene Adresse auch in der MySQL-Datenbank
für die Newsletter verwendet wird, aktivieren wir diese
Zeilen in dem wir die "//" am Zeilenanfang (147 - 152) entfernen. 155: Die php-Funktion "nl2br" wandelt die Zeilenumbrüche aus der Datenbankeintragung in korrekten HTML-Code um. 157 - 206: Die eingetragenen Angaben werden am Bildschirm nochmals
angezeigt. 205: Ein Link zur weiteren Navigation. 209 - 211: Zur Sicherheit werden alle Formularfelder geleert. 214: Das Formular soll nicht mehr angezeigt werden. Wir ändern die Variable, die wir in Zeile 25 auf "ja" gesetzt haben in "nein". 216 - 219: Sofern noch Fehler vorhanden sind und das Formular noch
nicht abgesendet werden kann, wird gesetzt: 221 - 349: Das gesamte Formular wird angezeigt, sofern die nicht Variable in Zeile 218 auf "nein" gesetzt wurde. 223: Allenfalls die Fehlermeldung aus Zeile 217. 224 - 347: Das per POST zu übermittelnde Formular. 226 - 330: Die einzelnen Felder in der Tabelle werden ausgefüllt. 230 - 236: Die gewünschte E-Mail-Adresse wird ausgesucht und danach
in den Zeilen 111 - 117 zugeteilt. 238: In der Fehlerausgabe dient die Leerstelle dazu, dass das Script nach XHTML validierbar ist. 327: Das Textfeld wird mit "rows" und "cols" in der Grösse festgelegt.
Geben Sie die Grösse genügend gross an. Mit einem kleinen Feld
signalisieren Sie deutlich, dass Sie eigentlich keinen Beitrag wünschen! 336: Um die Tabelle XHTML-gerecht zu halten, muss in jeder Tabellenzelle immer etwas stehen. So also hier der Leerschlag. 338 - 342: Die Funktion "reset" funktioniert nur vor dem ersten Absenden des Formulars. Um diese danach nicht mehr mögliche Funktion auch nicht anzuzeigen, prüfen wir die allenfalls in Zeile 218 gesetzte Variable. 351 - 354: Die auf der Seite selbst nicht angezeigte Quellenangabe, ist nicht nur die Bedingung zur freien Nutzung dieses Skriptes, sondern ermöglicht auch in Zukunft, allenfalls benötigte Hilfe zu erhalten. Vielleicht hat Ihnen unser Skript ein paar Stunden Arbeit erspart?
|
Copyright © 1998 - 2010, Zudila AG, CH 8057 Zürich Diese Seite (www.zudila.ch/scripte/php_feedback.php) wurde aktualisiert: 23.10.08
| Besucher heute: | 160 | Seitenaufrufe heute: | 530 | gerade online: | 3 |
| Besucher gestern: | 220 | Seitenaufrufe gestern: | 470 | max. online: | 135 |
| Besucher pro Tag: | 206,52 | Seitenaufrufe pro Tag: | 680,51 | Eigene Seitenaufrufe: | 26 |
www.zudila.ch info@zudila.ch