Bestätigungslink senden, wie?

Acriss

Gesperrt
Hi,
nachm Urlaub hab ich doch gleich mal wieder eine Frage :D
Ich möchte, das man wenn man mein formularabschickt, einen Link zu der Mailadresse geschickt bekommt, die man angegeben hat. Wenn man auf diesen Link klickt, sollen die Daten in eine Datnbank geschrieben werden, sofern sie nochnicht existieren.
Nur leider fehlt mir die Idee zur Umsetzung.
 
Ich würde sie direkt in die Datenbank schreiben und beim Klicken des Links dann veröffentlichen.

Dies würde sich realisieren lassen durch das Benutzen einer zweiten temporären Tabelle oder einfacher durch ein Feld namens `publish` das den Wert 1 oder 0 hat.

An den Link hängt man dann einen zufällig generierten Code (z. B. die Ausgabe von [phpf]microtime[/phpf] durch [phpf]sha1[/phpf] gejagt) und speichert diesen ebenfalls in der Datenbank unter `publish_key`.

Das Skript auf den der Link zeigt, prüft dann ob die Keys übereinstimmen, falls ja, wird der Wert von `publish` auf 1 gesetzt und wird somit aktiv.

Je nach Menge der Falscheintragungen sollte man dann alle paar Tage mal die nicht aktiven Beiträge leeren.
 
Du kennst auch den kleinen grünen Kraken?
(Stichwort: I will swallow your soul)

----

Soganz habe ich das noch nicht verstanden.
Also ch mache z.B. folgendes:
$i = "123abCwyAx5";
$betreff = "Hallo";
$Inhalt = '<a href="www.meineseite.de?".$i."">Klick mich</a>';
$mail = mail... bla bla

Nur dann muss die Seite ja auch existieren, oder nicht?
 
Natürlich muss die Seite existieren.

Eine Möglichkeit könnte so aussehen:

PHP:
$random = sha1(microtime());
# Hier die Daten in die Datenbank eintragen usw.

$link = '<a href="http://domain.de/activate.php?entry='.$random.'">Beitrag aktivieren</a>';
# Mail verschicken

Und die activate.php müsste dann in diese Richtung gehen:

PHP:
$sql = "UPDATE `table` 
  SET `publish` = '1' 
  WHERE `publish_key` = '".mysql_real_escape_string($_GET['entry'])."'";
# Query ausführen, etc
 
Zuletzt bearbeitet:
Zurück