Übung Newsletteranmeldung

In dieser Übung werden alle Kenntnisse aus dem Einsteiger-Kapitel verwendet. Es wird eine Anmeldung für einen Newsletter programmiert - der zur Sicherheit vor Missbrauch über ein double-opt-in Verfahren verfügt. Der Anmelder gibt im ersten Schritt seine E-Mail-Adresse an, bekommt dann im 2. Schritt an diese E-Mail-Adresse eine Nachricht per E-Mail mit Link gesendet und verifiziert sich im dritten Schritt durch Anklicken des dort enthaltenen Links. Dieses Verfahren wird double-opt-in (zweifaches Bestätigen) genannt - somit ist die Existenz der angegebenen E-Mail-Adresse sichergestellt und zusätzlich, dass der Besitzer den Newsletter überhaupt beziehen möchte.

Zur einfacheren Umsetzung ist die Übung in 4 Bereiche gegliedert:

  1. Formularerstellung,
  2. Kontrolle und Speicherung der eingegebenen Daten,
  3. E-Mail erstellen und versenden,
  4. Kontrolle des letzten Anmeldeschritts (Link in E-Mail Anklicken durch Bezieher).

Erstellen des Formulars

Erstellen Sie ein Formular (siehe Kapitel Formulare) mit folgenden Feldern:

Ihre E-Mail-Adresse:

Anrede: (optional)
Frau Mann

Vorname: (optional)

Nachname: (optional)

hiermit bin ich einverstanden, dass meine Daten elektronisch gespeichert werden, damit mir die gewünschte Newsletter zugestellt werden kann ... (gesetzliches Blahblah zum Datenschutz und Speicherung der Daten ....)

Die PHP-Datei erhält den Namen: newsletter-bestellen.php

Kontrolle und Speicherung der eingegebenen Daten

Hier erfolgt eine Kontrolle, ob das Feld "E-Mail-Adresse" ausgefüllt wurde. Wurde es nicht ausgefüllt, wird das Formular wieder angezeigt (mit allen bisher eingetragenen Daten). Wurde es ausgefüllt, werde die eingegebenen Daten in der Datei gespeichert mit dem Namen "nl-anwaerter.txt". Je Datensatz wird eine Zeile verwendet. Zur Trennung der einzelnen Felder wird der Querstrich | verwendet (zu finden auf der Taste mit <> - Zeichen erhält man, wenn man gleichzeitig die Taste ALT-GR (rechte Alt-Taste) drückt.

Zusätzlich wird noch eine Kontrollzahl abgespeichert, die sich aus Uhrzeit und Datum zusammensetzt: (alles 2-stellig und ohne Zwischenraum und Trennung) SekundeJahrStundeTagMinuteMonat

In der Datei werden also die Einträge in folgender Form zu finden sein (alle Einträge rein fiktiv)

donald@duck.ent|Herr|Donald|Duck|280710282705
bart@simp.son|Herr|Big b.||120723121806

E-Mail erstellen und versenden

An die angegebene E-Mail-Adresse wird eine E-Mail mit dem Inhalt:

Sehr geehrter [und nun die richtige Anrede und Vor- und Nachnamen (wenn angegeben)],

Sie haben den Newsletter von ... bestellt. Um sicherzustellen, dass die E-Mail-Adresse funktioniert und Sie den Newsletter erhalten möchten, klicken Sie bitte auf folgenden Link:

<a href="http://localhost/newsletter-freischalten.php?mail=...&id=280710282705"> Newsletter freischalten</a>

Sollten Sie den Newsletter nicht angefordert haben, entschuldigen Sie bitte diese E-Mail. Dann hat sich wahrscheinlich jemand vertippt. Ignorieren Sie einfach die Mail und löschen Sie diese.

Informationen zum Versenden von E-Mail gab es im Kapitel: E-Mail mit PHP erstellen

Kontrolle des letzten Anmeldeschritts (Link in E-Mail anklicken durch Bezieher)

Wenn auf den Link der E-Mail geklickt wird, muss die Information validiert werden. Laden Sie dazu die Datei "nl-anwaerter.txt" und gehen Sie diese durch. Existiert ein Eintrag, in dem die E-Mail-Adresse und die Kontrollnummer passt, schreiben Sie diese Zeile in die Datei "newsletterempfaenger.txt".

Anmerkung zur Übung

Zur Sicherheit sollten im Regelbetrieb die Dateinamen "newsletterempfaenger.txt" und "nl-anwaerter.txt" anders benannt werden. Am besten ist ein Speicherort auf dem Webserver, auf den nicht durch Internetbesucher zugegriffen werden kann!

Beispiel aus der Praxis

Schöne Beispiele aus der Praxis finden Sie auf zahlreichen Websites. Spannend ist immer, inwieweit die Newsletter-Bestellprozeduren deutscher Gesetzgebung (bzw. in welchem Land man es macht) entsprechen. Dabei sollte man immer ein Double-Opt-In-Verfahren nutzen. Auch beim Erfassen sollte man Vorsicht walten lassen und nicht unnötige Daten sammeln - sonst kommt man u.U. schnell mit dem deutschen Datenschutzgesetzt in Konflikt.