email.txt mit personalisierter Anrede
Hallo!
Habe das gleiche Problem mit der Anrede:
in der newsletter.php habe ich es so:
im Formular:
in der txt-Datei:
in der Bestätigungsmail:
Wo kann mein Fehler liegen?
Habe das gleiche Problem mit der Anrede:
in der newsletter.php habe ich es so:
Code: Alles auswählen
$message = str_replace ("[BESTAETIGUNGSLINK]", $Link, $message);
$message = str_replace ("[CONFIRMATIONLINK]", $Link, $message);
$message = str_replace ("[VORNAME]", $_POST['Vorname'], $message);
$message = str_replace ("[NAME]", $_POST['Name'], $message);
Code: Alles auswählen
<form method="POST" action="newsletter.php">
Name:<br>
<input type="text" name="NAME"><br>
Vorname:<br>
<input type="text" name="VORNAME"><br>
<p><font face="Verdana, Arial, Helvetica" size="1">Ihre E-Mail-Adresse:<br>
<input type="text" name="EMail" size="25"></font></p>
<p><font face="Verdana, Arial, Helvetica" size="1">Sie möchten sich für
unseren Newsletter</font></p>
<p><font face="Verdana, Arial, Helvetica" size="1"><input type="radio" value="subscribe" checked name="Action">
anmelden<br>
<input type="radio" name="Action" value="unsubscribe"> abmelden</font></p>
<p><input type="image" src="../shop/templates/capsicum/buttons/german/button_absenden.jpg" alt="Absenden">
</form>
Code: Alles auswählen
Hallo [VORNAME] [NAME]!
Code: Alles auswählen
Hallo !
Tja ich hab ein Problem:
Habe es so übernommen in der newsletter.php
if($s != "")
$Link .= "&".$s;
$message = str_replace ("[BESTAETIGUNGSLINK]", $Link, $message);
$message = str_replace ("[CONFIRMATIONLINK]", $Link, $message);
$message = str_replace ("[VORNAME]", $_POST['Vorname'], $message);
$message = str_replace ("[NAME]", $_POST['Name'], $message);
if(!@mail($EMail, $EMailSubject, $message, $headers))
print "Can't send email.";
if ($ConfirmationMailSendOKPage != "")
header("Location: $ConfirmationMailSendOKPage");
else
print "<b>Ihnen wurde eine E-Mail an die E-Mail-Adresse $EMail mit einem Bestätigungslink zur Aufnahme in unseren Newsletter gesendet.<br>Bitte klicken Sie in dieser E-Mail auf den Bestätigungslink, damit Ihre E-Mail-Adresse in unseren Newsletter aufgenommen wird.</b>";
exit;
}
Mein html-Formular:
<Newsletteranmeldung>
<form>
Name:<br>
<input><br>
Vorname:<br>
<input><br>
<p><font>Ihre E-Mail-Adresse:<br>
<input></font></p>
<p><font>Sie möchten sich für
unseren Newsletter</font></p>
<p><font><input>
anmelden<br>
<input> abmelden</font></p>
<p><input>
</form>
<Newsletteranmeldung>
Aber meine Mail kommt dann so an:
Hallo [Vorname] [Name]!
Vielen Dank für die Anmeldung zu unserem Newsletter.
Damit Ihre E-Mail-Adresse in unserem Newsletterverteiler aufgenommen wird, bestätigen Sie
bitte nochmal Ihre Anmeldung, in dem Sie auf den folgenden Link klicken:
Was habe ich falsch gemacht?
Habe es so übernommen in der newsletter.php
if($s != "")
$Link .= "&".$s;
$message = str_replace ("[BESTAETIGUNGSLINK]", $Link, $message);
$message = str_replace ("[CONFIRMATIONLINK]", $Link, $message);
$message = str_replace ("[VORNAME]", $_POST['Vorname'], $message);
$message = str_replace ("[NAME]", $_POST['Name'], $message);
if(!@mail($EMail, $EMailSubject, $message, $headers))
print "Can't send email.";
if ($ConfirmationMailSendOKPage != "")
header("Location: $ConfirmationMailSendOKPage");
else
print "<b>Ihnen wurde eine E-Mail an die E-Mail-Adresse $EMail mit einem Bestätigungslink zur Aufnahme in unseren Newsletter gesendet.<br>Bitte klicken Sie in dieser E-Mail auf den Bestätigungslink, damit Ihre E-Mail-Adresse in unseren Newsletter aufgenommen wird.</b>";
exit;
}
Mein html-Formular:
<Newsletteranmeldung>
<form>
Name:<br>
<input><br>
Vorname:<br>
<input><br>
<p><font>Ihre E-Mail-Adresse:<br>
<input></font></p>
<p><font>Sie möchten sich für
unseren Newsletter</font></p>
<p><font><input>
anmelden<br>
<input> abmelden</font></p>
<p><input>
</form>
<Newsletteranmeldung>
Aber meine Mail kommt dann so an:
Hallo [Vorname] [Name]!
Vielen Dank für die Anmeldung zu unserem Newsletter.
Damit Ihre E-Mail-Adresse in unserem Newsletterverteiler aufgenommen wird, bestätigen Sie
bitte nochmal Ihre Anmeldung, in dem Sie auf den folgenden Link klicken:
Was habe ich falsch gemacht?
Code: Alles auswählen
if($s != "")
$Link .= "&".$s;
$message = str_replace ("[BESTAETIGUNGSLINK]", $Link, $message);
$message = str_replace ("[CONFIRMATIONLINK]", $Link, $message);
$message = str_replace ("[VORNAME]", $_POST['Vorname'], $message);
$message = str_replace ("[NAME]", $_POST['Name'], $message);
if(!@mail($EMail, $EMailSubject, $message, $headers))
print "Can't send email.";
if ($ConfirmationMailSendOKPage != "")
header("Location: $ConfirmationMailSendOKPage");
else
print "<b>Ihnen wurde eine E-Mail an die E-Mail-Adresse $EMail mit einem Bestätigungslink zur Aufnahme in unseren Newsletter gesendet.<br>Bitte klicken Sie in dieser E-Mail auf den Bestätigungslink, damit Ihre E-Mail-Adresse in unseren Newsletter aufgenommen wird.</b>";
exit;
}
Code: Alles auswählen
if($s != "")
$Link .= "&".$s;
$message = str_replace ("[BESTAETIGUNGSLINK]", $Link, $message);
$message = str_replace ("[CONFIRMATIONLINK]", $Link, $message);
$message = str_replace ("[VORNAME]", $_POST['Vorname'], $message);
$message = str_replace ("[NAME]", $_POST['Name'], $message);
if(!@mail($EMail, $EMailSubject, $message, $headers))
print "Can't send email.";
if ($ConfirmationMailSendOKPage != "")
header("Location: $ConfirmationMailSendOKPage");
else
print "<b>Ihnen wurde eine E-Mail an die E-Mail-Adresse $EMail mit einem Bestätigungslink zur Aufnahme in unseren Newsletter gesendet.<br>Bitte klicken Sie in dieser E-Mail auf den Bestätigungslink, damit Ihre E-Mail-Adresse in unseren Newsletter aufgenommen wird.</b>";
exit;
}
Code: Alles auswählen
if($s != "")
$Link .= "&".$s;
$message = str_replace ("[BESTAETIGUNGSLINK]", $Link, $message);
$message = str_replace ("[CONFIRMATIONLINK]", $Link, $message);
$message = str_replace ("[VORNAME]", $_POST['Vorname'], $message);
$message = str_replace ("[NAME]", $_POST['Name'], $message);
if(!@mail($EMail, $EMailSubject, $message, $headers))
print "Can't send email.";
if ($ConfirmationMailSendOKPage != "")
header("Location: $ConfirmationMailSendOKPage");
else
print "<b>Ihnen wurde eine E-Mail an die E-Mail-Adresse $EMail mit einem Bestätigungslink zur Aufnahme in unseren Newsletter gesendet.<br>Bitte klicken Sie in dieser E-Mail auf den Bestätigungslink, damit Ihre E-Mail-Adresse in unseren Newsletter aufgenommen wird.</b>";
exit;
}
weil Syntax-Fehler drin sind, ohh und den Fehler habe ich auch noch vorgemacht, muss ich gleich in dem alten Beitrag korrigieren. 
Also
ändern in
also bei $message); fehlt überall ein Komma davor.

