Using my own created webform to send mails I get this "undefined index" message when trying to attach a file, and I can't for the life of me figure out why?
Here's the script (sorry, comments are in Swedish):
Code:
<?php
include ("includes/function_1.php");
require_once ("Mail.php");
include  ("Mail/mime.php");
$adminmail="info@tuxit.se";
$STATUS="R";
$SORTERING="f_namn";
$upload_dir="../uploads";
//$reg_datum=today();
	if(isset($_POST['submit']))
	{
		$subject=$_POST['subject'];
		$nletter=$_POST['nletter'];
		if ($subject =="" || $nletter == "") 
		{
			header("Location: skicka_mejl.php");
//			print "Du måste ange ämne och skriva ett meddelande.";
		}
		else
		{
		// Ta hand om bilaga om det finns
//		if(isset($_FILES['bifogad_fil']))
//		{
			$filnamn =  $_FILES['bilaga']['name'];
			// Extension & storlek
			$type_of_uploaded_file = substr($filnamn, strrpos($filnamn, '.') + 1);
			$filstorlek = $_FILES['bilaga']["size"]/1024;
			// Kopiera filen till tmp-dir
			$path_of_uploaded_file = $upload_dir . $filnamn;
			$tmp_path = $_FILES['bifogad_fil']["tmp_name"];
			if(is_uploaded_file($tmp_path))
			{
				if(!copy($tmp_path,$path_of_uploaded_file))
				{
 					$errors .= '\n error while copying the uploaded file';
				}
			}
	// This for error checking
			print $path_of_uploaded_file;
   			print "<pre>";
   			print_r($_FILES);
   			print "</pre>"; 
//		} 
		// Forma & skicka
			$nletter = $_POST['nletter'];
			$subject = $_POST['subject'];
			$nletter = stripslashes($nletter);
			$subject = stripslashes($subject);
			$body = str_replace("rn","<br>",$nletter);
			//Ovanstående formaterar meddelandet
			$from = $adminmail;
			 
			anslutDB();
			$resultat = $mysqli->query("SELECT * FROM medlem_reg WHERE status='$STATUS' AND epost>'' ORDER BY $SORTERING");
			if ($resultat->num_rows > 0)  
			{
				while ($rad = $resultat->fetch_object())   {
					$to = $rad->epost;
			{
// Note: if next line is uncommented mail is sent to all recipients.
//	sendmail($from, $to, $subject, $body); 
	// Stäng databas-anslutningen
	$mysqli->close();
//	header("Location: skicka_mejl.php");
  			}
		}
	}
}
}
else
{
	print "<form action='skicka_mejl.php' method='post' enctype='multipart/form-data'>";
	print "Ämne:<br>";
	print "<input type='text' name='subject' size='20'><br>";
	print "Meddelande:<br>";
	print "<textarea name='nletter' cols='50' rows='6'></textarea><br>";
	print "<input type='submit' name='submit' value='Skicka'></form>";
	print "<label for='bilaga'>Välj en fil att bifoga:</label>";
	print "<input type='file' name='bilaga'><br/>";
	print "<a href=http://tuxit.nu/exempelsida> Klicka här </a>för att återgå till första-sidan.</p>";
}
?>
Everything in this script works except for the 3 lines with "$_FILES['bilaga']['name']", so the form in itself should be correct.
For error checking, those lines
print "<pre>";
print_r($_FILES);
print "</pre>";
gives
Array
(
)


I tried using "$_POST['bilaga']" and "basename($_FILES['bilaga']['name'])", tried with all different kinds of quotes but no difference.
I've googled like h..ll, no solution found helps - everything looks correct to me?
The file I'm trying to upload is a text-file size 11 (it contains one line with a 9-digit number)
php.ini has post_max_size = 8M upload_max_filesize = 2M

Also same problem when I put the scripts on a public webserver where file uploads are used in other websites - so there must be something with this script??