Visualizzazione dei risultati da 1 a 2 su 2

Discussione: problemi upload file

  1. #1
    Utente di HTML.it
    Registrato dal
    May 2007
    Messaggi
    88

    problemi upload file

    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:
    DuMbSiM
    --
    Versati un altro bicchiere di vino, accenditi quella strana sigaretta. Ogni cosa e' perdonata ancora prima che tu la faccia.

  2. #2
    Utente di HTML.it
    Registrato dal
    May 2007
    Messaggi
    88

    [RISOLTO]

    ok risolto...

    bastava inserire all'interno del tag <form> la dicitura:

    enctype="multipart/form-data"
    DuMbSiM
    --
    Versati un altro bicchiere di vino, accenditi quella strana sigaretta. Ogni cosa e' perdonata ancora prima che tu la faccia.

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.