tomtutorial
Erfahrenes Mitglied
Hi @ all,
Ich habe es nun geschafft nach ca 4 Wochen, von Null Ahnung in Sachen PHP, durch Buch etc, einen recht schönen Shop zu programmieren. Mit MySQL Datenbank & halt alles was dazu gehört.
Doch nun zum Schluß komme ich noch mal so richtig ins Schwitzen.
Das Problem:
Reihenfolge des Bestellvorganges:
Warenkorb -> Adresseingabe -> Bestätigungsseite (ist noch mal alles aufgelistet) -> per Mail versenden
Und genau beim letzten Punkt stocke ich. Der Inhalt der eMail soll nämlich dynamisch aufgebaut sein. Ich weiß garnicht ob das überhaupt geht
Ich habe quasi die komplette Bestätigungsseite in eine Variable gepackt, die dann verschickt wird. Ich hänge einfach mal den Quellcode ran. Vielleicht man ich ja etwas prinzipell falsch oder es gibt einen einfacheren Weg.
Wäre für jede Anregung dankbar.
mfg, Tom
Ich habe es nun geschafft nach ca 4 Wochen, von Null Ahnung in Sachen PHP, durch Buch etc, einen recht schönen Shop zu programmieren. Mit MySQL Datenbank & halt alles was dazu gehört.
Doch nun zum Schluß komme ich noch mal so richtig ins Schwitzen.
Das Problem:
Reihenfolge des Bestellvorganges:
Warenkorb -> Adresseingabe -> Bestätigungsseite (ist noch mal alles aufgelistet) -> per Mail versenden
Und genau beim letzten Punkt stocke ich. Der Inhalt der eMail soll nämlich dynamisch aufgebaut sein. Ich weiß garnicht ob das überhaupt geht
Ich habe quasi die komplette Bestätigungsseite in eine Variable gepackt, die dann verschickt wird. Ich hänge einfach mal den Quellcode ran. Vielleicht man ich ja etwas prinzipell falsch oder es gibt einen einfacheren Weg.
PHP:
<?php
require("include/db.inc");
$globusemail = "frenken@globus-online.com";
$header="Content-Type: text/html\nContent-Transfer-Encoding: 8bit\n";
// Content
$content ="<?php";
$content .="if ($kdnr != \"\") {";
$content .="echo(\"Ihre Kundennummer: $kdnr\");}";
$content .="else {echo(\"Ich bin Neukunde\");}";
$content .="?>";
$content .="<tr><td colspan='6'><table><tr><td colspan='3' align='left' valign='top'>";
$content .="<table width='390' border='0' cellspacing='0' cellpadding='1' bgcolor='#000000'><tr><td>";
$content .="<table border='0' width='100%' align='left' valign='top' cellspacing='0' cellpadding='4' bgcolor='#FFFFFF'>";
$content .="<tr><td><b>Rechnungsadresse:</b></td></tr>";
$content .="<tr><td>Firma: <b><?php echo$firma;?></b></td></tr>";
$content .="<tr><td>Vor- & Zuname: <b><?php echo$vorzuname;?></b></td></tr>";
$content .="<tr><td>Strasse / Hausnummer: <b><?php echo$strasse;?></b></td>";
$content .="</tr><tr><td>Postleitzahl / Ort: <b><?php echo$ort;?></b></td></tr>";
$content .="<tr><td>Land: <b><?php echo$land;?></b></td>";
$content .="</tr><tr><td> </td></tr>";
$content .="<tr><td>Telefon: <b><?php echo$telefon;?></b></td></tr>";
$content .="<tr><td>Fax: <b><?php echo$fax;?></b></td></tr>";
$content .="<tr><td>eMail: <b><?php echo$email;?></b></td></tr>";
$content .="<tr><td>Website: <b><?php echo$website;?></b></td></tr>";
$content .="</table></td></tr></table></td>";
$content .="<!-- Feld für die Lieferadresse -->";
$content .="<td colspan='3' align='left' valign='top'>";
$content .="<table width='390' border='0' cellspacing='0' cellpadding='1' bgcolor='#000000'><tr><td>";
$content .="<table border='0' width='100%' align='left' valign='top' cellspacing='0' cellpadding='4' bgcolor='#FFFFFF'>";
$content .="<tr><td><b>Lieferadresse:</b></td></tr>";
$content .="<tr><td>Firma: <b><?php echo$lieferfirma;?></b></td></tr>";
$content .="<tr><td>Vor- & Zuname: <b><?php echo$liefervorzuname;?></b></td></tr>";
$content .="<tr><td>Strasse / Hausnummer: <b><?php echo$lieferstrasse;?></b></td>";
$content .="</tr><tr><td>Postleitzahl / Ort: <b><?php echo$lieferort;?></b></td></tr>";
$content .="<tr><td>Land: <b><?php echo$lieferland;?></b></td></tr>";
$content .="<tr><td> </td></tr>";
$content .="<tr><td>Telefon: <b><?php echo$liefertelefon;?></b></td></tr>";
$content .="<tr><td>Fax: <b><?php echo$lieferfax;?></b></td></tr>";
$content .="<tr><td> </td></tr>";
$content .="<tr><td> </td></tr>";
$content .="</table></td></tr></table></td></tr></table>";
$content .="<tr><td colspan='6'><table>";
$content .="<tr><td colspan='6'><hr width='100%' color='#000000' size='1' noshade></td></tr>";
$content .="<tr><td width='50'><b>Menge</b></td><td width='80'><b>ArtNr.</b></td><td><b>Name</b></td><td width='30'><b>VPE</b></td><td width='100'><b>Preis</b></td><td width='100'><b>Gesamt</b></td></tr>";
$content .="<tr><td colspan='6'><hr width='100%' color='#000000' size='1' noshade></td></tr>";
$content .="<?php";
$content .="// Auslesen des Warenkorbs & die dazugehörigen Daten in ein Array ";
$content .="$kaufen = mysql_query(\"SELECT * FROM warenkorb WHERE sessionid='$sid'\");";
$content .="while ($ergebnis = mysql_fetch_array($kaufen)) {";
$content .="$id = $ergebnis[\"id\"];";
$content .="$sessionid = $ergebnis[\"sessionid\"];";
$content .="$artnr = $ergebnis[\"artnr\"];";
$content .="$menge = $ergebnis[\"menge1\"];";
$content .="$artikel = mysql_query(\"SELECT name, kurztext, preisid FROM artikel WHERE artnr='$artnr'\");";
$content .="$art = mysql_fetch_array($artikel);";
$content .="$name = $art[\"name\"];";
$content .="$kurztext = $art[\"kurztext\"];";
$content .="$preisid = $art[\"preisid\"];";
$content .="$preise = mysql_query(\"SELECT vpe1, preis1 FROM preise WHERE id='$preisid'\");";
$content .="$preis = mysql_fetch_array($preise);";
$content .="$vpe1 = $preis[\"vpe1\"];";
$content .="$preis1 = $preis[\"preis1\"];";
$content .="$preis1_format = number_format($preis1, 3, ',', ' ');";
$content .="$gesamt1 = $menge * $vpe1 * $preis1;";
$content .="$gesamt2 = number_format($gesamt1, 2, ',', ' ');";
$content .="$netto1 = $netto1 + $gesamt1;";
$content .="$netto2 = number_format($netto1, 2, ',', ' ');";
$content .="// Ausgabe der Artikel";
$content .="echo(\"<tr>\");";
$content .="echo(\"<td>$menge</td>\");";
$content .="echo(\"<td>$artnr</td>\");";
$content .="echo(\"<td><b>$name</b><br>$kurztext</td>\");";
$content .="echo(\"<td>$vpe1</td>\");";
$content .="echo(\"<td>$preis1_format €/Stk.</td>\");";
$content .="echo(\"<td>$gesamt2 €</td>\");";
$content .="echo(\"</tr>\n\");";
$content .="echo(\"<tr><td colspan='6'><hr width='100%' color='#000000' size='1' noshade></td></tr>\n\");}";
$content .="$mwst1 = $netto1 * 16 / 100;";
$content .="$mwst2 = number_format($mwst1, 2, ',', ' ');";
$content .="$endbetrag1 = $netto1 + $mwst1;";
$content .="$endbetrag2 = number_format($endbetrag1, 2, ',', ' ');";
$content .="echo(\"<tr><td colspan='5' align='right'>Summe Netto:</td>\");";
$content .="echo(\"<td>$netto2 €</td>\n\");";
$content .="echo(\"<tr><td colspan='6'><hr width='100%' color='#000000' size='2' noshade></td></tr>\n\");";
$content .="echo(\"<tr><td colspan='5' align='right'>Die Umsatzsteuer beträgt:</td>\");";
$content .="echo(\"<td>$mwst2 €</td>\n\");";
$content .="echo(\"<tr><td colspan='6'><hr width='100%' color='#000000' size='3' noshade></td></tr>\n\");";
$content .="echo(\"<tr><td colspan='5' align='right'>Endbetrag:</td>\");";
$content .="echo(\"<td>$endbetrag2 €</td>\n\");";
$content .="?>";
$content .="</table></table>";
?>
<table width="800" border="0" cellspacing="0" cellpadding="1" bgcolor="#000000"><tr><td height="30"> </td></tr>
<tr><td>
<table border="0" width="100%" align="left" valign="top" cellspacing="0" cellpadding="4" bgcolor="#FFFFFF">
<tr><td colspan="6" align="left"><img src="graphics/vielendank.jpg" width="176" height="40"></td></tr>
<?php
$emailsenden = mail("$globusemail", "Bestellung aus Onlineshop", "$content");
$emailsenden;
if (!$emailsenden){
echo("Fehler bei der eMail Übertragung");
}
else {
echo("eMail erfolgreich an $globusemail übertragen.");
}
echo("<tr><td colspan='6'><hr width='100%' color='#000000' size='1' noshade></td></tr>\n");
echo("<tr><td colspan='6'><table><tr><td align='right'><input name='startseite' type='button' onClick=\"goToURL('parent','index.php?sid=$sid');return document.returnValue\" value='Zur Startseite'></td></tr></table></td></tr>\n");
?>
Wäre für jede Anregung dankbar.
mfg, Tom