Hallo,
für file-inputfelder ist eine vorbelegung nicht erlaubt, aus sicherheitsgründen.
Aha, also geht das gar nicht, da kann ich ja auch probieren wie ich will! :-)
Aber trotzdem danke für den Hinweis!
die datei wurde aber schon beim ersten abschicken mit hochgeladen (sofern der user eine ausgewählt hatte) - diese kannst du also schon bei der überprüfung des formulares sichern, und nachher mit den restlichen korrigierten daten kombinieren.
Wie geht denn das? Kannst du das vielleicht erklären oder kennst du einen guten URL? Wäre wirklich klasse!
nein, dein ellenlanges script mit tonnenweise unrelevantem HTML-code schaue ich mir jetzt nicht durch, und vermutlich auch kaum ein anderer hier.
Oh, oh, daran habe ich gar nicht gedacht. Aber dabei hatte ich schon alles irrelevante aus dem HTML-Code gelöscht...
Aber könntest du vielleicht doch mal drüber schauen? Unten habe ich das Script noch etwas abgespeckt. Ich kann den Fehler echt nicht finden!
Vielen Dank schon mal.
Hier kann ich leider nichts finden, was mir weiter hilft...
Viele Grüße
Thomas L.
<?php
Maximale Größe des Attachments in Bytes:
$max_attach_size = 500000;
if ($sent==1)
{
if ($_FILES['file']['size'] > $max_attach_size) {
echo "<strong>Attachment zu groß (".number_format($_FILES['file']['size']/1000,0,",","")." KB) - Maximalgröße: ".number_format($max_attach_size/1000,0,",","")." KB</strong><br>";unset($sent);
}
$nachr = "Name: " . $vorname . " " . $name . "\n
E-Mail: " . $email . ";
$nachr .= "Anschrift: " . $strasse ." " . $plz . " " . $ort . ";
$nachr .= "Ihre Nachricht: " . $eingabe;
if (isset($_FILES['file']['name']) && trim($_FILES['file']['name']) != "") {
$nachr .= "<tr>\n <td class="rechts">Attachment:</td>\n <td>".$_FILES['file']['name']."</td>\n</tr>";
}
$message="<html><body>";
$message.=$nachr;
$message.="</body></html>";
$email_from_name = "$vorname $name";
$email_from = "$email_from_name <$email>";
$email_to = "FF Altenbach info@ff-altenbach.de";
if (isset($_FILES['file']['name']) && trim($_FILES['file']['name']) != "") {
$datei_content = fread(fopen($_FILES['file']['tmp_name'],"r"),filesize($_FILES['file']['tmp_name']));
$datei_content = chunk_split(base64_encode($datei_content),76,"\n");
// Boundary:
$boundary = md5(uniqid(rand()));
// Mail-Header:
$header = "From: FF Altenbach Mail-Service post@ff-altenbach.de\n";
$header .= "X-Sender-IP: $REMOTE_ADDR\n";
$header .= "MIME-Version: 1.0\n";
$header .= "Content-Type: multipart/mixed; boundary="".$boundary.""\n";
$header .= "This is a multi-part message in MIME format.\n";
// Mail-Text:
$header .= "--".$boundary;
$header .= "\nContent-Type: text/html";
$header .= "\nContent-Transfer-Encoding: 8bit";
$header .= "\n\n".$message;
// Attachment:
$mail_header .= "\n--".$boundary;
$mail_header .= "\nContent-Type: ".$_FILES['file']['type']."; name="".$_FILES['file']['name'].""";
$mail_header .= "\nContent-Transfer-Encoding: base64";
$mail_header .= "\nContent-Disposition: attachment; filename="".$_FILES['file']['name'].""";
$mail_header .= "\n\n".$datei_content;
// Ende:
$header .= "\n--".$boundary."--";
// Sende E-Mail und gebe Fehler bzw. Bestaetigung aus
if (mail($email_to,"Eine E-Mail von meiner Webseite","",$header)) {
if ($kopie==on) {
$header="From: FF Altenbach Mail-Service post@ff-altenbach.de\n";
$header .= "Reply-To: $email\n";
$header .= "X-Mailer: PHP/" . phpversion(). "\n";
$header .= "X-Sender-IP: $REMOTE_ADDR\n";
$header .= "Content-Type: text/html";
mail("$email_from","Kopie Ihrer E-Mail an FF Altenbach","$message",$header);
}
}
}
else {
$header="From: FF Altenbach Mail-Service post@ff-altenbach.de\n";
$header .= "Reply-To: $email\n";
$header .= "X-Mailer: PHP/" . phpversion(). "\n";
$header .= "X-Sender-IP: $REMOTE_ADDR\n";
$header .= "Content-Type: text/html";
if (mail($email_to,"Eine E-Mail von meiner Webseite",$message,$header)) {
if ($kopie==on) {
mail("$email_from","Kopie Ihrer E-Mail an FF Altenbach",$message,$header);
}
}
}
}//schließende Klammer für if($vorname AND $nachname AND $email)
}//schließende Klammer für if($sent==1)
if(!$sent) {
?>
<form name="feedback" action="<? echo $PHP_SELF; ?>" method="post" enctype="multipart/form-data">
Attachment: <input type="file" name="file" size="20"/>
<input id="kopie" type="checkbox" name="kopie" checked> Ich wünsche eine Kopie meiner Anfrage an mein E-Mail Postfach
<input name="submit" type="submit" value="Absenden">
</form>
<?php
}//schließende Klammer für if(!$sent)
?>