Visualizzazione dei risultati da 1 a 4 su 4

Discussione: Upload non riuscito

  1. #1
    Utente di HTML.it L'avatar di kakashi
    Registrato dal
    Feb 2005
    Messaggi
    357

    Upload non riuscito

    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>"

  2. #2
    assicurati che nel form ci sia enctype="multipart/form-data"

    vedi se così cambia qualcosa




    edit: ecco , infatti

  3. #3
    Utente di HTML.it L'avatar di kakashi
    Registrato dal
    Feb 2005
    Messaggi
    357
    Oddio è vero... Grazie mille

  4. #4

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.