Naja, der User registriert sich, dabei werden seine Daten ja in die Datenbank eingetragen.
Im gleichen Zuge wird auch der Registrierungszeitpunkt und der Status "nicht bestätigt" eingetragen.
Ist dieses erfolgreich geschehen, verschickst Du mit der
mail()-Funktion eine eMail an den User.
In dieser ist ein Bestätigungslinkt enhalten, z.b.:
Code:
http://www.domain.de/aktivierung.php?aktivierung&user=BENUTZERNAME
Nun kommt die aktivierung.php ins Spiel.....
In dieser prüfst Du zuerst ob $_GET['aktivierung'] und $_GET['user'] gesendet wurde und ob $_GET['user'] einen Wert enthält.
Wenn nein, dann könntest Du z.b. einen Text ausgeben..... "Bitte benutzen Sie den Bestätigungslink der Ihnen per eMail zugeschickt wurde." oder so ähnlich.
Wenn ja, dann machst Du eine Abfrage der Benutzerverwaltung an hand des Usernamens..... dabei wird natürlich auch die Spalte für den Status abgefragt.
So kannst Du nun vergleichen ob der Status für den User auf "bestätigt" oder "nicht bestätigt" gesetzt ist.
Wenn der Status bereits auf "bestätigt" gesetzt ist, könntest Du auch hier wieder einen Text ausgeben..... "Sie haben Ihre Registrierung bereits bestätigt." oder so ähnlich.
Wenn der Status auf "nicht bestätigt" steht, lässt Du ein Formular mit einem "Bestätigen"-Button und einem Hidden-Field für die zum User gehörende ID ausgeben, welches die Daten per POST abschickt.
Nun muss der User also auf den "Bestätigen"-Button drücken.
Ist dieses gehen, prüfst Du ob der Button gedrückt wurde und führst ein Update auf die per Hidden-Field mitgesendete ID aus..... und schon ist der Account aktiviert und kann benutzt werden.
Du solltest natürlich bei Deinem Login auch den Status prüfen und, sofern der Status noch auf "nicht bestätigt" steht, den User auf den Bestätigungslink in der eMail aufmerksam machen...... sonst könnte man sich die ganze Arbeit ja gleich sparen.
Zu der
mail()-Funktion kann ich Dir nichts weiter sagen..... die habe ich noch nie benutzt.
Gibt aber auch schon genug Beiträge dazu hier im Forum.
So viel zur Theorie..... nun bist Du an der Reihe, etwas zu scripten.