Also
Code: Alles auswählen
if ( $_POST['Anrede'] == "Mr." )
$message = str_replace ("[ANREDE]", "Mr." $message);
else
if ( $_POST['Anrede'] == "Mrs." )
$message = str_replace ("[ANREDE]", "Mrs." $message);
Code: Alles auswählen
if ( $_POST['Anrede'] == "Mr." )
$message = str_replace ("[ANREDE]", "Mr.", $message);
else
if ( $_POST['Anrede'] == "Mrs." )
$message = str_replace ("[ANREDE]", "Mrs.", $message);
Danke für die Hilfe - irgendwo habe ich wohl noch einen Fehler. So sieht mein Code in der newsletter.php aus:
if($s != "")
$Link .= "&".$s;
$message = str_replace ("[BESTAETIGUNGSLINK]", $Link, $message);
$message = str_replace ("[CONFIRMATIONLINK]", $Link, $message);
$message = str_replace ("[VORNAME]", $_POST['Vorname'], $message);
$message = str_replace ("[NAME]", $_POST['Name'], $message);
$message = str_replace ("[ANREDE]", $_POST['Anrede'], $message);
if ( $_POST['Anrede'] == "Mr." )
$message = str_replace ("[ANREDE]", "Mr." $message);
else
if ( $_POST['Anrede'] == "Mrs." )
$message = str_replace ("[ANREDE]", "Mrs." $message);
@mail($EMail, $EMailSubject, $message, $headers);
if ($ConfirmationMailSendOKPage != "")
header("Location: $ConfirmationMailSendOKPage");
else
####################################
das ist der code meines Formulars:
<TR>
<TD><div>
<select>
<option>Mr.</option>
<option>Mrs.</option>
</select><br>
<div>Surname:<BR>
<INPUT><BR>
Last name:<BR>
<INPUT></div></TD>
<TD>
<div>I would like to...</div>
<div>
<INPUT> <FONT>subscribe</FONT><BR>
<INPUT> <FONT>unsubscribe</FONT><BR>
<INPUT> <FONT>edit my data</FONT><BR></div></TD></TR>
<TR>
<TD>
<div>eMail-address:<BR>
<INPUT></div></TD>
<TD>
<div> <BR>
<INPUT></div></FORM></TD></TR>
#########################
in der email.txt steht:
Dear [Anrede] [Vorname] [Name],
Thank you for subscribing to the newsletter. To confirm your registration, please verify your subscription by clicking on this link:
[BESTAETIGUNGSLINK]
When clicking on the link does not work for you
#########################
wenn man das formular benutzt, dann kommt nur eine leere weiße Seite. Entferne ich den neuen Code aus der newsletter.php dann funktioniert es wieder - allerdings ohne Anrede. Irgend etwas scheint in der php noch nicht ganz zu stimmen.
if($s != "")
$Link .= "&".$s;
$message = str_replace ("[BESTAETIGUNGSLINK]", $Link, $message);
$message = str_replace ("[CONFIRMATIONLINK]", $Link, $message);
$message = str_replace ("[VORNAME]", $_POST['Vorname'], $message);
$message = str_replace ("[NAME]", $_POST['Name'], $message);
$message = str_replace ("[ANREDE]", $_POST['Anrede'], $message);
if ( $_POST['Anrede'] == "Mr." )
$message = str_replace ("[ANREDE]", "Mr." $message);
else
if ( $_POST['Anrede'] == "Mrs." )
$message = str_replace ("[ANREDE]", "Mrs." $message);
@mail($EMail, $EMailSubject, $message, $headers);
if ($ConfirmationMailSendOKPage != "")
header("Location: $ConfirmationMailSendOKPage");
else
####################################
das ist der code meines Formulars:
<TR>
<TD><div>
<select>
<option>Mr.</option>
<option>Mrs.</option>
</select><br>
<div>Surname:<BR>
<INPUT><BR>
Last name:<BR>
<INPUT></div></TD>
<TD>
<div>I would like to...</div>
<div>
<INPUT> <FONT>subscribe</FONT><BR>
<INPUT> <FONT>unsubscribe</FONT><BR>
<INPUT> <FONT>edit my data</FONT><BR></div></TD></TR>
<TR>
<TD>
<div>eMail-address:<BR>
<INPUT></div></TD>
<TD>
<div> <BR>
<INPUT></div></FORM></TD></TR>
#########################
in der email.txt steht:
Dear [Anrede] [Vorname] [Name],
Thank you for subscribing to the newsletter. To confirm your registration, please verify your subscription by clicking on this link:
[BESTAETIGUNGSLINK]
When clicking on the link does not work for you
#########################
wenn man das formular benutzt, dann kommt nur eine leere weiße Seite. Entferne ich den neuen Code aus der newsletter.php dann funktioniert es wieder - allerdings ohne Anrede. Irgend etwas scheint in der php noch nicht ganz zu stimmen.
Zuletzt geändert von staubach am 21.08.2007, 14:21, insgesamt 1-mal geändert.
email.txt mit personalisierter Anrede
Ja doch so in der Art geht es.
also da wo steht
darunter z.B. schreiben
Wichtig dabei im HTML-Formular müssen die Eingabefelder für den Vornamen auch Vorname, für den Namen Name und für Anrede natürlich Anrede heißen.
Man kann das Spielchen dann noch weiter treiben z.B. [ANREDE] mit Sehr geehrter Herr und Sehr geehrte Frau ersetzen, in dem man halt Vergleiche macht z.B. so

