Anmeldebestätigung per Email in PHP

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Antworten
Jokaero
Mitglied
Beiträge: 81
Registriert: 18.06.2003 13:55
Wohnort: Schweiz

Anmeldebestätigung per Email in PHP

Beitrag von Jokaero »

hallo,
ich möchte ein simples PHP Anmeldeskript schreiben, dass dem neuen User eine Email schreibt, in der er durch einen simplen klick seine Anmeldung bestätigen kann. Ich finde im Netz leider kein geeignetes Tutorial dazu. Kann mir da wer weiterhelfen? Als Datenbank hält MySQL her.
Danke!
Benutzeravatar
Nico Haase
Mitglied
Beiträge: 1100
Registriert: 10.08.2003 15:19
Wohnort: Neu-Anspach / Darmstadt
Kontaktdaten:

Beitrag von Nico Haase »

a) Anmeldeformular mit allen wichtigen Daten
b) Bestätigungsseite, dabei wird an seine-em@il ne Nachricht geschickt. Die eingegebenen Daten aus a werden in die Datenbank gesteckt, dazu ein md5-Hash aus $irgendwas resp. ein Zufallswert. Dieser wird als Link zusammen mit der ID des eingefügten Nutzers per Mail geschickt, da wäre dann also sowas wie script.php?id=123&confirm=$hash, da muss der Benutzer draufklicken
c) beim Aufruf wird ein Update-Query durchgeführt, der den Wert von confirm auf $irgendwas setzt, wobei dieses $irgendwas ein fester Wert ist, der dir sagt, dass der Benutzer freigeschaltet ist
Buchtips.net bietet mehr als 2500 Buchrezensionen
Jokaero
Mitglied
Beiträge: 81
Registriert: 18.06.2003 13:55
Wohnort: Schweiz

Beitrag von Jokaero »

Vielen Dank. Bin leider noch zu wenig mit PHP vertraut, dass ich mir das in dem Umfang zutraue. :oops: Gibts irgendwo Beispielskripte dazu? Vorallem der Hashing und der Emailteil wär interessant.
Benutzeravatar
Pyramide
Ehrenadmin
Beiträge: 12734
Registriert: 19.04.2001 02:00
Wohnort: Meschede

Beitrag von Pyramide »

EMail: [php:mail]
MD5: [php:md5]
Zufallswert: [php:mt_rand]
Jokaero
Mitglied
Beiträge: 81
Registriert: 18.06.2003 13:55
Wohnort: Schweiz

Beitrag von Jokaero »

danke euch beiden. bin schon so weit, dass der anmelder ne Mail erhält, während seine Daten in die Datenbank geschrieben werden. Ich hab aber noch ne Verständnisfrage bezüglich des hash.
beim Aufruf wird ein Update-Query durchgeführt, der den Wert von confirm auf $irgendwas setzt, wobei dieses $irgendwas ein fester Wert ist, der dir sagt, dass der Benutzer freigeschaltet ist
Wird neben den Daten der Zufallszahl oder der bereits gehashte Zufallswert in die DB geschrieben?
Ich habs so verstanden, dass der Zufallswert in die DB geschrieben wird. Wird der Link aufgerufen, so wird der Zufallswert in der DB ebenfalls gehasht und mit dem Wert aus dem Link verglichen. Stimmen die beiden überrein, so wird der User aktiviert. War das die Idee, oder lieg ich voll daneben?
Benutzeravatar
Nico Haase
Mitglied
Beiträge: 1100
Registriert: 10.08.2003 15:19
Wohnort: Neu-Anspach / Darmstadt
Kontaktdaten:

Beitrag von Nico Haase »

stimmt so.
Buchtips.net bietet mehr als 2500 Buchrezensionen
Jokaero
Mitglied
Beiträge: 81
Registriert: 18.06.2003 13:55
Wohnort: Schweiz

Beitrag von Jokaero »

Vielen Dank! Klappt alles, bis auf den Fall, wenn eine ID nen Leerschlag enthält. Den schluckt die die URL ja 'leider' nicht. Hab mir gedacht, dass ich die ID auch gleich codieren könnte. In diesem Fall müsste es aber eine Codierung sein, die ich wieder entschlüsseln kann. Ist euch da ne vordefinierte PHP- Funktion bekannt. Oder gibts nen besseren Weg, das Problem anzupacken?
Benutzeravatar
Pyramide
Ehrenadmin
Beiträge: 12734
Registriert: 19.04.2001 02:00
Wohnort: Meschede

Beitrag von Pyramide »

Wenn du mit md5() einen Hash erstellst, besteht dieser nur aus hexadezimalen Ziffern (also 0-9,a-f). Für andere Werte gibt es sonst noch [php:base64_encode] / [php:base64_decode].
Jokaero
Mitglied
Beiträge: 81
Registriert: 18.06.2003 13:55
Wohnort: Schweiz

Beitrag von Jokaero »

genau was ich gesucht habe!
Das Anmeldeskript funktioniert nun bestens! Danke für die Hilfe! :grin:
Antworten

Zurück zu „Coding & Technik“