Formular Text und Bild

MsvP@habdichliebhasi

Erfahrenes Mitglied
Hallo zusammen,

sagt mal, gibt es eine Möglichkeit ein Formular mit Bilderupload und Texteingabe gleichzeitig zu erstellen?

Hatte es jetzt so probiert:

PHP:
<form action='speichern.php' enctype='multipart/form-data'>
 Name:  <input type='text' name='name'>
 Bild:     <input name='file' type='file' size='20'>
 <input type='submit' value='speichern'>
</form>

Aber irgendwie läd der die Datei nicht hoch. Vertragen sich die beiden Formulararten nicht?
Wäre sehr schade und gibt es eine andere Möglichkeit?

Gruß,
Micha
 
Worauf beruht denn deine Aussage, dass beides nicht zusammen funktioniert? Wie verarbeitest du denn die übermittelten Daten?
 
Also normal mache ich das dann so: (ist dann allerdings das Falsche Forum dafür, müsste ab jetzt wohl eher zu PHP)

PHP:
$tempname = $_FILES['file']['tmp_name'];
$name = $_FILES['file']['name'];
$type = $_FILES['file']['type'];
$size = $_FILES['file']['size'];

copy("$tempname", "images/$name");

Also das ist mein Script um das Bild im richtigen ordner zu speichern. Aber das kommt ja eh erst nach dem temporären Upload.
Nur wenn ich auf den Submit-Button klicke passiert garnichts. Also der läd noch nicht einmal lange an der Seite, so als ob er hochladen würde. :-/

Edit:
Das heißt, er läd zwar die nächste Seite und übergibt in der Variablen den Pfad, aber läd die Datei nicht hoch. Hab ich jetzt irgendwo nen denkfehler drin, oder funktioniert einfach input type='text' und input type='file' nicht mit einander?
 
Zuletzt bearbeitet:
Die Datei wird noch bevor das Skript ausgeführt wird hochgeladen. Es ist somit nicht möglich, dass das Skript daran schuld ist.
Welcher Status wird denn für den Upload gemeldet?
 
Also ich bekomme garkeine Fehlermeldung.
Oder ich benutze die Variable jetzt falsch. Hab die jetzt so eingebaut gehabt:

$foul = $_FILES[foobar]['error'];

echo"$foul";

(habe es auch mit $foul = $_FILES['file']['error']; probiert)


//edit 1

Ich hab das jetzt mal gesondert in einer eigenen Datei gemacht, da klappt es:

PHP:
<html>
<head></head>
<body>
<? if ($seite=='')
{echo"
 <form enctype='multipart/form-data' action='$PHP_SELF' method='post'>
 <input type='hidden' name='seite' value='upload'>
 <input type='text' name='test'>
 <input name='file' type='file' size='20'>
 <input type='submit' value='News hinzufügen'>
 </form>
 ";
 }
 if ($seite=='upload')
 {
$tempname = $_FILES['file']['tmp_name'];
$name = $_FILES['file']['name'];
$type = $_FILES['file']['type'];
$size = $_FILES['file']['size'];
copy("$tempname", "images/news/$name");

echo"$test <br><br> <img src='images/news/$name'>";

 }


?>

</body>
</html>

Ich verstehe nicht warum es in meiner Datei in der ich Arbeite nicht klappt.


//edit 2

"AHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH!!" :-( *puhhh

Entschuldigung wegen dem oben, aber das musste jetzt raus.
Es lag an einer doofen Klammer.

Jetzt gehts!

Vielen Dank für die Hilfe,
Gruß Micha
 
Da es hier wohl mehr um PHP, als um HTML geht, verschiebe ich das Thema nachträglich ins entsprechende Board.
 
Zurück