

Anmelde-Formular

strohhalm.org / Archiv / Server & Hardware / Eintrag lesen
LuvShining 08. Dezember 2004, 15:09
Hallöchen,
ich habe derzeit ein kleines, aber doch sehr nerviges Problem mit Formular.
Über das Formular soll der User die Möglichkeit haben mir ein Bild per eMail mitzusenden.
Das klappt auch prima - zumindest was den Dateianhang betrifft, der ist dabei. Dummerweise nur wird mir die Email immer ohne den restlichen Inhalt wie z.B. $name, $telefon, $text usw. übermittelt.
Sobald ich über das selbe Formular eine Nachricht ohne Anhang versende klappt es prima. Dann werden auch alle Variablen übergeben.
Es ist sicherlich ein ganz simpler Fehler- aber ich finde ihn nicht
Hat wohl jemand einen Tipp für mich Ich würde mich sehr freuen!
// Überprüfungen der zu übermittelnden Daten:
unset($errors);
if ($_FILES['anhang']['size'] > $max_attach_size) $errors[] = "Anhang zu groß (".number_format($_FILES['anhang']['size']/1000,0,",","")." KB) - Maximale Größe: ".number_format($max_attach_size/1000,0,",","")." KB";
// Wenn Anhang, dann MIME-Mail erstellen:
if (isset($_FILES['probe']['name']) && trim($_FILES['probe']['name']) != "")
{
// Datei einlesen und codieren:
$datei_content = fread(fopen($_FILES['anhang']['tmp_name'],"r"),filesize($_FILES['anhang']['tmp_name']));
$datei_content = chunk_split(base64_encode($datei_content),76,"\n");
// Boundary festlegen:
$boundary = md5(uniqid(rand()));
// Anhang:
$mail_header .= "\n--".$boundary;
$mail_header .= "\nContent-Type: ".$_FILES['anhang']['type']."; name=\"".$_FILES['anhang']['name']."\"";
$mail_header .= "\nContent-Transfer-Encoding: base64";
$mail_header .= "\nContent-Disposition: attachment; filename=\"".$_FILES['anhang']['name']."\"";
$mail_header .= "\n\n".$datei_content;
// Ende:
$mail_header .= "\n--".$boundary."--";
// Sende E-Mail und gebe Fehler bzw. Bestaetigung aus
if (@mail($mailto,"Betreffzeile XY,"
Inhalt der EMail... leider immer leer, es sei denn, es wird ohne eine Mail ohne Anhang verschickt.
",$mail_header))
$sent = true;
else $errors[] = "FEHLER!";
}
// kein Anhang, normale E-Mail:
else
{
$mail_header = "Von: ".$mail_name." <".$mail_email.">\n";
$mail_header .= "Content-Type: text/plain";
if (@mail($mailto,"Betreffzeile XY ohne Bildanhang", "
Vollständiger Name: $vorname $name
Anschrift: $anschrift
eMailanschrift: $mail
usw.
------------------------------------------"
)) $sent = true; else $errors[] = "FEHLER";
}
Vielen Dank vorab für eure Hilfe!
Nadine
wahsaga 08. Dezember 2004, 15:50
warum packst du den anhang in den mailheader?
der sollte doch wohl mit in den inhalt gehören, würde ich meinen.
(c) 2002 - 2013 strohhalm.org Community.Server powered by Manitu.Software powered by Mathias Bank
Impressum + Team.Datenschutz