Ergebnisse aus Schleife in Variable schieben und mit mail() abschicken

son gohan

Erfahrenes Mitglied
Hallo Forum,

ich will eine Auftragsbestätigung generieren und mit der PHP Funtkion mail() abschicken.

Soweit ich weis kann man aber nur einen String als Parameter an die Funktion mail() anhängen.

Jetzt Frage ich mich wie ich eine generierte Rechnung in ein String bekomme.
Mit einer While-Schleife wird die Rechnung zunächst generiert in HTML Code.
Diesen generierten HTML Code müsste ich dann nur noch in den String packen, aber ich weis irgendwie nicht wie ich das machen kann. Den der HTML Code welcher von der While-Schleife generiert wird, wird ja in keine Varibale gespeichert, sonst könnte ich ja die Varibale in den String mit einbauen.

Also es ist schon etwas komplizierter. Ich hoffe man kann mein Problem so verstehen, wenn nicht versuche ich es gerne besser zu erklären.
 
$mailtext="$empfaenger_vorname $empfaenger_nachn \r\n\r\nDeine Bestellung $bestellnummer\r\n";

Dann machste ne Schleife, wörtlich etwa so

"schleife von 0 bis Anzahl Artikel"
$artikel.="$artikelnummer $artikeltext $ep $anz $summe \r\n"

$mailtext.=$artikel;

und dann mailout an Empfänger

So die Richtung als Denkstütze?
 
Das Scheint kompliziert zu werden :-( .

@bk75, ich versuche mir mal was mit deiner Empfehlunng zu basteln, aber ich muss zugeben das ich noch nicht genau weis wie ich was machen soll :-).

@Gumbo, wie das mit der Funktionen zur Ausgabesteuerung funktionieren soll ist mir auch noch ein großes Rätsel, hm, schade das man nie genug bescheid weis, um mit euren tollen Tips was anfangen zu können :( .
 
Der Sinn der Übung ist ja dass man nicht direkt die Lösung verrät weil Du es ja lernen sollst.
Wenn Du irgendwo hängst, poste mal Deinen Code oder wenn Du was nicht verstehst, frag.
 
Prinzipiell ist mein Vorschlag ganz einfach, etwa:
PHP:
<?php

	ob_start();

?>
<h1>Rechnung<h1>
…
<?php

	mail('foo', 'bar', ob_get_contents(), 'Content-Type: text/html; charset=foobar');
	ob_end_flush();

?>
Somit wird die Rechnung nicht nur ausgegeben, sondern auch als E-Mail-Körper verschickt.
 
Zurück