Discussion:
Bestätigungslink bei Registrierung per email versenden - wie erstellen? / mysql
(zu alt für eine Antwort)
Lango23
2004-06-21 08:29:08 UTC
Permalink
Ein freundliches Hallo

ich möchte gerne für den Neueintrag eines Users zuerst eine
Bestätigungsemail versenden an dessen mailaddie. Den muß er klicken und erst
dann wird er freigeschaltet über die Datenbank.
Die Frage ist, wie generiert man diese Bestätigungslinks (wie man sie aus
Foren etc. kennt) ?

Welche genauen php Funktionen muß man dazu einsetzen und was nimmt man am
besten dazu als Merkmal als Augenblick des Registrierens, damit es einmalig
ist und nicht künstlich von Dritten kopiert werden kann? Müßte man das md5
verschlüsseln?

Danke, bin noch kein php/mysql Profi

Vielleicht hat ja jemand nen Link zu nem Script oder ähnliches
Daniel Jaenecke
2004-06-21 09:17:03 UTC
Permalink
Post by Lango23
ich möchte gerne für den Neueintrag eines Users zuerst eine
Bestätigungsemail versenden an dessen mailaddie. Den muß er klicken und
erst dann wird er freigeschaltet über die Datenbank.
Die Frage ist, wie generiert man diese Bestätigungslinks (wie man sie aus
Foren etc. kennt) ?
Du schreibst einfach zu den Daten einen zufällig generierten Schlüssel in
die DB, zB sowas wie md5( microtime() ). Diesen Schlüssel versendest Du
dann in der Email, also sowas wie

http://any.where.com/register.php?key=<Schlüssel>

Das register.php Script kann anhand des Schlüssels den Datensatz
identifizieren und den Benutzer freischalten.
Post by Lango23
Welche genauen php Funktionen muß man dazu einsetzen und was nimmt man am
besten dazu als Merkmal als Augenblick des Registrierens, damit es
einmalig ist und nicht künstlich von Dritten kopiert werden kann?
Diese Frage verstehe ich nicht



Gruß
dj
Lango23
2004-06-21 09:36:16 UTC
Permalink
Hi
danke vorab.
Wie stellt man das zusammen, diesen Link, der verschickt wird. Baue ich
praktisch in das Mailformular eine php Anweisung z.ab. als Variable, die
vorher per Zufallsfunktion erstellt wird und dann den Wert dieser Variable
in den Maillink rein ? Ich meine damit die Befehlsstruktur, durch die ich
dabei nicht ganz durchblicke, wie man es macht.
Wie erstellt man die "Wiedererkennung" in der Datenbank, daß automatisch
beim Bestätigen des Links der richtige Datensatz geändert wird ?
Also daß der Link bewirkt, daß ein Datensatz in der DB sich ändert ?
Ich verstehe es nicht ganz an der Stelle, an der die Rückerkennung des
Email-Links stattfindet, der gklickt wird und dadurch der Eintrag aktiviert
wird.

Danke
mfg
Post by Daniel Jaenecke
Post by Lango23
ich möchte gerne für den Neueintrag eines Users zuerst eine
Bestätigungsemail versenden an dessen mailaddie. Den muß er klicken und
erst dann wird er freigeschaltet über die Datenbank.
Die Frage ist, wie generiert man diese Bestätigungslinks (wie man sie aus
Foren etc. kennt) ?
Du schreibst einfach zu den Daten einen zufällig generierten Schlüssel in
die DB, zB sowas wie md5( microtime() ). Diesen Schlüssel versendest Du
dann in der Email, also sowas wie
http://any.where.com/register.php?key=<Schlüssel>
Das register.php Script kann anhand des Schlüssels den Datensatz
identifizieren und den Benutzer freischalten.
Post by Lango23
Welche genauen php Funktionen muß man dazu einsetzen und was nimmt man am
besten dazu als Merkmal als Augenblick des Registrierens, damit es
einmalig ist und nicht künstlich von Dritten kopiert werden kann?
Diese Frage verstehe ich nicht
Gruß
dj
Jens Peter Möller
2004-06-21 10:00:51 UTC
Permalink
Irgendwer oder -was schrieb:

Bitte lesen und beachten:
http://www.wschmidhuber.de/realname/
Post by Lango23
Wie stellt man das zusammen, diesen Link, der verschickt wird. Baue ich
praktisch in das Mailformular eine php Anweisung z.ab. als Variable, die
vorher per Zufallsfunktion erstellt wird und dann den Wert dieser Variable
in den Maillink rein ? Ich meine damit die Befehlsstruktur, durch die ich
dabei nicht ganz durchblicke, wie man es macht.
$reg_key = md5(uniqid(rand()));
$reg_link = "http://example.org/script.php?reg=$reg_key";
Post by Lango23
Wie erstellt man die "Wiedererkennung" in der Datenbank, daß automatisch
beim Bestätigen des Links der richtige Datensatz geändert wird ?
Erstelle eine zusätzliche Spalte (VARCHAR(32)). Speichere dort den Wert
von $reg_key.
Post by Lango23
Also daß der Link bewirkt, daß ein Datensatz in der DB sich ändert ?
Ich verstehe es nicht ganz an der Stelle, an der die Rückerkennung des
Email-Links stattfindet, der gklickt wird und dadurch der Eintrag aktiviert
wird.
In script.php:

if (isset($_GET['reg']) and
preg_match('/^[a-z0-9]{32}$/', $_GET['reg']))
{
// In DB nachschauen ob eine Zeile mit $_GET['reg']
// vorhanden ist. Wenn ja, freischalten,
// je nachdem wie Du die Sperre realisiert hast
}



[TOFU umweltgerecht entsorgt]

Bitte lesen, verstehen und dran halten: http://learn.to/quote


Gruß, JPM
Daniel Jaenecke
2004-06-21 10:04:36 UTC
Permalink
Lango23 wrote:

[ToFu]

Sorry, aber wenn Du so detaillierte Hilfe benötigst solltest Du entweder
zunächst die Grundlagen von PHP/SQL lernen und/oder Dir jemanden suchen,
der sich damit auskennt [tm]. Eventuell findest Du auch irgendwo eine
fertige Lösung dafür.


Lies bitte auch

1.15. Was ist TOFU? Wieso finden die Anderen meine Artikel schwer zu lesen?
http://www.dclp-faq.de/q/q-newsgroup-tofu.html

26.1. Wo finde ich ein Script, das "xyz" kann?
http://www.dclp-faq.de/q/q-scripte-finden.html

dj
Sascha
2004-06-21 10:59:04 UTC
Permalink
Alles klar, werde es mal lesen.
Danke für die Hilfe, baue es mal entsprechend ein und teste.

mfg & nice day
Post by Daniel Jaenecke
[ToFu]
Sorry, aber wenn Du so detaillierte Hilfe benötigst solltest Du entweder
zunächst die Grundlagen von PHP/SQL lernen und/oder Dir jemanden suchen,
der sich damit auskennt [tm]. Eventuell findest Du auch irgendwo eine
fertige Lösung dafür.
Lies bitte auch
1.15. Was ist TOFU? Wieso finden die Anderen meine Artikel schwer zu lesen?
http://www.dclp-faq.de/q/q-newsgroup-tofu.html
26.1. Wo finde ich ein Script, das "xyz" kann?
http://www.dclp-faq.de/q/q-scripte-finden.html
dj
Loading...