Pagina 1 di 5 1 2 3 ... ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 46
  1. #1

    Upload foto e gestione delle stesse in DB...

    Ok, visto che la strada che mi consigliavate tutti era quella di inviare le foto in cartella remota e poi inserire nel database soltanto le descrizioni varie e i percorsi, ho iniziato da zero (così magari imparo pure un pò di PHP)...

    Codice PHP:
    <?php

    /**
     * @author Davide
     * @copyright 2009
     */

        // Se il campo file da inviare è vuoto, restituisce un errore.
        
    if ($foto == "none")
        
        
    // Visualizza la finestra d'errore del file vuoto.
        
    echo "<BODY onLoad=\"javascript:alert('Il campo \"FOTO\" è vuoto. Compilarlo.')\">";
        
        else
            
        
    // 
        
    if ($foto 1024000)
        
        
    // Visualizza la finestra d'errore del file vuoto.
        
    echo "<BODY onLoad=\"javascript:alert('Il file è più grande di 1 MB. Caricarne uno più piccolo.')\">";
        
        

    ?>
    Questo è l'inizio del codice che sto scrivendo, e che dovrebbe verificare che il file sia più piccolo di 1 MB e che ci sia (soprattutto!!)

    Va bene?
    "Quando uno è fatto così, è fatto per la roba"
    G.Verga - "La Roba"

  2. #2
    Codice PHP:
    <?php

    /**
     * @author Davide
     * @copyright 2009
     */

        // Se il campo file da inviare è vuoto, restituisce un errore.
        
    if ($foto == "none")
        
        
    // Visualizza la finestra d'errore del file vuoto.
        
    echo "<BODY onLoad=\"javascript:alert('Il campo \"FOTO\" è vuoto. Compilarlo.')\">";
        
        else
            
        
    // 
        
    if ($foto 1024000)
        
        
    // Visualizza la finestra d'errore del file vuoto.
        
    echo "<BODY onLoad=\"javascript:alert('Il file è più grande di 1 MB. Caricarne uno più piccolo.')\">";

        
    // Definisce la directory nella quale viene inviato il file
        
    define("UPLOAD_DIR""./images/");

        
    // Se la variabile $_POST è definita (ISSET) procede con l'invio
        
    if(isset($_POST['action']) and $_POST['action'] == 'upload')
        {
            if(isset(
    $_FILES['foto']))
            {
            
    $file $_FILES['foto'];
            if(
    $file['error'] == UPLOAD_ERR_OK and is_uploaded_file($file['tmp_name']))
                {
                
    move_uploaded_file($file['tmp_name'], UPLOAD_DIR.$file['name']);
                }
            }
        }    
        
    ?>
    Sono andato avanti così: non mi dà messaggi d'errore, ma non mi carica il file... come mai??

    (Ovviamente il form html chiama questo file, upload.php, per il caricamento della foto)...
    "Quando uno è fatto così, è fatto per la roba"
    G.Verga - "La Roba"

  3. #3
    Ho risolto con l'upload: mancava questo nella pagina HTML:

    <input type="hidden" name="action" value="upload" />

    "Quando uno è fatto così, è fatto per la roba"
    G.Verga - "La Roba"

  4. #4
    Ragazzi, come mai non mi va a capo?!?!

    Codice PHP:
    $conn mysql_connect($hostname$username$password)
    or die(
    "Connessione non riuscita: \n" mysql_error());
    echo (
    "Connesso con successo... \n"); 
    Sto scimunendo.... mi pare tutto ok!
    "Quando uno è fatto così, è fatto per la roba"
    G.Verga - "La Roba"

  5. #5
    Riesco ad uploadare il file, ma non mi scrive le variabili nel database mysql... perchè?

    Codice PHP:
    <?php

    /**
     * @author Davide
     * @copyright 2009
     */

        // Se il campo file da inviare è vuoto, restituisce un errore.
        
    if ($foto == "none")
        
        
    // Visualizza la finestra d'errore del file vuoto.
        
    echo "<BODY onLoad=\"javascript:alert('Il campo \"FOTO\" è vuoto. Compilarlo.')\">";
        
        else
            
        
    // 
        
    if ($foto 1024000)
        
            
    // Visualizza la finestra d'errore del file vuoto.
        
    echo "<BODY onLoad=\"javascript:alert('Il file è più grande di 1 MB. Caricarne uno più piccolo.')\">";
        
        else
        
        
    // Definisce la directory nella quale viene inviato il file
        
    define("UPLOAD_DIR""./images/");

        
    // Se la variabile $_POST è definita (ISSET) procede con l'invio
        
    if(isset($_POST['action']) and $_POST['action'] == 'upload')
        {
            if(isset(
    $_FILES['foto']))
            {
            
    $file $_FILES['foto'];
            if(
    $file['error'] == UPLOAD_ERR_OK and is_uploaded_file($file['tmp_name']))
                {
                
    move_uploaded_file($file['tmp_name'], UPLOAD_DIR.$file['name']);
                }
            }
        }    
        
         @include 
    'config.inc.php';
                 
        
         
    // Si collega al database
         
    $conn mysql_connect($hostname$username$password)
         or die(
    "Connessione non riuscita: 
    mysql_error());
         echo (
    "Connesso con successo... 
    "
    );
         
         
    // Seleziona il database
         
    mysql_select_db($database$conn);
         
                        
    // Passa le variabili alla query  
                     
    $marca=($POST['marca']);
                        
    $modello=($POST['modello']);
                        
    $anno=($POST['anno']);
                        
    $cilindrata=($POST['cilindrata']);
                        
    $alimentazione=($POST['alimentazione']);
                        
    $descrizione=($POST['descrizione']);
                                                 
         
    // Inserisce nella tabella i dati passatigli dalla variabile
         
    $query2 "INSERT INTO `nomedatabase`.`auto` (url, thumbnail, marca, modello, anno, cilindrata, porte, alimentazione, descrizione) VALUES ('$marca','$modello','$anno','$cilindrata','$alimentazione','$descrizione') or die(mysql_error());";
         
         
    $ri mysql_db_query($database$query2$conn);
         
         
        
    // Visualizzatore
    echo '[img]'.UPLOAD_DIR.$file[name].'[/img]';
    ?>
    "Quando uno è fatto così, è fatto per la roba"
    G.Verga - "La Roba"

  6. #6
    Utente di HTML.it
    Registrato dal
    Jun 2008
    Messaggi
    1,317
    se hai una versione maggiore a php 5.3 la vedo difficile che funzioni mysql_db_query.

    cmq prova con:
    $query2 = "INSERT INTO `nomedatabase`.`auto` (url, thumbnail, marca, modello, anno, cilindrata, porte, alimentazione, descrizione) VALUES ('$marca','$modello','$anno','$cilindrata','$alime ntazione','$descrizione')";

    $query = mysql_query( $query2 , $conn ) or die(mysql_error());

  7. #7
    Perfetto... (grazie per l'aiuto!)

    Ora mi aggiunge il record, ma è sempre vuoto: dove sbaglio nel passare le variabili (che vengono prese da un form html con azione POST)?

    Posto per comodità il codice qui sotto:

    Codice PHP:
                        // Passa le variabili alla query  
                         
    $marca=($POST['marca']);
                        
    $modello=($POST['modello']);
                        
    $anno=($POST['anno']);
                        
    $porte=($POST['porte']);
                        
    $cilindrata=($POST['cilindrata']);
                        
    $alimentazione=($POST['alimentazione']);
                        
    $descrizione=($POST['descrizione']); 
    "Quando uno è fatto così, è fatto per la roba"
    G.Verga - "La Roba"

  8. #8
    Utente di HTML.it
    Registrato dal
    Jun 2008
    Messaggi
    1,317
    si scrive $_POST e non $POST. e non servono le parentesi rotone.
    ( es. $marca=$_POST['marca']; )

  9. #9
    Grazie mille, sei stato gentilissimo!!
    "Quando uno è fatto così, è fatto per la roba"
    G.Verga - "La Roba"

  10. #10
    Ok... prossimo passo:

    L'immagine viene uppata, ed il percorso viene salvato correttamente nel database (grazie a ZACCA94 per le dritte di quest'ultima parte).

    Ora devo effettuare un ridimensionamento dell'immagine sul server, così da avere la thumbnail salvata nella cartella /images/ con il nome di thumb_XXXXX (dove XXXX è il nome della thumbnail, preso pari pari da quello del file della foto).

    Ho provato questo script, che però mi dà errore (lo riposto per intero, per motivi di completezza del codice).

    Grazie fin d'ora a chi avrà il buon cuore di aiutarmi!!

    Codice PHP:
    <?php

    /**
     * @author Davide
     * @copyright 2009
     */

        // Se il campo file da inviare è vuoto, restituisce un errore.
        
    if ($foto == "none")
        
        
    // Visualizza la finestra d'errore del file vuoto.
        
    echo "<BODY onLoad=\"javascript:alert('Il campo \"FOTO\" è vuoto. Compilarlo.')\">";
        
        else
            
        
    // 
        
    if ($foto 1024000)
        
            
    // Visualizza la finestra d'errore del file vuoto.
        
    echo "<BODY onLoad=\"javascript:alert('Il file è più grande di 1 MB. Caricarne uno più piccolo.')\">";
        
        else
        
        
    // Definisce la directory nella quale viene inviato il file
        
    define("UPLOAD_DIR""./images/");

        
    // Se la variabile $_POST è definita (ISSET) procede con l'invio
        
    if(isset($_POST['action']) and $_POST['action'] == 'upload')
        {
            if(isset(
    $_FILES['foto']))
            {
            
    $file $_FILES['foto'];
            if(
    $file['error'] == UPLOAD_ERR_OK and is_uploaded_file($file['tmp_name']))
                {
                
    move_uploaded_file($file['tmp_name'], UPLOAD_DIR.$file['name']);
                }
            }
        }    
        
         
    // Crea la thumbnail
         // Legge gli attributi del file (larghezza, altezza, tipo, attributi)
         
    list($width$height$type$attr) = getimagesize($_FILES['image']['tmp_name'].'$file');
         
         
    // Crea la thumbnail (120*90 pixels)
         
    $thumb imagecreatetruecolor(12090);
         
    $source imagecreatefromjpeg($_FILES['image']['tmp_name'].'$file');
         
    imagecopyresized($thumb$source000012090$width$height)
        
         
    // Salvo l'immagine ridimensionata
         
    imagejpeg($thumb$_FILES['image']['tmp_name']."/images/thumb_".'$file'75);
         
         @include 
    'config.inc.php';
        
         
    // Si collega al database
         
    $conn mysql_connect($hostname$username$password)
         or die(
    "Connessione non riuscita: 
    mysql_error());
         echo (
    "Connesso con successo... 
    "
    );
         
         
    // Seleziona il database
         
    mysql_select_db($database$conn);
         
                        
    // Passa le variabili alla query  
                        
    $url=UPLOAD_DIR.$file['name'];
                         
    $marca=$_POST['marca'];
                        
    $modello=$_POST['modello'];
                        
    $anno=$_POST['anno'];
                        
    $porte=$_POST['porte'];
                        
    $cilindrata=$_POST['cilindrata'];
                        
    $alimentazione=$_POST['alimentazione'];
                        
    $descrizione=$_POST['descrizione'];
                                                 
         
    // Inserisce nella tabella i dati passatigli dalla variabile
         
    $query2 "INSERT INTO `Sql254827_3`.`auto` (url, marca, modello, anno, cilindrata, porte, alimentazione, descrizione) VALUES ('$url','$marca','$modello','$anno','$cilindrata','$porte','$alimentazione','$descrizione')";

         
    // Esegue la query sul database ed inserisce i dati contenuti in query2
         
    $ri mysql_query$query2 $conn ) or die(mysql_error());
    Però mi dà errore sulla linea 50 (che è questa):

    Codice PHP:
       imagejpeg($thumb$_FILES['image']['tmp_name']."/images/thumb_".'$file'75); 
    Parse error: syntax error, unexpected T_STRING in engine.php on line 50

    E non ho capito perchè...
    "Quando uno è fatto così, è fatto per la roba"
    G.Verga - "La Roba"

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.