Hallo allemaal,

ik heb een simpel formuliertje met een verwerkingsscript erachter dat plaatjes upload, tenminste dat is de bedoeling...


<?php
$dir = str_replace(basename(__FILE__), "", __FILE__)."pictures/nieuws/";
//Uploaden
if(isset($_POST['upload'])) {
  if(isset($_POST['titel'], $_POST['bericht']) AND !empty($_POST['titel']) AND !empty($_POST['bericht'])) { 
   if(isset($_FILES['plaatje']['tmp_name']) AND is_file($_FILES['plaatje']['tmp_name'])) {
      if(is_uploaded_file($_FILES['plaatje']['tmp_name'])) {
         move_uploaded_file($_FILES['plaatje']['tmp_name'], $dir.$_FILES['plaatje']['name']);
         $foto_pad = str_replace(" ", "%20", $_FILES['plaatje']['name']);
         $sql_insert = "INSERT INTO nieuws (id, datum, titel, bericht, foto) VALUES ('', '".date("d-m-Y")."', '".mysql_real_escape_string($_POST['titel'])."', '".mysql_real_escape_string($_POST['bericht'])."', '".$foto_pad."')";
         $sql_insert_result = mysql_query($sql_insert) or die ("Er is iets fout gegaan met het toevoegen van het nieuwsbericht aan de database.");
		 header("Location: nieuws_overzicht.php");
      }      
      else {
         echo "Er is iets fout gegaan bij het uploaden van de foto.";
      } 
   }
   else {
      $sql_insert = "INSERT INTO nieuws (id, datum, titel, bericht) VALUES ('', '".date("d-m-Y")."', '".mysql_real_escape_string($_POST['titel'])."', '".mysql_real_escape_string($_POST['bericht'])."')";
      $sql_insert_result = mysql_query($sql_insert) or die ("Er is iets fout gegaan met het toevoegen van het nieuwsbericht aan de database.");
	  header("Location: nieuws_overzicht.php");
   }
  }
  else {
     "U heeft neit alle velden ingevuld!";
  }
}
else {
?>
<b>Nieuws toevoegen</b><br>
<form enctype="multipart/form-data" action="nieuws_nieuw.php" method="post">
Titel bericht:<br>
<input type="text" size="50" name="titel"><br>
Bericht:<br>
<textarea cols="70" rows="15" name="bericht"></textarea><br><br>
Foto (optioneel):<br>
<input type="file" name="plaatje"><br>
<input type="submit" name="upload" value="Toevoegen">
</form>
<br>
<?php
}
?>


Nu is het zo dat na het submitten van het formulier de eerste stap van het if/else-statement wordt overgeslagen, ookal heb ik een afbeelding geselecteerd. Het bestand komt dus niet door de is_file() controle heen.
Naar mijn weten zit er toch echt geen fout in het script, iemand enig idee wat ik fout doe?

Alvast bedankt =)

Thomas

//edit: de overige data wordt wel goed weggeschreven

Reageren