also da wo steht
Code: Alles auswählen
$message = str_replace ("[BESTAETIGUNGSLINK]", $Link, $message);
$message = str_replace ("[CONFIRMATIONLINK]", $Link, $message);
Code: Alles auswählen
$message = str_replace ("[VORNAME]", $_POST['Vorname'], $message);
$message = str_replace ("[NAME]", $_POST['Name'], $message);
$message = str_replace ("[ANREDE]", $_POST['Anrede'], $message);
Man kann das Spielchen dann noch weiter treiben z.B. [ANREDE] mit Sehr geehrter Herr und Sehr geehrte Frau ersetzen, in dem man halt Vergleiche macht z.B. so
Code: Alles auswählen
if ( $_POST['Anrede'] == "Herr" )
$message = str_replace ("[ANREDE]", "Sehr geehrter Herr", $message);
else
if ( $_POST['Anrede'] == "Frau" )
$message = str_replace ("[ANREDE]", "Sehr geehrte Frau", $message);
Zuletzt geändert von mirko am 19.09.2008, 15:11, insgesamt 1-mal geändert.
email.txt mit personalisierter Anrede
Hallo Mirko, in meiner Anmeldung frage ich auch Namen und Vornamen ab. Diese möchte ich gern auch in der email.txt für die Anrede verwenden. Dafür muss in der newsletter.php sicherlich etwas ergänzt werden. Allerdings geht es leider nicht so einfach wie unten aufgeührt...
if($s != "")
$Link .= "&".$s;
$message = str_replace ("[VORNAME]", $Link, $message);
$message = str_replace ("[NAME]", $Link, $message);
$message = str_replace ("[BESTAETIGUNGSLINK]", $Link, $message);
$message = str_replace ("[CONFIRMATIONLINK]", $Link, $message);
@mail($EMail, $EMailSubject, $message, $headers);
Ich hoffe, du kannst mir helfen. Danke
if($s != "")
$Link .= "&".$s;
$message = str_replace ("[VORNAME]", $Link, $message);
$message = str_replace ("[NAME]", $Link, $message);
$message = str_replace ("[BESTAETIGUNGSLINK]", $Link, $message);
$message = str_replace ("[CONFIRMATIONLINK]", $Link, $message);
@mail($EMail, $EMailSubject, $message, $headers);
Ich hoffe, du kannst mir helfen. Danke