• User Newbie

    problema form di registrazione con file upload

    ciao a tutti, sto creando un form di registrazione con un pulsante sfoglia, per dare la possibilita' all'utente di caricare una sua immagine. Il problema e' che non funziona, non mi inserisce la foto nel database, e non riesco a capire come mai.
    vi posto i codici:
    registrazione.php

    
    <?php 
    //setto le variabili 
    $dbhost = "localhost"; 
    $dbusername = "root"; 
    $dbuserpass = ""; 
    $dbname = "iscrizione"; 
    //connect to the database 
    mysql_connect ($dbhost, $dbusername, $dbuserpass); 
    if (!mysql_select_db($dbname)) die(mysql_error()); 
    $username = $_POST['username']; 
    $password = $_POST['password']; 
    $email = $_POST['email']; 
    $nome = $_POST['nome']; 
    $cognome = $_POST['cognome']; 
    $giorno = $_POST['giorno']; 
    $mese = $_POST['mese']; 
    $anno = $_POST['anno']; 
    $indirizzo = $_POST['indirizzo']; 
    $citta = $_POST['citta']; 
    $paese = $_POST['paese']; 
    $sesso = $_POST['sesso']; 
    $occhi = $_POST['occhi']; 
    $capelli = $_POST['capelli']; 
    $altezza = $_POST['altezza']; 
    $peso = $_POST['peso'];
    $nomei = $_POST['nomei']; 
    $cartella = 'images/'; 
        $percorso = $_FILES['miofile']['tmp_name']; 
        $nomei = $_FILES['miofile']['name']; 
                
        if($_FILES["miofile"]["type"] == "image/gif" || $_FILES["miofile"]["type"] == "image/jpg" || $_FILES["miofile"]["type"] == "image/png") 
    { 
        // ESEGUO L'UPLOAD CONTROLLANDO L'ESITO 
        if (move_uploaded_file($percorso, $cartella . $nomei)) 
        { 
            header ("Location: registrazione.php"); 
        } 
        else 
        { 
            print "Si sono verificati dei problemi durante l'Upload. Ti preghiamo di segnalarci il problema, <a href=http://www.ccc.com/segnala-errori.asp>clicca qui.</a>"; 
        } 
    
    } else { 
    echo "ATTENZIONE. Puoi caricare solamente file con la seguenti estenzioni: <strong>.jpg .png .gif</strong>"; 
    exit(); 
    } 
    
    $query = "INSERT INTO utenti (username, password, email, nome, cognome, giorno, mese, anno, indirizzo, citta, paese, sesso, occhi, capelli, altezza, peso, nomei) VALUES ('$username','$password','$email','$nome','$cognome','$giorno','$mese','$anno','$indirizzo','$citta','$paese','$sesso','$occhi','$capelli','$altezza','$peso',$nomei')";
     
    mysql_query($query) or die (mysql_error()); 
    echo "<b>$username</b> è stato registrato con successo!<br>"; 
    echo "<b>Questi sono i tuoi dati:</b><br><br>"; 
    echo "<b>Username:</b> $username <br>"; 
    echo "<b>Password:</b> $password <br>"; 
    echo "<b>Email:</b> $email <br>"; 
    echo "<b>Nome:</b> $nome <br>"; 
    echo "<b>Cognome:</b> $cognome <br>"; 
    echo "<b>Data di Nascita:</b> $giorno - $mese - $anno <br>"; 
    echo "<b>Indirizzo:</b> $indirizzo <br>"; 
    echo "<b>Città:</b> $citta <br>"; 
    echo "<b>Paese:</b> $paese <br>"; 
    echo "<b>Sono:</b> $sesso <br>"; 
    echo "<b>Colore Occhi:</b> $occhi <br>"; 
    echo "<b>Colore Capelli:</b> $capelli <br>"; 
    echo "<b>Altezza:</b> $altezza <br>"; 
    echo "<b>Peso:</b> $peso <br>"; 
     
    
    ?> 
    
    

    modulo.php

    
    <head>
    <title>Modulo d'iscrizione</title>
    <style type="text/css">
    <!--
    .Stile3 {color: #FF0000}
    -->
    </style>
    </head>
    <body>
    <center>
    <div align="center" class="Stile3">
      <p><strong>Inserisci i tuoi dati</strong></p>
    </div>
    <form action="registrazione.php" method="post" enctype="multipart/form-data" >
    <table width="403" height="277" border="0" align="center" cellpadding="0" cellspacing="1">
      <tr>
        <td width="138">Username:</td>
        <td width="262">  
            <input type="text" name="username" />    </td>
      </tr>
      <tr>
        <td>Password:</td>
        <td>      
            <input type="password" name="password" />    </td>
      </tr>
      <tr>
        <td>Email:</td>
        <td>      
            <input type="text" name="email" />    </td>
      </tr>
      <tr>
        <td>Nome:</td>
        <td>     
            <input type="text" name="nome" />    </td>
      </tr>
      <tr>
        <td>Cognome:</td>
        <td>  
            <input type="text" name="cognome" />    </td>
      </tr>
      <tr>
        <td>Data di Nascita: </td>
        <td>     
            <select name="giorno" id="giorno">
              <option>01</option>
              <option>02</option>
              <option>03</option>
              <option>04</option>
              <option>05</option>
              <option>06</option>
              <option>07</option>
              <option>08</option>
              <option>09</option>
              <option>10</option>
              <option>11</option>
              <option>12</option>
              <option>13</option>
              <option>14</option>
              <option>15</option>
              <option>16</option>
              <option>17</option>
              <option>18</option>
              <option>19</option>
              <option>20</option>
              <option>21</option>
              <option>22</option>
              <option>23</option>
              <option>24</option>
              <option>25</option>
              <option>26</option>
              <option>27</option>
              <option>28</option>
              <option>29</option>
              <option>30</option>
              <option>31</option>
          </select>     
              <select name="mese" id="mese">
            <option>Gennaio</option>
            <option>Febbraio</option>
            <option>Marzo</option>
            <option>Aprile</option>
            <option>Maggio</option>
            <option>Giugno</option>
            <option>Luglio</option>
            <option>Agosto</option>
            <option>Settembre</option>
            <option>Ottobre</option>
            <option>Novembre</option>
            <option>Dicembre</option>
          </select>      
          <select name="anno" id="anno">
            <option>1950</option>
            <option>1951</option>
            <option>1952</option>
            <option>1953</option>
            <option>1954</option>
            <option>1955</option>
            <option>1956</option>
            <option>1957</option>
            <option>1958</option>
            <option>1959</option>
            <option>1960</option>
            <option>1961</option>
            <option>1962</option>
            <option>1963</option>
            <option>1964</option>
            <option>1965</option>
            <option>1966</option>
            <option>1967</option>
            <option>1968</option>
            <option>1969</option>
            <option>1970</option>
            <option>1971</option>
            <option>1972</option>
            <option>1973</option>
            <option>1974</option>
            <option>1975</option>
            <option>1976</option>
            <option>1977</option>
            <option>1978</option>
            <option>1979</option>
            <option>1980</option>
            <option>1981</option>
            <option>1982</option>
            <option>1983</option>
            <option>1984</option>
            <option>1985</option>
            <option>1986</option>
            <option>1987</option>
            <option>1988</option>
            <option>1989</option>
          </select>    </td>
      </tr>
      <tr>
        <td>Indirizzo:</td>
        <td>
            <input type="text" name="indirizzo" /></td>
      </tr>
      <tr>
        <td>Città:</td>
        <td>   
            <input type="text" name="citta" /></td>
      </tr>
      <tr>
        <td>Paese:</td>
        <td>
            <select name="paese">
              <option>Italia</option>
              <option>Spagna</option>
              <option>Germania</option>
              <option>Francia</option>
              <option>Portogallo</option>
              <option>Svizzera</option>
            </select> </td>
      </tr>
      <tr>
        <td>Sono:</td>
        <td>    
            <input type="radio" name="sesso" value="uomo" />        
        Uomo  
        <input type="radio" name="sesso" value="donna" />    
        Donna    </td>
      </tr>
      <tr>
        <td>Colore Occhi: </td>
        <td>      
            <select name="occhi">
              <option>Marroni</option>
              <option>Neri</option>
              <option>Azzurri</option>
              <option>Viola</option>
              <option>Grigi</option>
              <option>Verdi</option>
            </select></td>
      </tr>
      <tr>
        <td>Colore Capelli:</td>
        <td> 
            <select name="capelli">
              <option>Marroni</option>
              <option>Neri</option>
              <option>Biondi</option>
              <option>Rossi</option>
            </select> </td>
      </tr>
      <tr>
        <td>Altezza:</td>
        <td>  
            <select name="altezza">
              <option>1m 50</option>
              <option>1m 55</option>
              <option>1m 60</option>
              <option>1m 65</option>
              <option>1m 75</option>
              <option>1m 80</option>
              <option>1m 85</option>
              <option>1m 90</option>
              <option>1m 95</option>
                </select>  </td>
      </tr>
      <tr>
        <td>Peso:</td>
        <td>    
          <select name="peso">
            <option>50 kg</option>
            <option>55 kg</option>
            <option>60 kg</option>
            <option>65 kg</option>
            <option>70 kg</option>
            <option>75 kg</option>
            <option>80 kg</option>
            <option>85 kg</option>
            <option>90 kg</option>
            <option>95 kg</option>
            <option>100 kg</option>
          </select> </td>
      </tr>
      <tr>
        <td> </td>
     
        <td> 
         <input name="miofile" type="file" id="miofile" > 
         <input name="submit" type="submit" value="Invia" /></td>
      </tr>
    </table>
    </form>
    <p align="center"> </p>
    <p align="center"> </p>
    <p> </p>
    </body>
    </html>
    
    

    nel database ho messo un campo di nome nomei con tipo varchar (255), ma niente non ne vuole sapere niente. Mi sapete dire come mai?

    Questa e' la scritta che mi compare quando provo ad inviare il form con foto:

    
    ATTENZIONE. Puoi caricare solamente file con la seguenti estenzioni: **.jpg .png .gif**
    **
    ```**
    **grazie in anticipo**

  • User

    ma che tipo di immagine posti?
    sicuramente l'if
    if($_FILES["miofile"]["type"] == "image/gif" || $_FILES["miofile"]["type"] == "image/jpg" || $_FILES["miofile"]["type"] == "image/png")

    è false e quindi ti stampa l'echo del else, prova a fare una
    echo $_FILES["miofile"]["type"] prima dell'if e guarda che valore ha.


  • User Newbie

    mi da quest'errore:

    
    **Parse error**: syntax error, unexpected T_IF, expecting ',' or ';' in **C:\wamp\www\modulo\registrazione.php** on line **31**
    **
    ```**
    **e la riga seguente**
    **```
    **
    if($_FILES["miofile"]["type"] == "image/gif" || $_FILES["miofile"]["type"] == "image/jpg" || $_FILES["miofile"]["type"] == "image/png")
    
    

    non riesco a capire come mai, provo a caricare un'immagine .gif!!


  • User Newbie

    senti adesso ho questo codice nel file registrazione.php:

    
    <?php 
    //setto le variabili 
    $dbhost = "localhost"; 
    $dbusername = "root"; 
    $dbuserpass = ""; 
    $dbname = "iscrizione"; 
    //connect to the database 
    mysql_connect ($dbhost, $dbusername, $dbuserpass); 
    if (!mysql_select_db($dbname)) die(mysql_error()); 
    $username = $_POST['username']; 
    $password = $_POST['password']; 
    $email = $_POST['email']; 
    $nome = $_POST['nome']; 
    $cognome = $_POST['cognome']; 
    $giorno = $_POST['giorno']; 
    $mese = $_POST['mese']; 
    $anno = $_POST['anno']; 
    $indirizzo = $_POST['indirizzo']; 
    $citta = $_POST['citta']; 
    $paese = $_POST['paese']; 
    $sesso = $_POST['sesso']; 
    $occhi = $_POST['occhi']; 
    $capelli = $_POST['capelli']; 
    $altezza = $_POST['altezza']; 
    $peso = $_POST['peso'];
    $nomei = $_POST['nomei']; 
    $cartella = 'images/'; 
        $percorso = $_FILES['miofile']['tmp_name']; 
        $nomei = $_FILES['miofile']['name']; 
          echo $_FILES['miofile']['type'] ;     
        if($_FILES["miofile"]["type"] == "image/gif" || $_FILES["miofile"]["type"] == "image/jpg" || $_FILES["miofile"]["type"] == "image/png") 
    { 
        // ESEGUO L'UPLOAD CONTROLLANDO L'ESITO 
        if (move_uploaded_file($percorso, $cartella . $nomei)) 
        { 
            header ("Location: registrazione.php"); 
        } 
        else 
        { 
            print "Si sono verificati dei problemi durante l'Upload. Ti preghiamo di segnalarci il problema, <a href=http://www.ccc.com/segnala-errori.asp>clicca qui.</a>"; 
        } 
    } else { 
    echo "ATTENZIONE. Puoi caricare solamente file con la seguenti estenzioni: <strong>.jpg .png .gif</strong>"; 
    exit(); 
    } 
    $query = "INSERT INTO utenti (username, password, email, nome, cognome, giorno, mese, anno, indirizzo, citta, paese, sesso, occhi, capelli, altezza, peso, nomei) VALUES ('$username','$password','$email','$nome','$cognome','$giorno','$mese','$anno','$indirizzo','$citta','$paese','$sesso','$occhi','$capelli','$altezza','$peso',$nomei')";
     
    mysql_query($query) or die (mysql_error()); 
    echo "<b>$username</b> è stato registrato con successo!<br>"; 
    echo "<b>Questi sono i tuoi dati:</b><br><br>"; 
    echo "<b>Username:</b> $username <br>"; 
    echo "<b>Password:</b> $password <br>"; 
    echo "<b>Email:</b> $email <br>"; 
    echo "<b>Nome:</b> $nome <br>"; 
    echo "<b>Cognome:</b> $cognome <br>"; 
    echo "<b>Data di Nascita:</b> $giorno - $mese - $anno <br>"; 
    echo "<b>Indirizzo:</b> $indirizzo <br>"; 
    echo "<b>Città:</b> $citta <br>"; 
    echo "<b>Paese:</b> $paese <br>"; 
    echo "<b>Sono:</b> $sesso <br>"; 
    echo "<b>Colore Occhi:</b> $occhi <br>"; 
    echo "<b>Colore Capelli:</b> $capelli <br>"; 
    echo "<b>Altezza:</b> $altezza <br>"; 
    echo "<b>Peso:</b> $peso <br>"; 
     
    ?>
    
    

    ma mi esce quest'errore:

    
    image/gif
    **Warning**: Cannot modify header information - headers already sent by (output started at C:\wamp\www\modulo\registrazione.php:30) in **C:\wamp\www\modulo\registrazione.php** on line **36**
    You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '')' at line 1
    
    

  • User

    non è un errore è un warning è una cosa diversa, li puoi disabilitare e non ti compare più nulla.
    Comunque se metti questa:

    if (move_uploaded_file($percorso, $cartella . $nomei))
    {
    header ("Location: registrazione.php");
    exit();
    }

    ti dovrebbe eliminare quel warning. Infatti il warning ti dice che hai gia fatto un header