Verfasst: 07.10.2005 15:55
Lies dir dochmal die verlinkte PHP-Dokumentation durch.
phpBB.de - Die deutsche phpBB-Community
https://www.phpbb.de/community/
Code: Alles auswählen
setlocale(LC_ALL, "de_DE", "german");
[...]
$einzelpreis = ...
$anzahl = ...
$message = sprintf("Vielen Dank für ihre Bestellung von %d Büchern à %.2f €. Der Gesamtpreis ihrer Bestellung ist somit %.2f €", $anzahl, $einzelpreis, $einzelpreis * $anzahl);
mail(..., $message);
printf("Sie haben Waren im Wert von %.2f € bestellt.", $einzelpreis * $anzahl);
Code: Alles auswählen
$text_lieferschein = sprintf("
[...]
<p>Ihre Bestellung vom $bestelldatum Uhr:</p>
<p> %1\$d x Artikel zu je %2\$.2f EUR<br>
= %3\$.2f EUR<br>
+ %4\$.2f EUR für Versand $land<br>
______________________________________<br>
= %5\$.2f EUR Gesamtbetrag<br>
<br>
In diesem Betrag sind 16 Prozent = %6\$.2f EUR Mehrwertsteuer enthalten.</p>
[...]
", $anzahl, $preis, $betrag, $versandkosten, $summe, $mwst);
mail(
$absender,
$my_betreff,
$text_lieferschein,
$extheader_ls
);
kann ich im $test_lieferschein zwar <br>, <b> und <p> verwenden, aber nicht <fontsize>.$extheader_ls = "From: ".$_POST["absender"]."\n"
."Content-Type: text/html; charset=\"iso-8859-1\"\n"
."Content-Transfer-Encoding: 8bit\n";
Du kannst natürlich auch einfach $betrag_formatiert = sprintf("%.2f", $betrag) schreiben - das hatte ich dir ja zuerst vorgeschlagen. Aber insbesondere bei kurzen Texten ist IMHO die Variante mit mehreren Parametern übersichtlicher:uwe.hanss hat geschrieben:darauf wäre ich nie gekommen, das ist ja richtig unlogisch, dass ich nun nicht mehr "$betrag" im Text verwenden kann, oder ihn global so wie round() formatieren kann![]()
... und wenn man Beträge öfters verwendet, wird´s ja noch umständlicher.
Code: Alles auswählen
$message = sprintf("Sie haben %d Artikel zu je %.2f € gekauft, also insgesamt %.2f €.", $anzahl, $einzelpreis, $gesamtpreis);
Code: Alles auswählen
$anzahl = sprintf("%d", $anzahl);
$einzelpreis = sprintf("%.2f", $einzelpreis);
$gesamtpreis = sprintf("%.2f", $gesamtpreis);
$message = "Sie haben $anzahl Artikel zu je $einzelpreis € gekauft, also insgesamt $gesamtpreis €.";
Code: Alles auswählen
$message = "Sie haben " . sprintf("%d", $anzahl) . " Artikel zu je " . sprintf("%.2f", $einzelpreis) . " € gekauft, also insgesamt " . sprintf("%.2f", $gesamtpreis) . " €."
Liegt wohl daran, daß es <fontsize> in HTML nicht gibt...entweder <font size="2"></font> oder besser <span style="font-size: 1.5em"></span> oder noch besser gar kein HTML in EMails verwenden.uwe.hanss hat geschrieben:... kann ich im $test_lieferschein zwar <br>, <b> und <p> verwenden, aber nicht <fontsize>.
Gibt es dafür ´ne Erklärung oder Lösung?
da hatte ich es wohl noch nicht verstandenPyramide hat geschrieben: Du kannst natürlich auch einfach $betrag_formatiert = sprintf("%.2f", $betrag) schreiben - das hatte ich dir ja zuerst vorgeschlagen.
Ja, meine ja auch <font size...>Pyramide hat geschrieben: Liegt wohl daran, daß es <fontsize> in HTML nicht gibt
Mach ich ja normalerweise auch nie; die Kundenmail ist auch "plain". Aber die Mail an mich ist so nun schön formatiert, dass ich sie direkt als Lieferschein ausdrucken kannPyramide hat geschrieben:oder noch besser gar kein HTML in EMails verwenden.
Also wenn du das ganze innerhalb von PHP-Code schreibst, probier es mal mituwe.hanss hat geschrieben: Ja, meine ja auch <font size...>
Aber bei
<font size="2"></font> oder
<span style="font-size: 1.5em"></span>
kommt immer:
Parse error: parse error, unexpected T_LNUMBER in ...
OHNE die ' " ' und dafür ' { ' geht es
Code: Alles auswählen
<font size="2"></font>