Mailversand aus php -aber mit mysql daten
Einklappen
X
-
wow
man bist du schnell -
ich hatte den Fehler auch gerade entdeckt - aber manchmal sieht man halt den Wald vor lauter Bäumen nicht. Es klappt jetzt !
HURRAAA.
Du bist der Beste
Thx a lot
Bai
Stefan
Einen Kommentar schreiben:
-
PHP-Code:$nachricht ="
<html>
<body>
<p><font face=\"Verdana, Arial, Helvetica, sans-serif\" size=\"2\">Sie haben eine neue Bestellung erhalten.<br></font></p>
<p><font face=\"Verdana, Arial, Helvetica, sans-serif\" size=\"2\">Hier die entsprechenden Teilnehmerdaten:</font></p>
<table width=\"80%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">
<tr>
<td>Interpret</td>
<td>Titel</td>
<td>Zustand</td>
<td>Preis</td>
</tr>"
while($value = mysql_fetch_array($suchen))
{
$nachricht .="
<tr>
<td>".$value['cdinterpet']."</td>
<td>".$value['cdtitel']."</td>
<td>".$value['cdzustand']."</td>
<td>".$value['cdpreis']."</td>
</tr>
"}
$nachricht .="
</table>
</body>
</html>
";
Klammer zu vergessen und unten, dann nochmal $nachricht .=...
Einen Kommentar schreiben:
-
heul
Ich glaube es jetzt verstanden zu haben, aber es will noch nicht klappen.
Hier der Fehler:
Parse error: parse error, unexpected '>' in /home/.../sendmail.php on line 32Code:<? # Aufruf der Benutzerkontrollroutine include ("checkuser.php"); ?> <html> <head> <title>Bestellung versendet...</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> </head> <body bgcolor="#FFFFFF" text="#000000" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0"> <? $empfaenger="info@mailadresse.de"; $betreff="Eine neue Bestellung ist eingegangen..."; $user = $_SESSION["user_id"]; mysql_connect("localhost","root","Passwort") or die ("Keine Verbindung möglich"); $suche=mysql_query("SELECT * FROM datenbank.warenkorb WHERE BENUTZERID = '$user'"); $nachricht =" <html> <body> <p><font face=\"Verdana, Arial, Helvetica, sans-serif\" size=\"2\">Sie haben eine neue Bestellung erhalten.<br></font></p> <p><font face=\"Verdana, Arial, Helvetica, sans-serif\" size=\"2\">Hier die entsprechenden Teilnehmerdaten:</font></p> <table width=\"80%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\"> <tr> <td>Interpret</td> <td>Titel</td> <td>Zustand</td> <td>Preis</td> </tr> while($value = mysql_fetch_array($suchen)) { $nachricht .=" <tr> <td>".$value['cdinterpet']."</td> <td>".$value['cdtitel']."</td> <td>".$value['cdzustand']."</td> <td>".$value['cdpreis']."</td> </tr> "}" </table> </body> </html> "; $xtra = "From: $emailadresse\n"; $xtra .= "Content-Type: text/html\nContent-Transfer-Encoding: 8bit\n"; $xtra .= "X-Mailer: PHP ". phpversion()."\n"; mail($empfaenger, $betreff, $nachricht, $xtra); ?>
Danke schonmal,
Stefan
Einen Kommentar schreiben:
-
aaaah
ich glaube, jetzt habe ich verstanden.
Ein Versuch ist es wert.
Vielen lieben Dank schon mal - wenns nicht klappt poste ich den ganzen Code nochmal.
Viele liebe Grüße
Stefan
Einen Kommentar schreiben:
-
das macht man mit while
Bsp.:
PHP-Code:
$nachricht = "blabla";
while($value = mysql_fetch_array($suchen))
{
$nachricht .= "blac ".$value['wertausdb']."<br />";
}
Einen Kommentar schreiben:
-
mhh...
Das ist ein Anfang - aber ich komm noch nicht weiter.
Erstmal: die Variable $userid wird von der vorherigen Seite übernommen - das klappt allerdings auch problemlos.
Bei deiner Lösung sehe ich nur ein Problem:
Zuerst lässt du alle Daten einlesen - ok.
Dann erst öffnest du mit
$nachricht="
die eigentlich Nachricht. - ok
Aber: wenn ich
".$value['wertausdb']."
ausgeben lasse - dann erscheint doch nur ein wert. Wenn der warenkorb aber mehrere Datensätze beinhaltet, muss ich für jeden Datensatz eine Zeile in die Tabelle einfügen.
Muss ich nicht hier irgendwo die einzelnen Sätze in Form einer Schleife auslesen lassen ( also Array für Array ) ?
Gruß
DerStefan
Einen Kommentar schreiben:
-
PHP-Code:$empfaenger="info@mailfach.de";
$betreff="Eine neue Bestellung ist eingegangen...";
// Erst Daten holen
mysql_connect("localhost","root","PASSWORT") or die ("Keine Verbindung möglich");
$suche = mysql_query("SELECT * FROM DB.warenkorb WHERE BENUTZERID = '$user'");
$value = mysql_fetch_array($suche);
$nachricht="
<html>
<body>
<p><font face=\"Verdana, Arial, Helvetica, sans-serif\" size=\"2\">Sie haben eine
neue Bestellung erhalten.<br>
</font></p>
<p><font face=\"Verdana, Arial, Helvetica, sans-serif\" size=\"2\">Hier die entsprechenden
Teilnehmerdaten:</font></p>
".$value['wertausdb']."
....
irgendwas
....
".$value['wertausdb2']."
...
to be continued
";
Wobei, wo wird $user definiert?
Einen Kommentar schreiben:
-
ähäm
STOP -
Ich bin kein Freund von Auseinandersetzungen, aber ich muss hier mal dringend was klarstellen.
1. JA, ich bin ein Anfänger
2. NEIN, ich hab das nicht in der Schule / Ausbildung gelernt, sondern alles via Learning By Doing
3. NEIN, das ist kein Standardscript, sondern eine komplett eigene Kreation. Es ist sicher ganz furchtbar programmiert, aber das tut nichts zur Sache - denn es ist alleine von mir.
4. JA, ich kann eine Mail aus PHP schicken
5. NEIN - ich weiß wirklich nicht wie ich in die Mailfunktion die Datenbank einarbeite - wenn ich es wüsste würde ich die Frage ja nicht stellen !
6. JA, natürlich weiß ich wie man Datenbankinhalte aufruft / modifiziert.
Der Shop ist fertig, es fehlt nur diese eine Sache - und die kann ich nun mal nicht, weil ich etwas in der Art vorher NIE gemacht habe. Wenn ich damit unter dem allgemeinem Niveau liege tut es mir leid, aber ohne Hilfe kann ich es nicht ändern !
Ich bitte euch also: Sagt mir doch einfach was ich falsch mache ? So wie es jetzt da steht funzt es nicht - und ich bin mir sicher der Grund ist soooo easy.
Ich hoffe alle Unklarheiten sind jetzt beseitigt.
Danke
Stefan
Einen Kommentar schreiben:
-
du kannst nur per php Mail versenden, nicht per HTML. HTML ist nur für
das Layout deiner Mail zuständig. Also pack die DB-Daten zwischen die
schönen HTML-Tags und übergib dem PHP zum Senden, wie du ansatzweise
schon angefangen hast.
Einen Kommentar schreiben:
-
bevor sich das hier wieder aufbläht....
1. JA für Anfänger, aber welche die sich auch dafür interessieren und nicht irgendwo Grundlagenlos ein Script laden und dann daran herumfuchteln und nach Hilfe rufen!
Denn, wenn du ein Shop System selber uf die Beine gestellt hättest, dann würdest du das hier nicht fragen?! Da dies Grundlagen sind
Also: COOL DOWN!
2. Lsg.:
Erst Abfrage aus der DB machen und dann die Werte in $nachricht einfügen...
Einen Kommentar schreiben:
-
BITTE?
HALLO?
Ich dachte das ist ein Forum für Anfänger und Profis -
NEIN, ich habe keine Ahnung wie ich das anstellen soll - aber wenn du so schlau bist, kannst Du es mir ja sagen anstatt hier den großen Allwissenden zu markieren.
Ich glaub ich spinne - da stellt man eine Frage und bekommt einen auf den Deckel.
Einen Kommentar schreiben:
-
Re: Mailversand aus php -aber mit mysql daten
Original geschrieben von amateur
Ich nehme an, dass es nicht funktioniert, weil das ja eine HTML Mail ist, und keine PHP Mail.
du wirst doch wohl in der lage sein, in den string $nachricht auch die daten einzufügen, die du vorher aus der DB ausgelesen hast?
Einen Kommentar schreiben:
-
Mailversand aus php -aber mit mysql daten
Hallo Ihr,
Jetzt bin ich endgültig am verzweifeln. Mein Problem:
Ich habe mich darin versucht, einen kleinen Online-Shop zu schreiben. Es funzt wie folgt:
1. Kunde loggt sich ein, und identifiziert sich so
2. Kunde wählt Produkte aus, diese werden in die Tabelle 'Warenkorb' übergeben.
3. Kunde kann warenkorb sehen und zur Kasse gehen
4. AUf der Kasse-Seite werden noch einmal alle Daten angezeigt und per click bestellt.
5. DIESER Click ist das problem.
Es soll eine Seite aufgerufen werden, die den Inhalt des Warenkorbs ( also der Tabelle ) in den Inhalt einer HTML Email schreibt. Eine Mail aus PHP schreiben ist nicht das Problem, aber wenn ich im Quelltext auf einmal eine PHP-Datenbankabfrage mache, funktioniert es nicht :
?
$empfaenger="info@mailfach.de";
$betreff="Eine neue Bestellung ist eingegangen...";
$nachricht="
<html>
<body>
<p><font face=\"Verdana, Arial, Helvetica, sans-serif\" size=\"2\">Sie haben eine
neue Bestellung erhalten.<br>
</font></p>
<p><font face=\"Verdana, Arial, Helvetica, sans-serif\" size=\"2\">Hier die entsprechenden
Teilnehmerdaten:</font></p>
<?
mysql_connect("localhost","root","PASSWORT") or die ("Keine Verbindung möglich");
$suche=mysql_query("SELECT * FROM DB.warenkorb WHERE BENUTZERID = '$user'");
...
Ich nehme an, dass es nicht funktioniert, weil das ja eine HTML Mail ist, und keine PHP Mail. Aber man muss das doch realisieren können.
Wenn ja, wie gehts ?
Bitte um Hilfe ! VIIIIIIIEL Hilfe
1000 Dank schon mal und bis bald,
StefanStichworte: -
Einen Kommentar schreiben: