Hallo,
seit der Umstellung auf PHP5 gibt es ein kleines Problem mit str_replace
Vom Prinzip geht es um einen Newsletterversand wo {NR} und [Name} als Platzhalter durch die Einträge der Datenbank ersetzt werden sollen.
PHP-Code:
// Anzahl Empfänger
$resultAbo = mysql_query("select * from ".$table." where (eMail!='' & NL='1')");
// Newsletter aus Speicher holen
$resultNL = mysql_query("select * from ".$table_nl_sys." where(ID='1')");
$rNL = mysql_fetch_array($resultNL);
function insert_name($str,$name)
{
return str_replace('{Name}',$name,$str);
}
function insert_nr($str,$nr)
{
return str_replace('{NR}',$nr,$str);
}
while($rAbo = mysql_fetch_array($resultAbo))
{
// Name und KNR einsetzen
$html_end = $rNL[HTML];
$text_end = $rNL[TEXT];
$html_end = insert_name($html_end,$rAbo[Vorname]);
$text_end = insert_name($text_end,$rAbo[Vorname]);
$html_end = insert_nr($html_end,$rAbo[NR]);
$text_end = insert_nr($text_end,$rAbo[NR]);
// ReturnPath
$mail->setReturnPath('XXX@XXX.de');
$mail->setHeader('Return-Path', XXX@XXX.de);
$mail->setSubject($rNL[Subject]);
$mail->setHTML($html_end);
$mail->setText($text_end);
//senden
$result = $mail->send(array($rAbo[eMail]));
}
Jetzt erscheint in jedem Newsletter die Kundenummer und der Vorname des ersten Datenbankeintrages. Also einmal werden die Platzhalter richtig ersetzt. Danach nicht mehr.
Hat jmd. eine zündende Idee, woran das liegen könnten?
Besten Dank im Voraus!