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

    upload file multipli e mysql

    Ciao ragazzi, ho la necessità di dare la possibilità agli utenti del mio sito di inserire in automatico le foto e la recensione selle proprie auto, ho trovato una pillola nel forum per caricare file multipli ma non riesco a mandarli nel db
    Lo script si trova in questa pagina http://forum.html.it/forum/register....355&i=68937804
    La tabella sql e la seguente:

    CREATE TABLE `utenti` (
    `idUtente` int(10) unsigned NOT NULL auto_increment,
    `nome` varchar(50) NOT NULL,
    `cognome` varchar(50) NOT NULL,
    `modello` varchar(50) NOT NULL,
    `moto` varchar(50) NOT NULL,
    `anteprimaDescrizione` varchar(255) NOT NULL,
    `descrizione` text NOT NULL,
    `data` int(11) default NULL,
    `mail` varchar(50) default NULL,
    `foto_01` varchar(20) default NULL,
    `foto_02` varchar(20) default NULL,
    `foto_03` varchar(20) default NULL,
    `foto_04` varchar(20) default NULL,
    `foto_05` varchar(20) default NULL,
    `foto_06` varchar(20) default NULL,
    `foto_07` varchar(20) default NULL,
    `foto_08` varchar(20) default NULL,
    `foto_09` varchar(20) default NULL,
    `foto_10` varchar(20) default NULL,
    PRIMARY KEY (`idUtente`)
    );
    se qualcuno sa come implementarla e volesse auitarmi !!!
    Grazie

  2. #2
    posta il codice del upload e inserimento dati nel db

  3. #3
    Pagina "config.php

    <?php
    $dir_upload="../admin/gallery/"; // DIRECTORY DOVE EFFETTUARE L'UPLOAD
    $chmod_dir=0700; // PERMESSI DELLA DIRECTORY
    $debug=0; // 1=STAMPA ALCUNE SEMPLICI INFORMAZIONI DI DEBUG, 0=NON STAMPARE
    $sovrascrivi_file=0; // 1=SOVRASCRIVI I FILES SE ESISTENTI, 0=NON SOVRASCRIVERE I FILES
    $dim_massima=10000; // DIMENSIONE MASSIMA UPLOAD IN KB
    $check_tipi=1; //1=CONTROLLA IL TIPO DI FILE, 0=NON CONTROLLARE
    $tipi_permessi=array( //ARRAY PER ALCUNI TIPI DI FILE
    "text/plain","text/html","text/xml",
    "image/jpeg",
    "image/pjpeg",
    "image/gif",
    "image/png",
    );
    ?>

    -------------------------------------------
    Nome pagina "upload.class.php

    <?php
    // file upload.class.php
    //
    // Marco Barcaro
    // 27/12/2004
    // Testato con Apache 1.3.29, PHP 4.3.10, su winXP
    // Testato con Apache 1.3.26, PHP 4.1.2, su Debian

    $dir_upload=(substr($dir_upload,-1) != "/" && $dir_upload != "") ? $dir_upload."/" : $dir_upload;
    define("DIR_UPLOAD",$dir_upload);
    define("CHMOD_DIR",$chmod_dir);
    define("DEBUG",$debug);
    define("SOVRASCRIVI_FILE",$sovrascrivi_file);
    define("DIM_MASSIMA",$dim_massima*1024);
    define("CHECK_TIPI",$check_tipi);
    define("TIPI_PERMESSI",implode("|",$tipi_permessi) );

    class upload {
    function upload(){
    }

    function caricafile(){
    //CODICE PER L'UPLOAD CON VARI CONTROLLI
    if (count($_FILES) > 0){
    $numero_file= count($_FILES['file']['tmp_name']);
    for($i=0;$i<$numero_file;$i++){
    if($_FILES['file']['size'][$i] == 0){
    echo "L'UPLOAD DEL FILE {$_FILES['file']['name'][$i]} NON E' ANDATO A BUON FINE!
    \n";
    unset( $_FILES['file']['name'][$i]);
    unset( $_FILES['file']['type'][$i]);
    unset( $_FILES['file']['size'][$i]);
    unset( $_FILES['file']['error'][$i]);
    unset( $_FILES['file']['tmp_name'][$i]);
    }
    }
    $numero_file=count( $_FILES['file']['tmp_name']);
    echo "Hai caricato $numero_file file(s)";
    echo "

    \n";
    foreach($_FILES['file']['name'] as $chiave=>$valore){
    if (DEBUG == 1){
    echo "Nome file: ".$_FILES['file']['name'][$chiave]."
    \n";
    echo "Tipo file: ".$_FILES['file']['type'][$chiave]."
    \n";
    echo "Dimensione: ".$_FILES['file']['size'][$chiave]." byte
    \n";
    echo "Nome temporaneo: ".$_FILES['file']['tmp_name'][$chiave]."
    \n";
    }
    if (is_uploaded_file( $_FILES['file']['tmp_name'][$chiave])){
    if ($_FILES['file']['size'][$chiave] <= DIM_MASSIMA){
    if(CHECK_TIPI == 0 || (CHECK_TIPI == 1 && in_array( $_FILES['file']['type'][$chiave], explode("|",TIPI_PERMESSI)))){
    if(!is_dir(DIR_UPLOAD) && DIR_UPLOAD != ""){
    if( !@mkdir(DIR_UPLOAD,CHMOD_DIR))
    die("ERRORE NELLA CREAZIONE DELLA DIRECTORY ".DIR_UPLOAD."");
    }
    if(!file_exists(DIR_UPLOAD.$_FILES['file']['name'][$chiave]) || SOVRASCRIVI_FILE == 1){
    if (@move_uploaded_file( $_FILES['file']['tmp_name'][$chiave], DIR_UPLOAD.$_FILES['file']['name'][$chiave]))
    echo "FILE {$_FILES['file']['name'][$chiave]} TRASFERITO! ";
    else
    die("ERRORE NEL TRASFERIMENTO DEL FILE ".$_FILES['file']['name'][$chiave]."");
    } else
    echo ("IL FILE ".$_FILES['file']['name'][$chiave]." E' ESISTENTE!");
    } else
    echo ("IL TIPO DI FILE ".$_FILES['file']['type'][$chiave]." NON E' CONSENTITO!");
    } else
    echo ("LA DIMENSIONE DEL FILE ".$_FILES['file']['type'][$chiave]." NON E' CONSENTITA!");
    } else
    die("ERRORE NEL TRASFERIMENTO DEL FILE ".$_FILES['file']['name'][$chiave]."");
    echo "<hr />\n";
    }
    }
    }

    function mostraform(){
    //FORM PER EFFETTUARE L'UPLOAD
    echo "<html>
    <head>
    <script type=\"text/javascript\" src=\"esterno.js\"></script>
    </head>
    <body>
    <form action=\"{$_SERVER['PHP_SELF']}\" method=\"POST\" name=\"modulo\" enctype=\"multipart/form-data\">
    <div id=\"attachment\" style=\"display:none\">
    <input id=\"file\" name=\"file\" type=\"file\" size=\"55\" />
    <a href=\"#\" onclick=\"javascript:removeFile(this.parentNode.pa rentNode,this.parentNode);\"> Rimuovi</a>
    </div>
    <div id=\"attachments\">

    <a id=\"addupload\" href=\"javascript:addUpload('file')\">Aggiungi file</a>


    <input name=\"file[]\" type=\"text\" size=\"55\" />
    <input name=\"file[]\" type=\"file\" size=\"55\" />
    <span id=\"attachmentmarker\"></span>
    </div>
    <input type=\"hidden\" name=\"MAX_FILE_SIZE\" value=\"".DIM_MASSIMA."\" />
    <input type=\"submit\" value=\"invia\" />
    </form>
    </body>
    </html>\n";
    }
    }
    ?>
    -----------------------------------------------------------
    questo è il codice per caricare i file che ho trovato nel forum insieme allo script "esterno.php":

    var max = 0; // maximum # of attachments allowed
    var currentUploads = 0; // current # of attachment sections on the web page
    var nameDesc = ''; // Name property for the Description Input field
    var nameFile = ''; // Name property for the File Input field
    var scrollPosVert = 0; // stores the current scroll position on the form

    // for some reason when a div is taken out, the form
    // will scroll to the top on both Firefox and IE

    // SCROLL FUNCTIONS
    function saveScrollPos(offset){
    scrollPosVert=(document.all)?document.body.scrollT op:window.pageYOffset-offset;
    }

    function setScrollPos(){
    window.scrollTo(0, scrollPosVert);
    setTimeout('window.scrollTo(0, scrollPosVert)',1);
    }


    // This function adds a new attachment section to the form
    // It is called when the user clicks the "Attach a file" button...
    // It takes three arguments:
    // maxUploads - the maximum number of attachments allowed
    // descFieldName - the field name for the Description Input field
    // fileFieldName - the field name for the File Input field
    function addUpload(fileFieldName){
    nameFile=fileFieldName;
    currentUploads++;
    if (currentUploads>9) return;
    if (currentUploads>0)
    document.getElementById('addupload').childNodes[0].data='Aggiungi file';
    // First, clone the hidden attachment section
    var newFields = document.getElementById('attachment').cloneNode(tr ue);
    newFields.id = '';
    // Make the new attachments section visible
    newFields.style.display = 'block';
    // loop through tags in the new Attachment section
    // and set ID and NAME properties
    //
    // NOTE: the control names for the Description Input
    // field and the file input field are created
    // by appending the currentUploads variable
    // value to the nameFile and nameDesc values
    // respectively
    //
    // In terms of Xaraya, this means you'll need to name your
    // DD properties will need names like the following:
    // "AttachmentDesc1"
    // "AttachmentFile1"
    // "AttachmentDesc2"
    // "AttachmentFile2"
    // "AttachmentDesc3"
    // "AttachmentFile3"
    // et cetera...
    var newField = newFields.childNodes;
    for (var i=0;i<newField.length;i++){
    if (newField[i].name==nameFile){
    newField[i].id=nameFile+currentUploads;
    newField[i].name=nameFile+'[]';
    //newField[i].name=nameFile+currentUploads;
    }
    }
    // Insert our new Attachment section into the Attachments Div
    // on the form...
    var insertHere = document.getElementById('attachmentmarker');
    insertHere.parentNode.insertBefore(newFields,inser tHere);
    }



    // This function removes an attachment from the form
    // and updates the ID and Name properties of all other
    // Attachment sections
    function removeFile(container, item){
    // get the ID number of the upload section to remove
    var tmp = item.getElementsByTagName('input')[0];
    var basefieldname = '';
    basefieldname = nameFile;
    var iRemove=Number(tmp.id.substring(basefieldname.leng th, tmp.id.length));
    // Shift all INPUT field IDs and NAMEs down by one (for fields with a
    // higher ID than the one being removed)
    var x = document.getElementById('attachments').getElements ByTagName('input');
    for (i=0;i<x.length;i++){
    basefieldname=nameFile;
    var iEdit = Number(x[i].id.substring(basefieldname.length, x[i].id.length));
    if (iEdit>iRemove){
    x[i].id=basefieldname+(iEdit-1);
    x[i].name=basefieldname+(iEdit-1);
    }
    }

    // Run through all the DropCap divs (the number to the right of the attachment
    // section) and update that number...
    x=document.getElementById('attachments').getElemen tsByTagName('div');
    for (i=0;i<x.length;i++){
    // Verify this is actually the "dropcap" div
    if (x[i].id.substring(0, String('dropcap').length)=='dropcap'){
    ID = Number(x[i].id.substring(String('dropcap').length, x[i].id.length));
    // check to see if current attachment had a higher ID than the one we're
    // removing (and thus needs to have its ID dropped)
    if (ID>iRemove){
    x[i].id='dropcap'+(ID-1);
    x[i].childNodes[0].data=(ID-1);
    }
    }
    }

    currentUploads--;
    saveScrollPos(0);
    container.removeChild(item);
    setScrollPos();
    document.getElementById('addupload').style.visibil ity='visible';
    if (currentUploads==0)
    document.getElementById('addupload').childNodes[0].data='Aggiungi file';
    }

    Ora devo passare i dati in questa pagina che ho creato
    nome pagina "insert.php" che va ad inserire tutto nel db

    <?
    include ("config.inc.php");
    ?>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <title>Inserimento recensione</title>
    </head>
    <body>
    <table width="100%" >
    <tr width="40px"><td height="79" ></td>
    </tr>
    <tr><td>
    <h1 class="Stile1">Inserisci moto </h1>

    <form method=post action= save.php>


    * Nome: <input type="text" size=40 name="nome">

    (Sarà visualizzato nella recensione insiame al modello)</p>


    * Cogmome:
    <input type="text" size="40" name="cogmome" />


    (Non sar&agrave; visualizzato nella recensione)



    *Modello:
    <input type="text" size="40" name="modello" />
    </p>




    *Marca:
    <select name="moto">
    <option value="APRILIA">APRILIA</option>
    <option value="BENELLI">BENELLI</option>
    <option value="BETA">BETA</option>
    <option value="BMW">BMW</option>
    <option value="CAGIVA">CAGIVA</option>
    <option value="DERBI">DERBI</option>
    <option value="DUCATI">DUCATI</option>
    <option value="GILERA">GILERA</option>
    <option value="HARLEY DAVIDSON">HARLEY DAVIDSON</option>
    <option value="HM">HM</option>
    <option value="HONDA">HONDA</option>
    <option value="ITALJET">ITALJET</option>
    <option value="KAWASAKI">KAWASAKI</option>
    <option value="KTM">KTM</option>
    <option value="MALAGUTTI">MALAGUTTI</option>
    <option value="MBK">MBK</option>
    <option value="MOTOGUZZI">MOTOGUZZI</option>
    <option value="MORINI">MORINI</option>
    <option value="PEUGEOT">PEUGEOT</option>
    <option value="20">PIAGGIO</option>
    <option value="SUZUKI">SUZUKI</option>
    <option value="TM">TM</option>
    <option value="TRIUNPH">TRIUNPH</option>
    <option value="VESPA">VESPA</option>
    <option value="YAMAHA">YAMAHA</option>
    <option value="ALTRO">ALTRO</option>
    </select>
    </p>






    Titolo della recensione:
    <input type="text" size="40" name="anteprimaDescrizione" />
    </p>




    Descrizione:
    <textarea name="descrizione" cols="60"></textarea>
    </p>






    mail:
    <input type="text" size="40" name="mail" />

    (per avvisarti dell'avvenuto inserimento al link)</p>





    Allega le foto:</p>



    Foto 01: <input name="foto_01" type="text">
    Foto 02: <input name="foto_02" type="text">
    Foto 03: <input name="foto_03" type="text">
    Foto 04: <input name="foto_04" type="text">
    Foto 05: <input name="foto_05" type="text">
    Foto 06: <input name="foto_06" type="text">
    Foto 07: <input name="foto_07" type="text">
    Foto 08: <input name="foto_08" type="text">
    Foto 09: <input name="foto_09" type="text">
    Foto 10: <input name="foto_10" type="text">



    <input type=submit value=invia>
    </p>
    </p>

    </form></td>
    </tr>
    </table>



    </body>
    </html>

    Spero di farti capire !!!

  4. #4
    Utente di HTML.it L'avatar di mariox
    Registrato dal
    Nov 2006
    Messaggi
    837
    io non trovo il codice che inserisce all'interno del db le directory delle immagini uplodate....

  5. #5
    mancano le query per eseguire l'inserimento nel db...



  6. #6
    nome pagina "save.php"

    <?

    include("config.inc.php");


    if (trim($nome) == "" OR trim($descrizione) == ""):
    echo "I campi nome e descrizione devono essere riempiti!";
    else:
    $nome = addslashes(stripslashes($nome));
    $anteprimaDescrizione = addslashes(stripslashes($anteprimaDescrizione));

    $descrizione = addslashes(stripslashes($descrizione));
    $nome = str_replace("<", "&lt;", $nome);
    $nome = str_replace(">", "&gt;", $nome);
    $anteprimaDescrizione = str_replace("<", "&lt;", $anteprimaDescrizione);
    $anteprimaDescrizione = str_replace(">", "&gt;", $anteprimaDescrizione);
    $descrizione = str_replace("<", "&lt;", $descrizione);
    $descrizione = str_replace(">", "&gt;", $descrizione);
    $descrizione = nl2br($descrizione);
    $moto;
    $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");

    $query = "INSERT INTO utenti (nome, cognome, modello, moto, anteprimaDescrizione, descrizione, mail, foto_01, foto_02, foto_03, foto_04, foto_05, foto_06, foto_07, foto_08, foto_09, foto_10) VALUES ('$nome', '$cognome', '$modello', '$moto', '$anteprimaDescrizione', '$descrizione', '$mail', '$foto_01', '$foto_02', '$foto_03', '$foto_04', '$foto_05', '$foto_06', '$foto_07', '$foto_08', '$foto_09', '$foto_10')";
    if (mysql_query($query, $db))
    echo "La recensione è stata inserita correttamente";
    else
    echo "Errore durante l'inserimento";
    mysql_close($db);
    endif;

    ?>
    <html>
    <head>
    <title></title>
    </head>
    <body>
    sono qui!!!!
    </body>
    </html>
    -----------------------------------------------------------------------
    sono queste ma non riesco ad implementarle con i nomi delle foto !!!

  7. #7
    Utente di HTML.it L'avatar di mariox
    Registrato dal
    Nov 2006
    Messaggi
    837
    la form che hai creato è sbagliata: come mostra l'esempio sul forum, devi richiamare l'stanza della classe upload.class.php:

    Codice PHP:


    require_once("config.php");
    require_once(
    "upload.class.php");

    // ISTANZIA LA CLASSE
    $upload=new upload();
    // SE L'ARRAY $_FILES CONTIENE QUALCOSA ESEGUI IL CODICE PER CARICARE I FILE
    if (count($_FILES) > 0)
        
    $upload->caricafile();
    // ALTRIMENTI MOSTRA IL FORM PER L'UPLOAD
    else
        
    $upload->mostraform(); 

  8. #8
    si effettivamente e così ma come faccio a caricare nel database ogni fùsingola foto ese foto 1 foto 2 ....
    Devo andare ma questa sera ci perdo ancora la testa

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.