Dateiupload und Update

Tut mir Leid, falls ich nerve, aber das habe ich probiert und nur Fehlermeld. bekommen. Mit Dateiupload und so kenne ich mich nicht besonders aus, wie sage ich ihm denn, dass wenn auch keine Datei dabei ist, weiterzuarbeiten um die restl. Einträge in die DB INSERT) zu bekommen. Wie gesagt Sorry, aber dazu bin ich zu dumm :(
 
markberg hat gesagt.:
Tut mir Leid, falls ich nerve, aber das habe ich probiert und nur Fehlermeld. bekommen.
Wenn du nerven würdest kämen keine Antworten mehr ...
Die Fehlermeldungen wären vieleicht ganz interessant um dir zu helfen.

Mit Dateiupload und so kenne ich mich nicht besonders aus
http://de3.php.net/manual/de/features.file-upload.php

wie sage ich ihm denn, dass wenn auch keine Datei dabei ist, weiterzuarbeiten um die restl. Einträge in die DB INSERT) zu bekommen.
O.K. mal von Anfang an:

1. Erst validisierst du mal den anderen Kram, sonst schickt dir ein geneigter User u.U. nur immer Bilder hoch ohne irgendwelchen anderen Angaben und müllt dir deinen Server damit und deine DB mit leeren Datensätzen zu.

2. Dann nimmst du dir das superglobale Array $_FILES vor, schau mal was dieses Script ausgibt:
PHP:
echo "\$_FILES:<pre>";
var_dump($_FILES);
echo "</pre>";

Interessant ist hier $_FILES['bildname']['error'], siehe
http://de3.php.net/manual/de/features.file-upload.errors.php

if($_FILES['bildname']['error']==0)
Eine Datei wurde erfolgrei hochgeladen, du kannst jetzt deine eigene Validisierung wie im ersten Post machen (nur jpg od. gif, max. 25kB).
Setz hier noch $ext="jpg" bzw. "gif"

if($_FILES['bildname']['error']==4)
Der User hat kein Bild hochgeladen.

Alles andere quittierst du mit entsprechenden Fehlermeldungen.
Diese if-Verschachtelung wist ja hinbekommen ;)

3. Jetzt machst du den DB-Eintrag und ggf.
PHP:
$filename = "file".mysql_insert_id($connectionID).$ext;

4. Jetzt hast du, wenn alles valide war, einen eindeutigen Dateinamen und das zugehörige Bild im tmp-Verzeichnis
PHP:
move_uploaded_file($_FILES['bildname']['tmp_name'], "der/pfad/zum/bildervz/".$filename);
 
Zurück