Formular mit Dateiupload
matrixfire
- php
Hallo Community,
ich hab noch ein Problem und zwar ich will auf meine Seite auch ein Formular einfügen auf in dem man Folgende Daten angeben soll
Vorname
Nachname
Adresse
ort
emailadresse
betreff
Text
( und nun mein Problem )
Bild
Ich will bei Bilder das der User mir ein Bild zusendet von einer Sache die ihn beschäftigt. und das alles soll mir per Email zugesandt werden.
ich bin schon soweit gekommen das er mir die ganzen daten per email zusendet aber er lässt das Bild nicht uploaden.
kann mir irgend jemand helfen.
Bitte wenn möglich schnell.
mfg.
matrixfire
Ist dein Formular ein multidata-Formular und deine Email nicht rein Textkodiert?
da gibt es wunderschöne beispiele dazu, ein anfang wäre z.b. das da:
http://www.dclpfaq.de/q/q-formular-upload-php4.html
Hi
Ich will bei Bilder das der User mir ein Bild zusendet von einer Sache die ihn beschäftigt. und das alles soll mir per Email zugesandt werden.
ich bin schon soweit gekommen das er mir die ganzen daten per email zusendet aber er lässt das Bild nicht uploaden.
kann mir irgend jemand helfen.
Bitte wenn möglich schnell.
Kannst Du mal den relevanten Teil des Quellcodes posten? Sonst erkennt man das Problem nicht... Oder schreib mal genau, wo es mit PHP hapert.
bisher bin ich so weit
<html>
<head>
<meta http-equiv="Content-Language" content="de">
<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Neue Seite 2</title>
</head>
<body>
<form method="POST" enctype="multipart/form-data" action="--WEBBOT-SELF--">
<!--webbot bot="FileUpload" U-File="file:///E:/MeinWeb5/_private/form_results.csv" S-Format="TEXT/CSV" S-Label-Fields="TRUE" --><table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="475" id="AutoNumber1">
<tr>
<td width="72">
<p style="margin-top: 0; margin-bottom: 0">Name:</td>
<td width="148">
<p style="margin-top: 0; margin-bottom: 0">
<input type="text" name="T1" size="20"></td>
<td width="99">
<p style="margin-top: 0; margin-bottom: 0"> </td>
<td width="151">
<p style="margin-top: 0; margin-bottom: 0"> </td>
</tr>
<tr>
<td width="72">
<p style="margin-top: 0; margin-bottom: 0">Adresse: </td>
<td width="148">
<p style="margin-top: 0; margin-bottom: 0">
<input type="text" name="T2" size="20"></td>
<td width="99">
<p style="margin-top: 0; margin-bottom: 0">Straßennummer:</td>
<td width="151">
<p style="margin-top: 0; margin-bottom: 0">
<input type="text" name="T5" size="20"></td>
</tr>
<tr>
<td width="72">
<p style="margin-top: 0; margin-bottom: 0">Stadt:</td>
<td width="148">
<p style="margin-top: 0; margin-bottom: 0">
<input type="text" name="T3" size="20"></td>
<td width="99">
<p style="margin-top: 0; margin-bottom: 0"> </td>
<td width="151">
<p style="margin-top: 0; margin-bottom: 0"> </td>
</tr>
<tr>
<td width="72">
<p style="margin-top: 0; margin-bottom: 0">Email:</td>
<td width="148">
<p style="margin-top: 0; margin-bottom: 0">
<input type="text" name="T4" size="20"></td>
<td width="99">
<p style="margin-top: 0; margin-bottom: 0"> </td>
<td width="151">
<p style="margin-top: 0; margin-bottom: 0"> </td>
</tr>
<tr>
<td width="72">
<p style="margin-top: 0; margin-bottom: 0">Betreff:</td>
<td width="148">
<p style="margin-top: 0; margin-bottom: 0">
<input type="text" name="T6" size="20"></td>
<td width="99">
<p style="margin-top: 0; margin-bottom: 0"> </td>
<td width="151">
<p style="margin-top: 0; margin-bottom: 0"> </td>
</tr>
</table>
<p style="margin-top: 0; margin-bottom: 0">Inhalt: </p>
<p style="margin-top: 0; margin-bottom: 0">
<textarea rows="6" name="S1" cols="41"></textarea></p>
<p style="margin-top: 0; margin-bottom: 0"> </p>
<p style="margin-top: 0; margin-bottom: 0">
<input type="file" name="F1" size="48"></p>
<p><input type="submit" value="Abschicken" name="B1"><input type="reset" value="Zurücksetzen" name="B2"></p>
</form>
</body>
</html>
arbeite mit Frontpage.
wenn ich einstell das er mir alles per email zusenden soll dann schickt er mir statt des Fotos einfach nur denn standort des Bildes auf dem PC des Users an. was muss ich machen bitte helft mir!
mfg.
matrixfire
Hello,
<form method="POST" enctype="multipart/form-data" action="<?php echo $_SERVER['PHP_SELF']; ?>">
<input type="text" name="T1" size="20">
<input type="text" name="T2" size="20">
<input type="text" name="T5" size="20">
<input type="text" name="T3" size="20">
<input type="text" name="T4" size="20">
<input type="text" name="T6" size="20">
<textarea rows="6" name="S1" cols="41"></textarea>
<input type="file" name="F1" size="48">
<input type="submit" value="Abschicken" name="B1">
<input type="reset" value="Zurücksetzen" name="B2">
</form>
So sähe der relevante Code aus, den Du hier posten solltest.
Ob das nun alles schön in einer Tabelle steht oder mit CSS formatiert wird, ist für Dein Problem mit PHP irrelevant.
Wenn Du diesen Code in einem Script zusammenfasst, in dem zum Testen auch ein paar Zeilen drinstehen, solltest Du den fehler finden
<?php
error_reporting(E_ALL);
echo "<pre>\n";
echo "<h2>Files</h2>\n";
echo htmlentitities(print_r($_FILES),1),ENT_QUOTES);
echo "<h2>Post</h2>\n";
echo htmlentitities(print_r($_POST),1),ENT_QUOTES);
echo "<pre>\n";
?>
<!-- hier den HTML-Teil mit dem Form einfügen -->
So wird Dir angezeigt, was beim PHP-Parser ankommt von den für Dich relevanten Parametern und Daten.
Harzliche Grüße vom Berg
http://www.annerschbarrich.de
Tom
Hello,
Vorname
Nachname
Adresse
ort
emailadresse
betreff
Text
Bild
Dein Problem steckt in der Bindung der Daten.
Das liegt an der Funktionalität der Browser.
"Normale" Formulardaten können als Default-Wert bei der Anzeige eines Formulares wieder angezeigt werden. Der Zugriff auf ein File (also hier ein Bild) kann aber nicht vorbestimmt werden im Browser.
Das führt im Fehlerfall dazu, dass das Bild nochmal referenziert werden muss.
Es ist also besser, den Vorgang in zwei Teile zu trennen:
1. Allgemeindaten übertragen (auch mit Affenformular)
2. Zu den verifizierten Allgemeindaten die Files (Bilder) hochladen
Um das zu vereinfachen, sollte man eine Session verwenden.
Harzliche Grüße vom Berg
http://www.annerschbarrich.de
Tom