André Laugks: Newsletter

Beitrag lesen

Hallo!

Dabei habe ich mir folgendes gedacht: Der User trägt seinen Namen und seine e-mail-Adresse ein. Dann erreicht ihn eine Mail mit der Bitte, einem Link zu folgen, der in etwa so aussieht: ".../eintragen.php?id=[irgendwas verschlüsseltes]".
Sobald dieser Link gedrückt ist, wird die Mailadresse in der Datenbank "freigeschalten".

Nun meine Fragen:
a) wie würde ich das mit dem [irgendwas verschlüsseltes] lösen, das in die genannte URL kommt?

Ich frage nur nach der Emailadresse. Die Emailadresse trage ich in die DB ein. Dann versende ich eine Email mit einem Link und folgenden Aufbau..

http://www.domain.de/anmeldung.phtml?email=andre.laugks%40gmx.de&uid=62e96ea934eae8a4960d4da152ab7a4b

$uid = md5(uniqid(rand()));

Ich vergebe jedem User ein uniqid-id. Anhand der Emailadresse und der uniqid-id, identifiziere ich den User.
Eigentlich reicht die ID der Zeile in der DB. Aus dieser ID könnte der User dann aber Rückschlüße ziehen, wieviele angemeldet sind ;-). Wenn ein User etwas Zeit hat, könnte der eine Emailadresse in die URL eintragen und dann die ID immer um eins erhöhen. Wenn er Glück hat trifft er eine Emailadresse und hält sich für den größten Hacker.

In der DB habe ich auch eine Spalte "aktiv", Wir die Anmeldung bestätigt, setze ich aktive=0 auf aktive=1.

Erfolgte innerhalb einer bestimmten zeit keine Bestätigung, wird der Eintrag aus der DB gelöscht. Du solltest also noch eine Datumsspalte mit einfügen.

b) bin ich mit dieser Lösung auf dem Richtigen weg, oder soll ich das irgendwie eleganter machen?

Das kommt immer drauf an, wie viele Leute sich in den Newsletter eintragen. Das ganze An- und Abmelden ist ja das einfachste. Wenn es zuviele Empfänger sind, ist eine "Newsletter/Mailinglisten-Software" besser geeignet.

MfG, André Laugks