Mail Datei mit PHP Versenden

AcidOne

Gesperrt
hallo habe einen Warenkorb programmiert und als ausgabe erscheint eine datei mit allen Produkten und Preisen. Jetzt will ich diese Datei aber als HTML Mail versenden.

Iss ja eigentlich auch kein Ding aber irgendwie klatscht mein Scheiss Mailscript mir immer nen Parse Error an eine For() schleife; was aber nicht sein darf.

Also einfache frage wie kann ich den inhalt der Datei als Mail versenden

Es müssen aber die DB werte mit versendet werden

hier die Datei :

PHP:
<? include("admin/connect.inc") ?>
<? 

//Schurr Webshop 
//Lizenz: Mirko Düßeldorf 
//============================
//Yourmedia GmbH Köln

?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">


<? 



// Hole Daten aus dem Warenkorb 
		 $benutzer=$HTTP_GET_VARS['benutzer'];
		$warenkorb="SELECT * FROM warenkorb WHERE benutzer='$benutzer'";
		$geholt=mysql_query($warenkorb);	

for ($i=0; $i<mysql_num_rows($geholt); $i++) {
$show[$i]=mysql_fetch_array($geholt); }	


?>
<html>
<head>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
<!--
.Stil7 {font-family: Tahoma; font-size: 12px; font-weight: bold; }
.Stil10 {font-family: Tahoma; font-size: 12px; }
-->
</style>
<link href="style.css" rel="stylesheet" type="text/css">
<style type="text/css">
<!--
.Stil11 {
	font-family: Tahoma;
	font-weight: bold;
}
-->
</style>
</head>

<body>


  <table width="600" border="0" align="center" cellpadding="5" cellspacing="2">
    <tr>
      <td><div align="center">
          <table width="600" border="0" cellspacing="0">
            <tr bgcolor="#00CFFF">
              <td colspan="6" class="Stil7">Anrede lala lala m&ouml;chte folgende Artikel bestellen. </td>
            </tr>
            <? 
          //Beginne Schleife Ausgabe anzahl der Artikel
          
          for ($i=0; $i<count($show); $i++) { ?>
            <?
          
          //Hole einzelne Daten aus der Datenbank "SHOP"
          
          $produkt=$show[$i]['produkt']; 
          $daten="SELECT * FROM shop WHERE header='$produkt'";
          			
          	          
          	$daten_s=mysql_query($daten);
          	$row=mysql_fetch_object($daten_s); 
          	
          		$str_3 = $row->preis;
			$preis=$str_3;
			$str_5 = $show[$i]['anzahl']*$preis;
			$sum += $str_5;
          ?>
            <tr class="balken">
              <td>&nbsp;</td>
              <td>&nbsp;</td>
              <td>&nbsp;</td>
              <td>&nbsp;</td>
              <td>&nbsp;</td>
              <td>&nbsp;</td>
            </tr>
            <tr class="Stil7">
              <td width="81">Produktid</td>
              <td width="133">Produkt</td>
              <td width="117">Anzahl</td>
              <td width="77">Preis</td>
              <td width="84">&nbsp;</td>
              <td width="96">&nbsp;</td>
            </tr>
            <form action="warenkorb.php?id=<?=$show[$i]['id'] ?>&benutzer=<?=$benutzer ?>" method="POST">
            <tr class="balken">
              <td>&nbsp;</td>
              <td>&nbsp;</td>
              <td>&nbsp;</td>
              <td>&nbsp;</td>
              <td>&nbsp;</td>
              <td>&nbsp;</td>
            </tr>
            <tr class="balken">
              <td><span class="Stil10">
                <?=$row->id ?>
              </span></td>
              <td><span class="Stil10">
                <?=$row->header ?>
              </span></td>
              <td><?=$show[$i]['anzahl']?></td>
              <td><span class="Stil10">
                <?=$row->preis ?>
&euro; </span></td>
              <td>&nbsp;</td>
              <td>&nbsp;</td>
            </tr>
            </form>
            <? } ?>
            <tr>
              <td>&nbsp;</td>
              <td>&nbsp;</td>
              <td>&nbsp;</td>
              <td>&nbsp;</td>
              <td>&nbsp;</td>
              <td>&nbsp;</td>
            </tr>
            <tr>
              <td>&nbsp;</td>
              <td>&nbsp;</td>
              <td>&nbsp;</td>
              <td><span class="Stil7">Gesamt:</span></td>
              <td>&nbsp;</td>
              <td>&nbsp;</td>
            </tr>
			<form action="angaben.php?benutzer=<?=$benutzer ?>" method="post" name="form1">
            <tr bgcolor="#00CCFF">
              <td>&nbsp;</td>
              <td>&nbsp;</td>
              <td>&nbsp;</td>
              <td class="Stil7">              <span class="Stil11">
                <?=$sum ?>
              &euro;</span></td>
              <td>&nbsp;</td>
              <td>&nbsp;
              </td>
            </tr>
		    </form>
          </table>
      </div></td>
    </tr>
