E-Mail an Adresse senden bei abschicken des Formulars?
Hauke Hammerich
- php
Hallo Forum!
Ich habe einene Newsletter in dem man seine E-Mailaddy einträgt. Um nun zu überprüfen ob es eine replyfähige und korrekte Adresse ist möchte ich gerne das bei der Eintragung eine Mail an die betreffende Adresse senden.
In dieser Mail soll der betreffende User dann auf einen Link klicken um dann die Eintrgung zu bestätigen.
Außerdem habe ich in der DB ein Feld in der Standardmäßig die "0" eingetragen wird.
Nun soll der User in der Mail auf einen Link klicken um den Newsletter zu "aktivieren" und die Eintragung abzuschließen. Hierzu sollte nun der Wert im Feld akitv auf "1" geändert werden.
Weiß jemadn da eine Hilfe bzw. eine Internetadresse wo so etwas beschireben ist oder kann mir so weiterhelfen?
Hier mal die newsletter.php-->http://hammerhaui.ha.funpic.de/newsletter.txt
Und hier auch mal das Formular:
----------
<form action="index.php?section=newsletter" method="POST">
<center>
<h4 style="color:#ffff00"><b><u>Newslettereintrag:</b></u></h4>
<input type="email" name="email" size="30">
<br>
<br>
<p style="color:#ffff00"><input type="radio" value="eintragen" checked name="r1"> <b>Anmelden</b> </span>
<b>Abmelden</b> <input type="radio" name="r1" value="loeschen"></p>
<input type="submit" name="anmelden" value="Absenden">
<input type="reset" name="zuruecksetzen" value="Zurücksetzen">
</form>
------
Gruß
Hauke
P.S.: Bitte den Link kopieren und dann in die Adressleiste eintragen!! Sonst funzt das nicht!
Hallo!
Vielleicht beschreibt dieses Thema mein Problem besser?
Gruß
Hauke
nun du musst einfach den mail() Befehl einfügen. http://www.selfphp.info/funktionsreferenz/mail_funktionen/mail.php
schau dort mal nach.
Gruß Markus
Hallo Hauke,
Wenn ich Dich recht verstehe, soll Dein System so funktionieren:
1. Ich trage auf Deiner Webseite meine Emailadresse und unterschreibe so fuer den Newsletter
2. Du checkst, ob die Emailadresse schon existiert, wenn nicht, wird sie eingetragen, aber auf inaktiv gesetzt
3. Gleichzeitig schickst du eine Mail an mich mit der Bitte um Bestaetigung
4. Ich klicke in dieser Mail auf einen Link, der meinen Eintrag in deiner DB auf aktiv setzt
Du hast zwar einen Gutteil davon schon in Deinem Script umgesetzt, aber mit dem Hin- und Hermailen klappt's noch nicht so. Deshalb hier mal die Geschichte in Pseudocode:
Erst mal die MySQL-Tabelle im Groben
Dann das Anmeldescript
if(($_POST['email']) != ('newsletter.email') AND ($_POST['r1']) == ('eintragen'))
{
schau in die DB, ob's die Adresse schon gibt (hast Du ja soweit)
wenn die Adresse existiert -> Fehlermeldung 'Adresse existiert'
ansonsten a. -> eintragen, aber inaktiv
b. -> Mail an die neue neue Adresse schicken, schau Dir die Funktion mail() im PHP-Manual an. Wie die Mail ausehen kann steht weiter unten
}
else loeschen, aber das hast Du ja schon
Wie soll die Mail aussehen?
Frag nach dem Eintrag die ID des Neueintrags von der Tabelle ab. Dann schickst Du mit mail() eine Email an die angegebene Emailadresse. Der Minimalinhalt ist ein Link auf deine Bestaetigungsseite und enthaelt die ID als GET-Parameter.
Beispiel <a href="link_zu_deiner_seite/bestaetigung.php?id=25">Eintrag bitte bestaetigen</a>
Die Bestaetigungsseite
Hier kommt man hin, wenn man auf den Link in der Mail klickt, demnach steht $_GET['id'] zur Verfuegung.
if(!empty($_GET['id']))
{
schau in der Tabelle, ob diese id existiert
wenn ja, stell aktiv auf 1
wenn nein, gib eine Fehlermeldung aus
}
Das ist das Prinzip, sonderlich ausgefuchst ist das noch nicht, moegliche Verbesserungen waeren zB.
Gruß,
Dieter
Hallo Dieter!
Danke für Deine sehr ausführliche Antwort!
Hast mir schon etwas weitergeholfen!!
Gruß
Hauke