Mail nach dem Anmelden

  • Themenstarter Themenstarter jaylibII
  • Beginndatum Beginndatum
J

jaylibII

Hallo,

so nun bin ich es auch mal wieder die eine Frage hat. Heute Nacht ist mir eine sehr gute Idee gekommen nun leider weiß ich gerade nicht wie ich das umsetzten kann.

Also auf meiner Seite müssen sich User für einen Internen Bereich registreiren. Nun möchte ich es gerne so machen, wenn ein User sich angemeldet hat, dass er dann Automatisch eine Mail bekommt.

In der Mail steht dann einfach ein wenig was über die Seite drin und was man alles so machen kann usw.

Dann noch was der User sollte mit seinem NickNamen angesprochen werden.

Geht das überhaupt? Wenn ja wie muss ich das umsetzten?

Ich hoffe Ihr könnt mir dabei helfen.

Gruß jaylibII
 
Ich frage mich grad wo dein Problem liegt? :confused: Bei deinem Anmeldescript hängst du am Ende (Also quasi auf der Seite wo dann steht: Sie wurden erfolgreich regtistriert oder so was) einfach noch die [phpf]mail[/phpf] Funktion dran. Da schreibst du dann alles rein was dann in der Email stehen soll. Den Usernamen gibst du dann einfach als Variable in den Emailtext ein. Also so z.B.
PHP:
$text = "Zeile 1\nZeile 2\nZeile 3 blabla hallo $user...usw\ntschüss";
$emailadresse = $_POST['email']; // Oder wie auch immer 
mail("$emailadresse", "Betreff", "$text");

[EDIT] merk grad das der Link nich zur Funktion hinführt. Hier der richtige Link mail() [/EDIT]

greetz
daddz
 
Hi

sicher geht das.
Das ist, meiner Meinung nach, sogar ein guter Weg.
Zum 1. hast Du eine gültige Email-Adresse, wenn er die Mail bekommt und rückbestätigt zum anderen hast Du keinen Müll in der Datenbank.

Es gibt jetzt 2 Wege:

entweder Du speicherst die Daten direkt nach Eingabe ins Formular und gibtst ihm an, wenn er den sich in der Mail befindlichen Link nicht innerhalb der nächsten 2 Tage bestätigt, muss er sich erneut anmelden (automatisch werden dann nach diesem Zeitraum diejenigen Einträge gelöscht, die nicht vom User selbst aktiviert worden sind) oder der User aktiviert den Link und ist zu diesem Zeitpunkt registriert.

zum 2. kannst Du auch nickname und Email-Adresse sofort in der Bestätigungsmail (im QueryString des Links) hinterlegen. Klickt er darauf, wird auf der Seite, wohin der Link zeigt, ein Eintrag durchgeführt.
 
Hallo Luzie,

entweder Du speicherst die Daten direkt nach Eingabe ins Formular und gibtst ihm an, wenn er den sich in der Mail befindlichen Link nicht innerhalb der nächsten 2 Tage bestätigt, muss er sich erneut anmelden (automatisch werden dann nach diesem Zeitraum diejenigen Einträge gelöscht, die nicht vom User selbst aktiviert worden sind) oder der User aktiviert den Link und ist zu diesem Zeitpunkt registriert.

hmm das ist eine sehr gute Idee aber wie kann ich das machen dass der User auf einen Link klicken muss dass er erst dann aktiviert ist. Das verstehe ich nicht und in der Mail könnte ich dann auch gleich noch den Text mitschicken wo ich eh verschicken will. Das hört sich sehr gut an aber nur wie muss ich das dann umsetzten? Muss ich da dann in die Tabelle wo ich die Daten der User speichere noch ein Feld machen?

Hmm ich stehe gerade voll auf dem Schlauch :-(

Gruß jaylibII
 
Du machst einfach in deiner MySQL Tabelle eine neue Spalte: "aktiviert" die standardmäßig auf 0 gesetzt wird.
  • 0 = deaktiviert
  • 1 = aktiviert
Dann schickst du ihm in der Email einen Link zu deinem Script ,das ihn dann aktiviert. In dem Link steckst du dann noch den Usernamen und einen Timestamp rein. Dein Script überprüft dann ob das mit dem User stimmt und überprüft ob die 2 Tage schon abgelaufen sind. Je nach dem wird er halt aktiviert oder nicht.
[Das is jetz alles so bissel ungefähr sollte aber die Funktionsweise rüberbringen]

greetz
daddz
 
Hallo,

OK das Feld habe ich nun in der Db drin.

Dann schickst du ihm in der Email einen Link zu deinem Script ,das ihn dann aktiviert. In dem Link steckst du dann noch den Usernamen und einen Timestamp rein. Dein Script überprüft dann ob das mit dem User stimmt und überprüft ob die 2 Tage schon abgelaufen sind. Je nach dem wird er halt aktiviert oder nicht.

und genau das ist das Problem wo ich ja nicht weiter komme wie muss den das Skript aussehen wo den User dann aktiviert.

Hmm.......
 
Hallo

Du kannst erstmal alle Userdaten in einer Tabelle abspeichern. Name, vorname, Nickname, email, Datum, aktiv.

Sind die Daten gespeichert, liest Du Dir die id des Datensatzes über die mysql_insert_id() direkt nach der speicherung wieder aus. Diese setzt Du dann in dem Link ein.

z.b. http://www.domain.de/aktivieren.php?id=$id

In $id steckt dann die gerade erzeugte neue ID des Users.

Diese Link und Deinen anderen Text liest Du dann in die Mail() - Funktion ein, ist ja schon beschrieben worden, und schickst sie dem User an seine gerade eingefügte Email-Adresse.

Klickt der User jetzt auf den Link, dann wird auf der aktivieren.php ein update auf seinen Datensatz ausgeführt.

update tabelle set aktiv = 1 where id = $id

(Variablen einlesen und umsetzen, spare ich mir jetzt. ) :)

Alle Datensätze, die nun den Vermerk aktiv = 1 haben, sind die gültigen Datensätze.

Und jeden Tag klickst Du einmal einen Button und löscht auf ähnliche Art und Weise alle Datensätze, welches Datum < als heute-2 Tage ist. Kann man sich übrigens ganz gut mit Datediff() oder mit DATE_SUB(NOW(), INTERVAL 2 DAY) > Datum (nach der korrekten Syntax muss man mal im Manual schauen, aber ich meine, dass es so stimmt) ausgeben lassen bzw. löschen.
 
Hallo,

Sorry das ist mir alleszu hoch ich lass das einfach

Danke für euere Hilfe.

Gruß jaylibII
 
hey jaylibII

Wieso fragst du immer an, die Läute geben sich mühe und helfen dir und schlussentlich kommts immer auf das selber raus. Nämlich das es dir zu hoch ist und das du es nicht machst. Es ist nicht besonders schwierig. Aber wenn du dich nie daran versuchst wirst du es nie können.

MFG
redX
 
Zurück