Sto cercando di creare un form che inserisca in un db un po di campi testuali, cosa che riesco a fare, e in più permetta di aggiungere un immagine. Per ora non ho ancora iniziato ad inserire il percorso dell'immagine nel db, inquanto non riesco ancora a caricare l'immagine sul server. Vi allego il codice:

La pagina insert.php contiene il form. C'è anche un checkbox che permetta di non inserire immagini ma anche quello non è ancora attivo.

Codice PHP:
<?
include ("config.inc.php");
include (
"top_foot.inc.php");

//intestazione
top();
?>

<form method="post" action="save.php">
Titolo:

<input type="text" size="40" name="titolo" />



Data:


<select name="giorno">
<?
for ($i=1$i<=31$i++)
  echo 
"<option value=\"$i\">$i</option>";
?>
</select>

<select name="mese">
<option value="1">Gennaio</option>
<option value="2">Febbraio</option>
<option value="3">Marzo</option>
<option value="4">Aprile</option>
<option value="5">Maggio</option>
<option value="6">Giugno</option>
<option value="7">Luglio</option>
<option value="8">Agosto</option>
<option value="9">Settembre</option>
<option value="10">Ottobre</option>
<option value="11">Novembre</option>
<option value="12">Dicembre</option>
</select>

<select name="anno">
<option value="2007">2007</option>
<option value="2008">2008</option>
<option value="2009">2009</option>

</select>




Autore:

<input type="text" size="40" name="autore" />



E-mail:

<input type="text" size="40" name="mail" />



Testo:

<textarea cols="60" rows="40" name="testo"></textarea>



Vuoi inserire un immagine?

<input type="checkbox" name="immagine" value="si"/> Clicca qui per inserire un'immagine.


Inserisci un immagine:

<input type="file" name="file1" size="50">


Password:

<input type="password" size="40" name="pass" />



<input type="submit" value="Invia" />
</form>
<?
// chiusura pagina
foot();
?>
Il file che deve processare i contenuti del form è save.php


Codice PHP:
<?
include("top_foot.inc.php");
include(
"config.inc.php");
top();
//recupero la password dal form.
$pass =$_POST['pass'];
//recupero i dati dal form.
$titolo =$_POST['titolo'];
$autore =$_POST['autore'];
$mail   =$_POST['mail'];
$testo  =$_POST['testo'];
$pass   =$_POST['pass'];
$giorno =$_POST['giorno'];
$mese   =$_POST['mese'];
$anno   =$_POST['anno'];
//controllo la password per l'inserimento articoli.
if ($pass != $password): echo "Password errata";



//controllo che i campi titolo e testo non siano vuoti.
elseif (trim($titolo) == "" OR trim($testo) == ""):
  echo 
"I campi Titolo e Testo devono essere riempiti!";

//controllo gli slash.
else :
  
$titolo addslashes(stripslashes($titolo));
  
$autore addslashes(stripslashes($autore));
  
$mail addslashes(stripslashes($mail));
  
$testo addslashes(stripslashes($testo));

//assegno il valore html a caratteri particolari.
  
$titolo str_replace("<""&lt;"$titolo);
  
$titolo str_replace(">""&gt;"$titolo);   
  
$autore str_replace("<""&lt;"$autore);
  
$autore str_replace(">""&gt;"$autore);
  
$testo str_replace("<""&lt;"$testo);
  
$testo str_replace(">""&gt;"$testo);
  
$testo nl2br($testo);
//assegno il valore html a lettere accentate in titolo.
  
$titolo str_replace("à""&agrave;"$titolo);
  
$titolo str_replace("è""&egrave;"$titolo);
  
$titolo str_replace("ì""&igrave;"$titolo);
  
$titolo str_replace("ò""&ograve;"$titolo);
  
$titolo str_replace("ù""uagrave;"$titolo);
//assegno il valore html a lettere accentate in autore.
  
$autore str_replace("à""&agrave;"$autore);
  
$autore str_replace("è""&egrave;"$autore);
  
$autore str_replace("ì""&igrave;"$autore);
  
$autore str_replace("ò""&ograve;"$autore);
  
$autore str_replace("ù""uagrave;"$autore);
//assegno il valore html a lettere accentate in testo.
  
$testo str_replace("à""&agrave;"$testo);
  
$testo str_replace("è""&egrave;"$testo);
  
$testo str_replace("ì""&igrave;"$testo);
  
$testo str_replace("ò""&ograve;"$testo);
  
$testo str_replace("ù""uagrave;"$testo);
//converto la data in formato timestamp.
  
$data mktime("0""0""0"$mese$giorno$anno);

//connessione al db.
 
$db mysql_connect($db_host$db_user$db_password);
  if (
$db == FALSE)
    die (
"Errore nella connessione.");

  
mysql_select_db($db_name$db)
    or die (
"Errore nella selezione del database.");

//creo la query.
$query "INSERT INTO news (titolo, testo, data, autore, mail) VALUES ('$titolo', '$testo', '$data', '$autore', '$mail')";

//controllo la query.
  
if (mysql_query($query$db))
    echo 
"L'articolo &egrave; stato inserito correttamente";
  else
    echo 
"Errore durante l'inserimento";
  

  
mysql_close($db);
// chiude la verifica della presenza dei dati
endif; 

echo 
"
"
;
//upload immagine
  
$percorso "pics/";

  if (
is_uploaded_file($_FILES['file1']['tmp_name'])) {
    if (
move_uploaded_file($_FILES['file1']['tmp_name'], $percorso.$_FILES['file1']['name'])) {
      echo 
'Nome file: [b]'.$_FILES['file1']['name'].'[/b]
'
;
      echo 
'MIME Type: [b]'.$_FILES['file1']['type'].'[/b]
'
;
      echo 
'Dimensione: [b]'.$_FILES['file1']['size'].'[/b] byte
'
;
      echo 
'======================
'
;
      echo 
'File caricato correttamente

'
;

    } else {
      echo 
"si è verificato un errore durante l'upload: ".$_FILES["file1"]["error"];
    }
  } else {
    echo 
"si è verificato un errore durante l'upload(2if): ".$_FILES["file1"]["error"];
  }

echo 
"
[img].
$percorso.$_FILES['file1']['name'].[/img]";

foot();
?>
Qualcuno può aiutarmi a capire perchè non funziona l'upload del file? In particolare perchè l'upload non viene propio effettuato? :berto: