Uploadscript hängt bei filetype prüfung

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Uploadscript hängt bei filetype prüfung

    Hallo,

    ich erstelle gerade ein kleines Uploadscript.

    Allerdings habe ich ein Problem. Das Ganze bleibt immer bei der Fehlermeldung

    Notice: Undefined index: userfile in /******.php on line 115
    Bildtyp ungültig
    hängen.

    Könnt Ihr mir da weiterhelfen?

    Mein Quellcode sieht so aus:

    Quellcode

    1. 'image/jpeg' => 'jpg',
    2. 'image/jpeg' => 'jpeg',
    3. 'image/gif' => 'gif',
    4. 'image/X-PNG' => 'png',
    5. 'image/PNG' => 'png',
    6. 'image/png' => 'png',
    7. 'image/x-png' => 'png',
    8. 'image/JPG' => 'jpg',
    9. 'image/GIF' => 'gif',
    10. 'image/bmp' => 'bmp',
    11. 'image/bmp' => 'BMP',
    12. );
    13. if(!array_key_exists($type, $file_types))
    14. {
    15. return "FALSE";
    16. }
    17. else
    18. {
    19. return "TRUE";
    20. }
    21. }
    22. if (isset($_POST['step']) AND $_POST['step'] == "upload")
    23. {
    24. if ($_FILES['datei']['error'])
    25. {
    26. $error = "Folgende(r) Fehler ist aufgetreten:";
    27. $error .= "Allgemeiner Fehler";
    28. }
    29. if ($_FILES['datei']['size'] > 1000000)
    30. {
    31. $error = "Folgende(r) Fehler ist aufgetreten:";
    32. $error .= "Datei zu groß";
    33. }
    34. if(image_valid($_FILES['userfile']['type']) === "FALSE")
    35. {
    36. die("Bildtyp ungültig");
    37. }
    38. if(isset($error))
    39. {
    40. echo $error;
    41. }
    42. else
    43. {
    44. $dir = 'uploads';
    45. $filename = $_FILES['datei']['name'];
    46. move_uploaded_file($_FILES['datei']['tmp_name'], $dir."/".$filename);
    47. print"Upload erfolgreich!";
    48. }
    49. }
    50. else
    51. {
    52. print'Datei wählen:
    53. ';
    54. }
    Alles anzeigen


    Ich danke euch im voraus für eure Hilfe bei meiner ersten Frage ^^

    Maggus
  • Vielen Dank für die schnelle Antwort... Da habe ich wieder DIE wichtige Kleinigkeit vergessen :(

    Nun hänge ich aber wieder fest. Und zwar möchte ich den Namen des hochgeladenen Bildes in eine Mysql-Tabelle einfügen. Dies geschiet per Update in die Spalte "pfad" und die Zeielnauswahl soll in bezug auf die im vorhergegangenen Formular eingegebene Beschreibung ausgewählt werden.

    Upload etc. funtioniert alles, nur wird der Bildname nicht eingefügt und ich sehe einfach nicht warum.

    Vielen Dank nochmal für eure Hilfe
  • uuuuuuups, jetzt habe ich doch tatsächlich vergessen den Code anzuhängen *schäm*

    .::CODE::.

    (In dem Script bin ich erst an der bearbeitung des ersten Bildes)

    Ich dachte auch zuerst daran das ganze in der DB zu speichern, aber es kommen insgesammt bestimmt an die 400 Bilder ins Spiel, alle recht groß.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Maggus ()

  • Die Fehlermeldung gibt mir aus dass ich hier ein Problem habe:

    echo '


    <form action="bildup.php" method="post" enctype="multipart/form-data">
    <fieldset>
    <legend>Bild(er) transferieren</legend>
    <p>
    <label for="datei_id">Bild 1auswählen:</label>
    <input name="datei" id="datei_id" type="file" />
    <input type="hidden" name="step" value="upload"><br>
    <input type="hidden" name="besch"
    ';

    echo "value=\"$beschreibung2\">";

    echo '

    <br>
    </p>
    <p>Zusätzliche Bilder:<br>
    </p>
    <!-- Upload meherer Dateien-->
    <p>

    Und das im Bereich

    echo "value=\"$beschreibung2\">";

    echo '

    Ich nehme an, ich habe das ganze falsch angepackt?

    Kannst du mir sagen wie ich die Variable richtig einfüge?

    Danke dir!!!
  • Guten Morgen :)

    Die Fehlermeldung lautet


    You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '032' at line 1
    Und bezieht sich auf den Mysql Befehl:

    mysql_query("UPDATE immobilien SET pfad='" . $filename . "' WHERE beschreibung=" . $_POST['besch']) or die(mysql_error());
    $_POST['besch']
    enthält den Wert: test 032

    Dieser soll über

    echo '


    <form action="fileup.php" method="post" enctype="multipart/form-data">
    <fieldset>
    <legend>Datei(en) transferieren</legend>
    <p>
    <label for="datei_id">Datei 1auswählen:</label>
    <input name="datei" id="datei_id" type="file" />
    <input type="hidden" name="step" value="upload_datei"><br>
    <input type="hidden" name="besch"
    ';

    echo "value=\"$beschreibung2\">";

    echo '

    <br>
    </p>
    <p>Zusätzliche Dateien:<br>



    übergeben werden. Wie aber die Fehlermeldung zeigt, geht das nicht :(

    Vielen Dank für deine Hilfe