kostenloser Webspace werbefrei: lima-city


$_FILE bekommt einen Wert bei Formular, übergabe

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    kill-a-teddy

    Kostenloser Webspace von kill-a-teddy

    kill-a-teddy hat kostenlosen Webspace.

    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?
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. auf dne ersten blick fällt mir nichts auffälliges auf

    frage 1:

    welchen Browser verwendest du? andere browser spucken dasselbe aus?

    frage 2:

    was für eine ausgabe wird erzeugt, wenn du eine Datei uploadest?
  4. 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
  5. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!