Formular-eMails in HTML // Habe keine header

altox-de

Erfahrenes Mitglied
Hallo zusammen.
Jetzt hab ich in eurem Forum, in Google, auf php.net etc... gesucht,
werde aber nicht schlau, wie mein Problem zu lösen wäre.
Wer echt klasse, wenn ihr mir da weiterhelfen könntet!
Mein Problem:

Auf einer Seite geben die User in ein HTML-Formular die Daten ein.
In einer externen PHP-Datei liegt dann das sendscript.
Alles klappt wurderbar, bis auf die Formatierung in HTML,
wobei mein sendscript gar keine "headers" enthält.

So lautet der Code:
PHP:
<?PHP
 
 $Fehlen = "";
 if (empty($Betrag1)) {
    $Fehlen = $Fehlen."<LI>Der Spendenbetrag in Zahlen";
 } 
  if (empty($Betrag2)) {
    $Fehlen = $Fehlen."<LI>Der Spendenbetrag in Worten";
 }
  if (empty($Name)) {
    $Fehlen = $Fehlen."<LI>Ihr Name";
 }
  if (empty($Strasse)) {
    $Fehlen = $Fehlen."<LI>Ihre Strasse";
 }
  if (empty($Hnr)) {
    $Fehlen = $Fehlen."<LI>Ihre Hausnummer";
 }
  if (empty($PLZ)) {
    $Fehlen = $Fehlen."<LI>Ihre Postleitzahl (PLZ)";
 }
  if (empty($Stadt)) {
    $Fehlen = $Fehlen."<LI>Ihre Stadt";
 }
  if (empty($eMail)) {
    $Fehlen = $Fehlen."<LI>Ihre eMail-Adresse";
 }
  if (empty($Kontoinh)) {
    $Fehlen = $Fehlen."<LI>Der Name des/r KontoinhaberIn";
 } 
  if (empty($Kontonr)) {
    $Fehlen = $Fehlen."<LI>Die Kontonummer";
 } 
  if (empty($BLZ)) {
    $Fehlen = $Fehlen."<LI>Die Bankleitzahl";
 }  
  if (empty($Bank)) {
    $Fehlen = $Fehlen."<LI>Das Kreditinstitut";
 } 
  if (empty($Anzahl)) {
    $Fehlen = $Fehlen."<LI>Die Abbuchungsanzahl";
 } 
  if (empty($Bestaetigung)) {
    $Fehlen = $Fehlen."<LI>Bitte bestaetigen Sie Ihre Angaben";
 }  
    
 if (!empty($Fehlen)) {
   echo "<HEAD><style type=text/css media=screen><!--a { color: #000; text-decoration: none }--></style></HEAD><BODY BGCOLOR=FFF4E5><P><FONT SIZE=4 FACE=Arial><B>Dateneingabe</B></FONT></P><P><FONT SIZE=3 FACE=Arial>Bitte geben&nbsp;Sie hier Ihre Daten an, achten Sie unbedingt auf deren Korrektheit<BR>und das Ausf&uuml;llen <U>aller</U> Felder, die mit einem </FONT><FONT SIZE=3 color=FF0000 FACE=Arial>*</FONT><FONT SIZE=3 FACE=Arial> gekennzeichnet sind:<BR></FONT></P><B><FONT SIZE=3 FACE=Arial>Bitte entschuldigen Sie,</FONT></B><BR>";
   echo "<B><FONT SIZE=3 FACE=Arial>aber Ihre Spende konnte nicht verarbeitet werden, weil folgende Angaben fehlten:</FONT><BR><BR></B>";
   echo "<B><FONT SIZE=3 FACE=Arial>$Fehlen</FONT></B><BR><BR>";
   echo "<B><FONT SIZE=3 FACE=Arial>Bitte benützen Sie den Zurück-Button Ihres Browsers und kontrollieren Sie,</FONT></B><BR>";
   echo "<B><FONT SIZE=3 FACE=Arial>dass Sie wirklich alle Felder ausgefüllt haben - Das ist sehr wichtig!</FONT><BR></B>";
   echo "<B><FONT SIZE=3 FACE=Arial>Vielen Dank für Ihre Verständnis und Ihre Mitarbeit...</FONT></B><FONT FACE=Arial><BR><BR>Wie oft sollen wir den oben gew&auml;hlten&nbsp;Betrag von Ihrem Konto abbuchen?<BR>Die Abbuchung erfolgt maximal 12 Monate (ein Jahr) in dem von Ihnen<BR>gew&auml;hlten Rhytmus. Die Abbuchung kann jederzeit gestoppt werden...<P>Falls Sie Ihren Spendenbetrag nachtr&auml;glich korrigieren oder stornieren m&ouml;chten,<BR>nutzen Sie bitte unseren Telefon-Service 0190   (ca 50 cent pro Anruf).</P><P>Alle hier angegeben Daten werden von uns ausschlie&szlig;lich zur veranlassten<BR>Spende verwendet und nicht weiter verarbeitet, gespeichert oder weitergegeben.<BR>Alle hier angegeben Daten werden von uns vertraulich behandelt!</P>Bitte beachten&nbsp;Sie, dass die Angabe falscher Daten bzw. die Belastung anderer<BR>Personen absolut verboten und strafbar ist. Zur Sicherheit haben wir Ihre<BR>IP-Adresse gespeichert um evtl. rechtliche Schritte einleiten zu k&ouml;nnen.</P><P>Bei Fragen kontaktieren&nbsp;Sie uns bitte &uuml;ber unserer <B><A HREFf=../../5kontakt/kontakt.html>Kontaktformular</A></B><BR>oder einfach per eMail: <B><A HREF=mailto:info@sankt-pelagius.de>info@sankt-pelagius.de</A></B>.</FONT></P></BODY>";
} else {
 
  $Body ="<html><body><font size=4 face=Arial><b>Online-Spende</b> \n \n <font size=3>Name: $Name \n Strasse: $Strasse $Hnr \n Stadt: $PLZ $Stadt \n Land: $Land \n eMail: $eMail \n IP-Adresse: $IP \n \n Betrag: $Betrag1 ($Betrag2) Euro \n Kontoinhaber: $Kontoinh \n Kontonummer: $Kontonr \n Bankleitzahl: $BLZ \n Kreditinstitut: $Bank \n Abbuchung: $Anzahl $Anzahl2 \n \n Bestaetigung: $Bestaetigung \n \n Wir bedanken uns sehr herzlich für Ihre Unterstützung! \n MfG, Ihre Pfarrgemeinde St. Pelagius Oberreitnau \n \n eMail: info@sankt-pelagius.de \n Homepage: www.sankt-pelagius.de</body></html>";
    mail("$An;$eMail", "$Betreff", "$Body", "from:".$Von);
 
  header ("location: http://www.altox.de/009-00-sankt-pelagius-04-05/pages/andere/spende/danke.html");

 }
    
?>
Scheinbar sind Frauen nicht zum Programmieren geschaffen ;-)
Danke für eure Mithilfe - altox
 
Zuletzt bearbeitet:
Du darfst Die header() nicht nach den HTML ausgaben schreiben. Dann bekommst dui logischerweise Probleme.

Hilfreich könnte da sein

->[phpf]ob_start[/phpf]
->[phpf]ob_get_contents[/phpf]
->[phpf]ob_end_flush[/phpf]

damit kannst du deine Ausgabe Buffern und dann funktioniert der Header auch nach der HTML ausgabe.

Gruß Mirko
 
HEY!

Sorry, ich hab leider keine Ahnung von PHP.
Könnte nicht irgendjemand meinen Quelltext nehmen
und da die nöigen Zeilen einfügen?

WÄRE SUPER!
DANKE
 
Wo liegt denn nun bitteschön das Problem? In Deinem bisherigen Code wird die Mail-Funktion nur mit einem From-Header aufgerufen. Diesen musst Du einfach nur durch den Header aus dem anderen geposteten Thread ersetzen.

snuu
 
Könnte das denn nicht jemand vervollständigen bzw. verbessern?
Ich möchte, dass die eMail als HTML-Mail versendet wird und habe nicht die geringste Ahnung von irgendwelchen Threads, headern, was auch immer.
Es scheint ja keine große Arbeit zu sein, aber ich verstehe es nicht

Ich habe bei Google gesucht, in dem Forum, bei php.net - stundenlang und verstehe es ganz einfach nicht.

BITTE, DANKE!
 
Ich hab nicht die geringste Ahnung wie man ohne Grundkapital stinkreich wird,
und Sparen lernen will ich auch nicht,
und Arbeiten erst recht nicht!

Könnte mir nicht bitte mal jeder der das liest € 100,- auf mein Konto spenden?
:-)

Das muß ziemlich oben rein:
PHP:
$header = "MIME-Version: 1.0\n";
$header .= "Content-type: text/html; charset=iso-8859-1\n";
$header .= "From: info@sankt-pelagius.de\n";
Diese Zeile muß so lauten:
PHP:
mail("$eMail", "$Betreff", "$Body", $header );
... und wenn dann ein Parse-Error kommt machst Du in der betreffenden Zeile vor jedes " ein \, blos nicht vors 1. und letzte.

Original geschrieben von altox-de
Scheinbar sind Frauen nicht zum Programmieren geschaffen
Ich kenn zwar ein paar die es sehr wohl sind, aber die anderen sollten sich nen anderen Job suchen oder wenigstens einen gewissen Lernwillen aneignen ;)

Gilt auch für Männer
 
Jaja, das alte Leid.............. alle wollen sie etwas machen aber nichts können oder dafür tun.............. :D Was wäre all jene ohne solche Boards! Weil Bücher kosten ja schon zu viel und lesen muss man auch noch :D
 
Danke an alle, die mir bisher geholfen haben!
Es klappt wunderbar: start.sankt-pelagius.de >> Opferkerze >> Spenden


Ich hätte da noch eine Frage:
Kann man (so, wie ich das mti der IP-Adresse auch mache), das Datum ermitteln? Was muss ich dann im PHP-Code schreiben? Datum: <...>
Danke
 
Zurück