Ciao a tutti. Ho un piccolo problema con upload file
Il problema e che con $_FILES non riesco a recuperare il campo file, invece se uso un $_POST riesco a recuperare il nome
Lo script è diviso nella funzione
Codice PHP:
function nuovo_lavoro(){
global $modifiche;
echo"
<table align=\"center\" cellpadding=\"2\" cellspacing=\"2\" border=\"0\">
<tr>
<td class=\"interlinea\" colspan=\"5\">Informazioni Lavoro svolto</td>
</tr>
<tr>
<td>
Per il Cliente
</td>
<td>
<select name=\"cliente\" class=\"reg_input\">";
if(isset($modifiche)){
echo"<option value=\"$modifiche[per_cliente]\" class=\"reg_input\" selected=\"selected\">$modifiche[per_cliente]</option>";
}
$cicliamo = mysql_query("SELECT * FROM system_members")or die (mysql_error());
while($clienti = mysql_fetch_array($cicliamo)){
if(!$clienti[nome_azienda]){
echo"<option value=\"$clienti[cognome] - $clienti[nome]\" class=\"reg_input\">";
echo"$clienti[cognome] - $clienti[nome]";
}else{
echo"<option value=\"$clienti[nome_azienda]\" class=\"reg_input\">";
echo"$clienti[nome_azienda]";
}
echo"</option>";
}
echo"
</select>
</td>
</tr>
<tr>
<td>Ore di Lavoro</td>
<td><input name=\"ore\" class=\"reg_input\" value=\"$modifiche[ore_lavoro]\"/></td>
</tr>
<tr>
<td>Giorno del lavoro</td>
<td><input name=\"giorno_lavorativo\" class=\"reg_input\" value=\"$modifiche[giorno_lavoro]\"/></td>
</tr>
<tr>
<td>Inizio Lavoro (Ore)</td>
<td><input name=\"inizio_lavoro\" class=\"reg_input\" value=\"$modifiche[inizio_lavoro]\" /></td>
</tr>
<tr>
<td>Fine Lavoro (Ore)</td>
<td><input name=\"fine_lavoro\" class=\"reg_input\" value=\"$modifiche[fine_lavoro]\"/></td>
</tr>
<tr>
<td>Prezzo per ora </td>
<td><input name=\"prezzo_per_ora\" class=\"reg_input\" value=\"$modifiche[prezzo_ora]\"/></td>
</tr>
<tr>
<td valign=\"top\">Descrizione lavoro </td>
<td><textarea name=\"descrizione\" class=\"reg_input\" rows=\"5\" />$modifiche[descrizione]</textarea></td>
</tr>
<tr>
<td>Pagato</td>
<td><label><input name=\"pagato\" type=\"radio\" value=\"Si\"";if($modifiche[pagato] == "Si"){echo"checked";}echo"/>SI</label> <label><input name=\"pagato\" type=\"radio\" value=\"No\"";if($modifiche[pagato] == "No"){echo"checked";}echo" />NO</label></td>
</tr>
<tr><td>Fattura Upload</td><td>";
if($modifiche[pagato] == "Si"){
echo"<label><input name=\"sovrascrivi\" value=\"true\" type=\"checkbox\">Sovrascrivi file?</label>
";
}
echo"
<input name=\"upload_fattura\" type=\"file\" class=\"reg_input\" size=\"25\"></td>
</tr>
<tr>
<td>Prezzo Totale</td>
<td><input name=\"totale\" type=\"text\" class=\"reg_input\" value=\"$modifiche[cash]\"/></td>
</tr>
<tr>
<td colspan=\"2\">
<input type=\"hidden\" value=\"$modifiche[id]\" name=\"new_id\">
<input type=\"submit\" value=\"Salva\" class=\"clienti_campo\"/>
</td>
</tr>
</table>";
}
La funzione poi viene inclusa nella pagina e richiamata al momento apposito..
E fin qui tutto ok..
Ma nel momento in qui cerco di salvare i dati, riesco solo in parte, perchè l'upload non salva niente
Codice PHP:
$inseriamo = mysql_query("INSERT INTO system_lavori (per_cliente,ore_lavoro,giorno_lavoro,cash,pagato,inizio_lavoro,fine_lavoro,prezzo_ora,descrizione) VALUES ('$_POST[cliente]','$_POST[ore]','$_POST[giorno_lavorativo]','$_POST[totale]','$_POST[pagato]','$_POST[inizio_lavoro]','$_POST[fine_lavoro]','$_POST[prezzo_per_ora]','$_POST[descrizione]')");
//echo mysql_insert_id();
//upload file con controllo estenzione
$file_name = $_FILES['upload_fattura']['name'];
$file_temp = $HTTP_POST_FILES['upload_fattura']['tmp_name'];
$file_type = $_FILES['upload_fattura']['type'];
$file_size = $_FILES['upload_fattura']['size'];
if(!copy($file_temp, "$dir_download/$file_name")){Echo"Error";}
echo"$file_type-$file_name-$file_size";
Infatti sul'ultimo echo che stampo per sapere le info del file non visualizzo niente.. sapete dirmi come mai non riesco a prendere i dati?
Oppure avete un'altra via da consigliarmi?
Mi stavo scordando di dire che il Form si trova nella pagina dove viene richiamata la funzione
ovvero
Codice PHP:
echo"<form action=\"admin.php?panel=inserisci_nuovo_lavoro\" method=\"post\">";
echo nuovo_lavoro();
echo"</form>";