$_FILE bekommt einen Wert bei Formular, übergabe
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
abschicken
angabe
array
ausgabe
browser
code
datei
email
file
frage
header
http
input
pfad
spucken
string
text
type
url
vorname
-
Hallo, aus irgend einem Grund bekommt $_FILE bei einer Formularübergabe IMMER einen Wert, selbst wenn ich nichts in den Input eingebe...
Mein HTML Code:
<form enctype="multipart/form-data" action="add.php"> <label>Vorname:</label> <input type="text" id="name" name="name" min="11" max="15" placeholder="Max Mustermann" <?php if(isset($value->name)){echo 'value="'.htmlspecialchars($value->name).'"';}?> required> <label>Email:</label> <input type="text" id="email" name="email" placeholder="Beispiel@example.com" <?php if(isset($value->email)){echo 'value="'.htmlspecialchars($value->email).'"';}?> required> <label>Dein Text:</label> <textarea id="text" name="text"><?php if(isset($value->text)){echo htmlspecialchars($value->text);}?></textarea> <label>Bild anhängen</label> <input type="file" name="datei" id="datei"> <input type="hidden" name="hash" id="hash" <?php if(isset($value->hash)){echo 'value="'.htmlspecialchars($value->hash).'"';}?>> <?php if(isset($hash)){ echo '<input type="submit" name="Bearbeiten" value="Bearbeiten"/>'; } else{ echo '<input type="submit" name="Abschicken" value="Abschicken"/>'; }?> </form>
PHP- Teil:
if(isset($_REQUEST['Abschicken'])){ echo '<pre>'; var_dump($_FILES); if(!empty($_FILES['datei']['name'])){ $pfad = "uploads"; $pfad = $pfad . DIRECTORY_SEPARATOR . $_FILES['datei']['name']; if(move_uploaded_file($_FILES['datei']['tmp_name'], $pfad ) === true) { } else{ echo "ERROR"; } } }
Rückgabe, selbst wenn ich input type="file" leer lasse:
array(1) {
["datei"]=>
array(5) {
["name"]=>
string(3) "à2
"
["type"]=>
string(0) ""
["tmp_name"]=>
string(0) ""
["error"]=>
int(4)
["size"]=>
int(0)
}
}
ERROR
Ich habe schon gedacht es liegt daran, dass es am Charset liegt. Mit angabe von header und meta charset würde da nur ?? stehen, ohne steht da dieses à2 in $_FILES['name'].. Woher kommt das? -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Das ist ganz normal und meldet PHP auch im Fehlerarray.
["error"]=>
int(4)
Wert: 4; Es wurde keine Datei hochgeladen.
http://www.php.net/manual/de/features.file-upload.errors.php
Du musst das anders prüfen:
if(($_FILES['datei']['error'] == UPLOAD_ERR_OK)) //datei wurde erfolgreich hochgeladen
Edit: Falsche tags
Beitrag zuletzt geändert: 30.10.2012 16:54:46 von chatter -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage