Ho un problema con questo semplice script che permette l'upload di foto seguite da data e descrizione:

codice:
<?php

include ""functions.php;

function form_add_photo()
	{
	global $PHP_SELF;
	print "<h1>Inivia una Foto</h1>
";
	print "<form method='POST' action='$PHP_SELF' enctype='multipart/form_data'>";
	print "<table border='0'><tr><td>";
	print "Foto Scattata il :
<input type='text' name='data'>

</p>";
	print "<input type='hidden' name='max_file_size' value='3000'>";
	print "Seleziona la Foto da Uppare :
<input type='file' nome='foto'>

</p>";
	print "Insersci una Descrizione alla Foto :
<textarea name='descrizione' cols='30' rows='5'></textarea>
";
	print "<input type='submit' value='Invia'>";
	print "</td></tr></table></form>";
}	

//Inserisco il form per inviare i messaggi
form_add_photo();


//Dichiaro alcune variabili
$data=$HTTP_POST_VARS['data'];
$foto=$HTTP_POST_FILES['foto']['name'];
$descrizione=$HTTP_POST_VARS['descrizione'];


//Sposto il file uploadato in una directory apposita
if (isset($foto)){
	$dir="/foto";
	if(!opendir($dir)){
 		mkdir($dir, 0777);
		opendir($dir);
	}
	move_uploaded_file ($foto, $dir) or die ("Impossibile spostare il file");
}


//Controllo che siano stati completati tutti i campi e inserisce il messaggio nel DB
if((!$data) || (!$foto) || (!$descrizione)){
	print "Perfavore compila tutti i campi!";
	} else {
	photo_to_db($data, $foto, $descrizione);
}
	 
?>
Il problema è che il php non mi assegna nessun valore alla variabile $foto ($foto=$HTTP_POST_FILES['foto']['name'] e quindi, invece di inviare i dati al database, mi dice: "Perfavore compila tutti i campi !" (vedi ultimo if)

Sapete aiutarmi?
Grazie