!empty(_FILES['']) funktioniert nicht

Udem

Mitglied
Halli Hallo,
ich habe ein kleines Problem. Wenn ich in mein Formular alles ausgefüllt habe, dann sollte eigentlich alles in eine Datenbank gespeichert werden, ja ok es macht es auch, aber jetzt habe ich gemerkt, dass er die Sachen auch abspeichert, wenn man kein File dabei hat.

PHP:
echo '<form action="'.PAGE_SELF.'" method="POST" enctype="multipart/form-data">
<center>
<table><tr>
<td style="font-size: 12px;"><b>Titel:</b></td> <td><input type="text" name="titel" style="width: 250px;"><br></td></tr>
<tr><td style="font-size: 12px;"><b>Bild auswählen:</b></td> <td><input name="datei" type="file" /><br></center></td></tr>
<tr><td style="font-size: 12px;"><b>Beschreibung zum Bild:</b></td> <td><textarea cols="50" rows="10" name="beschreibung"></textarea></td></tr></table>
<input type="submit" name="submit" value="Hochladen">
</form>';

if(isset($_POST["submit"]) && !empty($_POST["titel"]) && !empty($_FILES["datei"]) && !empty($_POST["beschreibung"])) {
 
Moin,

sofern du dort ein File-Input namens "datei" hast, wird $_FILES['datei'] nie empty() sein,
denn $_FILES['datei'] enthält dann einen assoziativen Array, egal ob etwas hochgeladen wurde.

Prüfe stattdessen, ob $_FILES['datei']['error'] false ist...falls ja, wurde erfolgreich hochgeladen.
 
Zurück