Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2007
    Messaggi
    36

    Upload dei file in Mysql-Aiuto!!!!!!

    Ciao a tutti ho un grosso problema nell'eseguire un upload che mi permette di caricare in Mysql un file da pagina html.

    Nella pagina HTML ho inserito questa istruzione per poter scegliere il file da uploadare

    <input type="file" name="file_binario" size="40">


    Nella pagina PHP invece ho messo queste istruzioni

    if(!isset($_POST)) $_POST = $HTTP_POST_VARS;
    $self = isset($_SERVER) ? $_SERVER["PHP_SELF"] : $HTTP_SERVER_VARS["PHP_SELF"];

    $pass=$_REQUEST['pass'];
    $user=$_REQUEST['user'];
    $reparto=$_REQUEST['reparto'];
    $problema=$_REQUEST['problema'];
    $descrizione=$_REQUEST['descrizione'];
    $pass=$_REQUEST['pass'];

    if ($pass != $password): echo "Password errata";

    $db = mysql_connect($db_host, $db_user, $db_password);
    if ($db == FALSE)
    die ("Errore nella connessione. Verificare i parametri nel file config.inc.php");

    mysql_select_db($db_name, $db)
    or die ("Errore nella selezione del database. Verificare i parametri nel file config.inc.php");

    $data = addslashes(fread(fopen($_FILES["file_binario"]["tmp_name"], "rb"), $_FILES["file_binario"]["size"]));

    $query = "INSERT INTO richieste (user, descrizione, data, reparto, problema,DatiBinari, Nome, Size, Type) VALUES ('$user', '$descrizione', null, '$reparto', '$problema','$data','" . $_FILES["file_binario"]["name"] . "',
    '" . $_FILES["file_binario"]["size"] . "','" . $_FILES["file_binario"]["type"] . "')";


    Ci sono anche altre istruzioni ma sono controlli e elaborazioni delle stringhe e non danno problemi poichè gli altri campi inseriti nella FORM vengono ricevuti e inseriti nel database.
    Il mio problema è che mi esce questo errore

    Notice: Undefined index: file_binario in c:\programmi\easyphp1-www\save.php on line 48

    Per ogni volta che "file_binario"è ripetuto nel codice viene generato questo errrore. io penso che all'inizio non l'ho ricevuto dalla form con un'itruzione tipo

    $file_binario=$_REQUEST['file_binario'];

    ma così non mi funziona quindi spero che qualche guru che ne sa di più di me in php mi dia una perla di saggezza

    Grazie

  2. #2
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    sei sicuro dell'intestazione del form (multipart etc etc?) se manca quella, i file non vengono trasmessi. Posta il codice del form.
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2007
    Messaggi
    36
    <?
    include ("config.inc.php");
    include ("top_foot.inc.php");

    //intestazione
    top();
    ?>
    <div align="center">
    <form method="post" action="save.php" align='center'>
    Inserisci il tuo nominativo

    <select name="user">
    <option value="Maraglio">Alberto Maraglio</option>
    <option value="Magno">Alice Magno</option>
    <option value="Gandini_A">Andrea Gandini</option>
    <option value="Bani">AnnaMaria Bani</option>
    <option value="Azim">Azim Ebrahim</option>
    <option value="Bernardi">Barbara Bernardi</option>
    <option value="Salustri">Carla Salustri</option>
    <option value="Nazzari">Carlo Nazzari</option>
    <option value="Saccomandi">Carlo Saccomandi</option>
    <option value="Pezzera">Carlo Pezzera</option>
    <option value="Centralino">Centralino Renata</option>
    <option value="Parisi">Davide Parisi</option>
    <option value="Albani">Federico Albani</option>
    <option value="Gandini_G">Gandini Giovanni</option>
    <option value="Zanini">Giacomo Zanini</option>
    <option value="Leporati">Igor Leporati</option>
    <option value="Livani">Livani Alessandro</option>
    <option value="Pasinetti">Luca Pasinetti</option>
    <option value="Teocchi">Luciano Teocchi</option>
    <option value="Cortinovis_Man">Manuel Cortinovis</option>
    <option value="Cortinovis_Marc">Marco Cortinovis</option>
    <option value="Esposito">Marco Esposito</option>
    <option value="Maraccani">Maraccani Giovanni</option>
    <option value="Alborghetti">Marina Alborghetti</option>
    <option value="Crippa">Mario Crippa</option>
    <option value="Nervi">Massimiliano Nervi</option>
    <option value="Rota">Michela Rota</option>
    <option value="Zanetti">Michela Zanetti</option>
    <option value="Minali">Minali Pietro</option>
    <option value="Mosca">Mosca Giusi</option>
    <option value="Oldoni">Oldoni Alessandro</option>
    <option value="Bertozzi">Paolo Bertozzi</option>
    <option value="Cattaneo">Paolo Cattaneo</option>
    <option value="Mazzola">Ronny Mazzola</option>
    <option value="Riva">Sara Riva</option>
    <option value="Signori">Silvana Signori</option>
    <option value="Vigani">William Vigani</option>
    <option value="Moscheni">Zaira Moscheni</option>
    </select>


    Reparto:
    <select name="reparto">
    <option value="acq">Acquisti</option>
    <option value="amn">Amministrazione</option>
    <option value="com">Commerciale</option>
    <option value="dir">Direzione</option>
    <option value="ext">Estero</option>
    <option value="mag">Magazzino</option>
    <option value="prod">Produzione</option>
    <option value="qlt">Qualità</option>
    </select>


    Il tuo problema è relativo a:
    <select name="problema">
    <option value="Posta elettronica">Posta elettronica</option>
    <option value="Stratega">Stratega</option>
    <option value="Stampanti">Stampanti</option>
    <option value="Software">Installazione software</option>
    <option value="Office">Office</option>
    <option value="Altro">Altro</option>
    </select>


    Descrivi brevemente il tuo problema

    <textarea cols="30" rows="10" name="descrizione"></textarea>






    <input type="file" name="file_binario" size="40">

    <a href="http://localhost/upload.php">Clicca su questo link se vuoi mandarci una videata del tuo problema(tasto stamp e incolla su un documento WORD)


    </a>
    Password(per voi utenti è PAX):

    <input type="password" size="40" name="pass" value="PAX" />



    <input type="submit" value="Invia" />
    </form>
    <?

    foot();
    ?>

    Riesci a indicarmi quale istruzione devo aggiungere?

  4. #4
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    Sì, il tuo form non trasmetterà mai e poi mai i dati... mancano le paroline magiche (niente perpiacere, grazie )

    codice:
    <form enctype="multipart/form-data" method="post" action="save.php" align='center'>
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  5. #5
    Utente di HTML.it
    Registrato dal
    Jun 2007
    Messaggi
    36
    Ho inserito la tua istruzione ma nn mi è cambiato niente.....mi da gli stessi errori.....

  6. #6
    Utente di HTML.it
    Registrato dal
    Jun 2007
    Messaggi
    36
    A questo punto ecco il codice di save.php così hai tutto sott'occhio

    <?
    //includo le funzioni e il file con i dati per l'accesso
    include("top_foot.inc.php");
    include("config.inc.php");
    top();

    if(!isset($_POST)) $_POST = $HTTP_POST_VARS;
    $self = isset($_SERVER) ? $_SERVER["PHP_SELF"] : $HTTP_SERVER_VARS["PHP_SELF"];

    $pass=$_REQUEST['pass'];
    $user=$_REQUEST['user'];
    $reparto=$_REQUEST['reparto'];
    $problema=$_REQUEST['problema'];
    $descrizione=$_REQUEST['descrizione'];
    $pass=$_REQUEST['pass'];



    //controllo ke la password inserita sia quella registrata nel file config
    if ($pass != $password): echo "Password errata";

    //controllo ke i campi titolo e testo siano stati inseriti poichè sono NOT NULL
    //la funzione TRIM fa si ke vengano eliminati gli spazi vuoti dall'inizio alla fine della stringa
    elseif (trim('user') == "" OR trim('descrizione') == ""):
    echo "I campi user e descrizione devono essere riempiti!";

    //togliamo i caratteri particolari
    else :

    $descrizione = addslashes(stripslashes($descrizione));
    //sostituiamo questi simboli con quelli che non vanno in conflitto con il codice html
    $descrizione = str_replace("<", "&lt;", $descrizione);
    $descrizione = str_replace(">", "&gt;", $descrizione);
    $descrizione = nl2br($descrizione);
    //converto la data in formato TIMESTAMP

    //ora per inserire i dati mi riconnetto al database
    $db = mysql_connect($db_host, $db_user, $db_password);
    if ($db == FALSE)
    die ("Errore nella connessione. Verificare i parametri nel file config.inc.php");

    mysql_select_db($db_name, $db)
    or die ("Errore nella selezione del database. Verificare i parametri nel file config.inc.php");

    $data = addslashes(fread(fopen($_FILES["file_binario"]["tmp_name"], "rb"), $_FILES["file_binario"]["size"]));
    //creo una query INSERT INTO senza specificare la colonna ID perchè viene incrementata automaticamente
    //in values specifico i valori dei campi tra apici ke possono essere omessi se i valori sono numeri
    $query = "INSERT INTO richieste (user, descrizione, data, reparto, problema,DatiBinari, Nome, Size, Type) VALUES ('$user', '$descrizione', null, '$reparto', '$problema','$data','" . $_FILES["file_binario"]["name"] . "',
    '" . $_FILES["file_binario"]["size"] . "','" . $_FILES["file_binario"]["type"] . "')";
    //ora controllo ke la query sia stata eseguita correttamente
    if (mysql_query($query, $db))
    echo "L'articolo è stato inserito correttamente
    <a href=http://localhost/insert.php>Torna indietro</a>";

    else
    echo "Errore durante l'inserimento";
    mysql_close($db);?>
    <?
    endif; // chiude la verifica della presenza dei dati


    foot();
    ?>

  7. #7
    Utente di HTML.it
    Registrato dal
    Jun 2007
    Messaggi
    36
    Guarda x un banale errore non mi sono accorto ke con l'aggiunta della tua istruzione funziona tutto alla grande di ringrazio infinitamente sei un grande!!!

  8. #8
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

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 © 2024 vBulletin Solutions, Inc. All rights reserved.