</table>

</body>
</html>

Danke für die schnelle Hilfe

GreetZ Acidone
 
nochmal ich ;)

also ich mach und tue und peile nix

PHP:
$msgschurr .=for($i=0;$i<count($show);$i++) { // Parse Error

warum entseht in dieser zeile ein Parse error ?

GreetZ Acid
 
Was snuu meint, ist, dass du in der Variablen $msgschurr nicht direkt die FOR-Schleife speichern kannst.
FOR ist keine Funktion wie z.B. str_replace, bei der ein String o.Ä. zurückgegeben wird.
PHP:
//funktioniert:
for ($x = 0; $x < 5; $x++) {
    $var = $x;
}

//funktioniert nicht:
$var = for ($x = 0; $x < 5; $x++) {
...
 
hier nen html mailer 8)

im code ist alles erklärt 8)
wenn du natürlich wie bei dir noch dynamischen html code brauchst dann musste ihn in variablen zwischen speichern 8) und dann an den mailer geben 8)
viel spaß damit
es ist getestet und funktioniert 8)
PHP:
<?
$TEXT="This is the first test\n in text format\n.";
//Die html variable einfach mit allem füttern was du an html haben willst 8)
$HTML="<font color=red>This is the first test in html format.</font>";
//bei $ATTM machste wenn de mehrere files willst nen array('lala.txt', 'fu.doc')
$ATTM=0;

SendMail(
   "deine@adresse.de","dein name", 			//sender
   "empfänger@adresse.de","empf-name",    	//empfänger
   "Mail Subjekt",                          //subjekt
   $TEXT,$HTML,$ATTM);                      //mail und files
   
function SendMail($From,$FromName,$To,$ToName,$Subject,$Text,$Html,$AttmFiles){
 $OB="----=_OuterBoundary_000";
 $IB="----=_InnerBoundery_001";
 $Html=$Html?$Html:preg_replace("/\n/","<br>",$Text) 
  or die("neither text nor html part present.");
 $Text=$Text?$Text:"Sorry, but you need an html mailer to read this mail.";
 $From or die("sender address missing");
 $To or die("recipient address missing");
   
 $headers ="MIME-Version: 1.0\r\n"; 
 $headers.="From: ".$FromName." <".$From.">\n"; 
 $headers.="To: ".$ToName." <".$To.">\n"; 
 $headers.="Reply-To: ".$FromName." <".$From.">\n"; 
 $headers.="X-Priority: 1\n"; 
 $headers.="X-MSMail-Priority: High\n"; 
 $headers.="X-Mailer: My PHP Mailer\n"; 
 $headers.="Content-Type: multipart/mixed;\n\tboundary=\"".$OB."\"\n";

 $Msg ="This is a multi-part message in MIME format.\n";
 $Msg.="\n--".$OB."\n";
 $Msg.="Content-Type: multipart/alternative;\n\tboundary=\"".$IB."\"\n\n";

 $Msg.="\n--".$IB."\n";
 $Msg.="Content-Type: text/plain;\n\tcharset=\"iso-8859-1\"\n";
 $Msg.="Content-Transfer-Encoding: quoted-printable\n\n";

 $Msg.=$Text."\n\n";

 $Msg.="\n--".$IB."\n";
 $Msg.="Content-Type: text/html;\n\tcharset=\"iso-8859-1\"\n";
 $Msg.="Content-Transfer-Encoding: base64\n\n";

 $Msg.=chunk_split(base64_encode($Html))."\n\n";


 $Msg.="\n--".$IB."--\n";

 // attachments
 if($AttmFiles){
  foreach($AttmFiles as $AttmFile){
   $patharray = explode ("/", $AttmFile); 
   $FileName=$patharray[count($patharray)-1];
   $Msg.= "\n--".$OB."\n";
   $Msg.="Content-Type: application/octetstream;\n\tname=\"".$FileName."\"\n";
   $Msg.="Content-Transfer-Encoding: base64\n";
   $Msg.="Content-Disposition: attachment;\n\tfilename=\"".$FileName."\"\n\n";
           
   //hier wird das attachment file hinzugefügt
   $fd=fopen ($AttmFile, "r");
   $FileContent=fread($fd,filesize($AttmFile));
   fclose ($fd);
   $FileContent=chunk_split(base64_encode($FileContent));
   $Msg.=$FileContent;
   $Msg.="\n\n";
  }
 }
   
 //message ends
 $Msg.="\n--".$OB."--\n";
 mail($To,$Subject,$Msg,$headers);    
 }
?>

bei fragen plz an mich 8)
 
danke danke

hatte es auch mittlerweile hinbekommen ;) war meine Fehler hatte ne For schleife in eine vari gepackt wie doof von mir.

thanx a lot
 
Zurück