Im vorherigen Kapitel hast Du gelernt wie Du ein Formular erstellst, in welche Daten eingetragen werden. Ebenso weißt Du jetzt auch wie diese Eingaben in die Datenbank eingefügt werden.
Nun wollen wir zu dem Newsletter eine Bestätigungsmail senden.
Der Befehl zum Senden einer Mail lautet ganz einfach mail und hat die Parameter: Empfänger, Betreff, Nachricht, Absender (optional)
mail("saschahunsicker@gmx.de", "Anmeldung zum Newsletter", "Testmail", "From: s.hunsicker@kars-landau.de");
Ist die zu sendende Mail länger als 70 Zeichen wird wordwrap benutzt. Hier wird dann auch meistens ein Zeilenumbruch benötigt.
Dieser wird mit \r\n realisiert.
Hier ein Beispiel wie eine Mail zur Anmeldung aussehen könnte
msg = "Hallo $vorname;"
msg.= \r\n;
msg.= "Du hast Dich erfolgreich zum Newsletter angemeldet";
msg.= \r\n;
msg.= "Bitte bestätige Deine Anmeldung durch Klicken auf folgenden Link:";
msg.= "http://www.anmeldung.html";
mail("saschahunsicker@gmx.de", "Anmeldung zum Newsletter", $msg, "From: s.hunsicker@kars-landau.de");
Fehlerabfrage
Es wäre ärgerlich, wenn keine Mailadresse eingetragen wird und die Daten trotzdem abgesendet werden. Es sollen also nur dann Daten versendet werden, wenn das Feld für die Mailadresse nicht leer ist.
Eine Möglichkeit ist, dass wir die Stringlänge des Maileingabefeldes ermitteln. Ist diese < 1, dann kann unmöglich eine korrekte Mailadresse eingegeben worden sein.
$mail = $_POST["mail"];
$lang = strlen($mail);
if($lang < 1)
{
echo "Du hast keine Mailadresse eingetragen.";
}
else
{ ....
Eine andere Möglichkeit wäre, dass man 2 Mailadressen eintragen muss. Nur wenn beide gleich sind, werden die Daten übermittelt.
$mail1 = $_POST["mail1"];
$mail2 = $_POST["mail2"];
if($mail1 != $mail2)
{
echo "Die Mailadressen stimmen nicht überein.";
}
else
{ ....