Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    [php]Query database e Upload immagine attraverso Form

    Allora io ho un form il quale inserisce i dati dentro il database e fa l'upload di una immagine in una cartella.

    questo è il form:
    codice:
    <form action="elabora.php" method="post" enctype="multipart/form-data">
      
    
    
    
        TITOLO: 
    
        <input name="title" type="text">
        </p>
      
    
    DESCRIZIONE:
    
          <input name="desc" type="text" value="" size="30" />
          </p>
      
    
    IMMAGINE: max 721x201 - 50kb
    
            <input type="file" name="image" size="40" />
    
            
    
      </p>
      
    
    CATEGORIA:
    
          <select name="cat" id="select">
            <option value="1" selected>print</option>
            <option value="2">brand</option>
            <option value="3">multimedia</option>
            <option value="4">experiment</option>
            </select>
      </p>
      
    
      LINK: (facoltativo) 
        
    
          <input name="link" type="text">
      </p>
      
    
    
        <input type="reset" name="Reset" id="button" value="Reset">
          <input type="submit" name="Submit" id="Submit" value="Submit">
      </p>
    </form>

    e questa è la pagina elabora.php
    Codice PHP:
    <?
    include "config.inc.php";

    $title $_POST['title']; 
    $desc $_POST['desc']; 
    $image $_FILES['image']['name'];
    $cat $_POST['cat']; 
    $link $_POST['link']; 

    $connection mysql_connect($db_host,$db_user,$db_pass);
    if (!
    $connection)
      {
      die(
    '[url="javascript:history.back()"]Torna Indietro[/url]
    Impossibile connettersi: ' 
    mysql_error());
      }
      
    $db mysql_select_db($db_name$connection);

    //INSERISCO I DATI NEL DATABASE
    $sql "INSERT INTO $db_table SET Id='Null', Title='$title', Descrizione='$desc', Image='$image', Cat='$cat', Link='$link'"

    if (!
    mysql_query($sql,$connection))
      {
      die(
    '[url="javascript:history.back()"]Torna Indietro[/url]
    Errore: ' 
    mysql_error());
      }
     echo 
    "OK, inserito correttamente
    "
    ;


    mysql_close($connection);

    //ORA CARICO IL FILE SUL SERVER
    do {
      if (
    is_uploaded_file($_FILES['image']['tmp_name'])) {
        
    // Controllo che il file non superi i 50 KB
        
    if ($_FILES['image']['size'] > 50000) {
          
    $msg "

    Il file non deve superare i 50 KB!!</p>"
    ;
          break;
        }
        
    // Ottengo le informazioni sull'immagine
        
    list($width$height$type$attr) = getimagesize($_FILES['image']['tmp_name']);
        
    // Controllo che le dimensioni (in pixel) non superino 721x201
        
    if (($width 721) || ($height 201)) {
          
    $msg "

    Dimensioni non corrette!!</p>"
    ;
          break;
        }
        
    // Controllo che il file sia in uno dei formati GIF, JPG o PNG
        
    if (($type!=1) && ($type!=2) && ($type!=3)) {
          
    $msg "

    Formato non corretto!!</p>"
    ;
          break;
        }
        
    // Verifico che sul sul server non esista gia un file con lo stesso nome
        // In alternativa potrei dare io un nome che sia funzione della data e dell'ora
        
    if (file_exists('works/'.$_FILES['image']['name'])) {
          
    $msg "

    File gi‡ esistente sul server. Rinominarlo e riprovare.</p>"
    ;
          break;
        }
        
    // Sposto il file nella cartella da me desiderata
        
    if (!move_uploaded_file($_FILES['image']['tmp_name'], 'works/'.$_FILES['image']['name'])) {
          
    $msg "

    Errore nel caricamento dell'immagine!!</p>"
    ;
          break;
        }
      }
    } while (
    false);
    echo 
    $msg "Caricato con sucesso
    "
    ;
       echo 
    "<a href=\"javascript:history.back()\">Torna Indietro</a>"
    ?>

    la query nel database è perfetta, funziona tutto, non mi da nessun errore...ma l'upload?? non va... mi viene fuori il messaggio "Caricato con successo" ma non viene caricato nessun file, sia in locale che in remoto. Da cosa dipende? :master:
    Blomat Blog - creatività, tecnologia e comunicazione.

  2. #2
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    toglierei il do-while (lascerei i controlli e basta, con una variabile-flag boolean) e metterei la query in fondo (da eseguire solo se il flag è su true)
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  3. #3
    ma se io voglio togliere tuti i controlli, e far un upload semplice in una cartella specifica senza nessun controllo,cosa devo scrivere?
    Blomat Blog - creatività, tecnologia e comunicazione.

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.