Uploadformular Problem

Wulfel1992

Gesperrt
Hi Leute,
ich hab ein Uploadformular gebastelt mit dem man mehrere Dateien gleichzeitig uploaden kann, und anschließend die Dateienamen in eine DB schreiben.

Da liegt auch das Problem es gibt 6 Uploadfelder wenn nur 4 ausgefüllt sind schreibt er tortzdem alle Datiennamen in die DB die letzten dann eben ohne Namen....

Wie kann ich das machen dass er bevor er in die DB schreibt, erst mal jedes Feld überprüft ob es gefüllt ist und wenn nicht eben auch nicht in die Db schreibt

PHP:
  <?



if( !isset($_POST['upload']) OR empty($_POST['upload']) ) {
    echo "
            <form enctype=\"multipart/form-data\" action=\"upload_several.php\" method=\"post\">
            <fieldset>
              <select name=\"kategorie\" id=\"kategorie\">";
				include "connect.php";
				$abfrage = "SELECT name FROM kategorien";
				$ergebnis = mysql_query($abfrage);
				while($row = mysql_fetch_object($ergebnis))
                {
				echo "<option>";
				echo "$row->name <br>";
				echo "</option>";
				}
     
              echo"</select><br /><br />                <legend>Dateien transferieren</legend>
            <p>
                <label for=\"datei_id\">Datei auswählen:</label><br>
           		        <input name=\"datei[]\" id=\"datei_id1\" type=\"file\" />
                        <input name=\"datei[]\" id=\"datei_id2\" type=\"file\" />
                        <input name=\"datei[]\" id=\"datei_id3\" type=\"file\" />
						<input name=\"datei[]\" id=\"datei_id4\" type=\"file\" />
						<input name=\"datei[]\" id=\"datei_id5\" type=\"file\" />
						<input name=\"datei[]\" id=\"datei_id6\" type=\"file\" />
            </p>
            <p>
                <input type=\"submit\" name=\"upload\" value=\"Datei hochladen!\" />
            </p>
            </fieldset>
        </form>
        ";
    
} else {
  include"connect.php";
  $kategorie = $_POST['kategorie'];
  $name = $_FILES['datei']['name']; 
  $size = $_FILES['datei']['size']; 
  $type = $_FILES['datei']['type']; 
  $tempname = $_FILES['datei']['tmp_name']; 
  for ($i = 0; $i < count($_FILES['datei']['tmp_name']); $i++)
   {
      $str_ziel = '../images/$katname/'. $_FILES['datei']['name'][$i];
      copy($_FILES['datei']['tmp_name'][$i], "../images/$kategorie/$name[$i]"); 
	  $eintrag = "INSERT INTO galerie
	  (name)
		VALUES
	  ('$name[$i]')";
	  $eintragen = mysql_query($eintrag);
  }
}  
          if($eintragen=="true")
	    {
		 echo "Bilder wurden erfolgreich hinzugefügt!<br>";
		 echo "<a href=\"#\" onclick=\"self.close();\">Fenster schließen</a>";
		 } 
?>
 
Vielleicht gehts ganz einfach, wenn du prüfst wie groß die Datei ist:
PHP:
for ($i = 0; $i < count($_FILES['datei']['tmp_name']); $i++)
  { 
    if ($size[$i] == 0) continue;
 
Zurück