Visualizzazione dei risultati da 1 a 4 su 4

Discussione: php,mysql,upload file

  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2003
    Messaggi
    21

    php,mysql,upload file

    Salve a tutti,
    avrei bisogno di un aiuto.
    Devo fare l'upload di un file e salvare in una tabella di un database MySql questi dati (titolo,descrizione),che ricevo da una pagina con un form.
    Nella pagina che mi esegue ciò, in codice PHP, ho sia il codice per fare l'upload del file, che viene effettivamente fatto, che il codice per il salvataggio dei seguenti dati nella tabella:
    -titolo
    -descrizione
    -nomefile
    Il problema è che l'upload lo fa,ma mi da il messaggio "Erorre durante l'inserimento." nella tabella.
    Qualcuno di voi può aiutarmi?Spero di essere stato abbastanza chiaro.
    Vi allego il codice della pagina che esegue il tutto.Grazie
    Dave

    <?
    include("config.inc.php");
    $titolo = $_POST['titolo'];
    $descrizione=$_POST['descrizione'];

    $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");
    if ((trim($_POST['titolo']) == "") and (trim($_POST['descrizione']) == "") and (trim($_POST['file']) == ""))
    {
    ?>
    <script>
    alert ("devi riempire tutti i campi");
    javascript:history.back(-1);
    </script>
    <?
    }
    else{

    //CODICE DI UPLOAD

    // QUESTE RIGHE RENDONO LO SCRIPT COMPATIBILE CON LE VERSIONI
    // DI PHP PRECEDENTI ALLA 4.1.0
    if(!isset($_FILES)) $_FILES = $HTTP_POST_FILES;
    if(!isset($_SERVER)) $_SERVER = $HTTP_SERVER_VARS;

    /********************* VARIABILI DA SETTARE ********************/
    // Directory dove salvare i files Uploadati ( chmod 777, percorso assoluto)
    $upload_dir = $_SERVER["DOCUMENT_ROOT"] . "/documenti";

    // Eventuale nuovo nome da dare al file uploadato
    $new_name = "";

    // Se $new_name è vuota, il nome sarà lo stesso del file uploadato
    $file_name = ($new_name) ? $new_name : $_FILES["upfile"]["name"];
    if(trim($_FILES["upfile"]["name"]) == "") {

    die("Non hai indicato il file da uploadare !");

    }

    if(@is_uploaded_file($_FILES["upfile"]["tmp_name"])) {

    @move_uploaded_file($_FILES["upfile"]["tmp_name"], "$upload_dir/$file_name")
    or die("Impossibile spostare il file, controlla l'esistenza o i permessi della directory dove fare l'upload.");

    } else {

    die("Problemi nell'upload del file " . $_FILES["upfile"]["name"]);

    }

    echo "L'upload del file " . $_FILES["upfile"]["name"] . " è avvenuto correttamente";
    $nomefile=$file_name;
    //FINE CODICE UPLOAD

    $query = "INSERT INTO offerte_speciali (titolo, descrizione, file) VALUES ('$titolo', '$descrizione', '$nomefile')";
    if (mysql_query($query, $db)) {
    ?>
    <script>
    alert ("I dati sono stati inseriti.");
    javascript:history.back(-1);
    javascript:location.reload();
    </script>
    <?
    }
    else {
    ?>
    <script>
    alert ("Erorre durante l'inserimento.");
    javascript:history.back(-1);
    </script>
    <?
    }
    }
    mysql_close($db);
    ?>


  2. #2
    codice:
    $titolo = addslashes($titolo);
    $descrizione = addslashes($descrizione);
    $nomefile = addslashes($nomefile);
    $query = "INSERT INTO offerte_speciali (titolo, descrizione, file) 
              VALUES ('$titolo', '$descrizione', '$nomefile')";
    
    mysql_query($query, $db);
    if(mysql_affected_rows($db) == 0) {
         echo "Errore nella query:
    ".mysql_error()."
    
    Query:
    $query";
    } else {
         echo "<script>
                alert('I dati sono stati inseriti.');
                javascript:history.back(-1);
                javascript:location.reload();
               </script>";
    }
    mysql_close($db); 
    ?>
    E' la mia opinione ed io la condivido
    Non condivido la tua idea ma darei la vita perché tu la possa esprimere (Voltaire)
    Scrivi sul muro

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2003
    Messaggi
    21

    php,mysql,upload file

    Thx...ho provato il tuo codice ma mi dà il messaggio di "l'upload del file niomefile.txt è avvenuto correttamente", ma come al solito non mi salva i dati nel db.Il db è composto da vari db nominati:
    nomedb_1
    nomedb_2
    nomedb_3
    mi sorge un dubbio: non è che devo indicare il db?
    Anche se poi viene caricano dal file di configurazione con la riga di codice: include("config.inc.php");
    in cui ho la variabile: $db_name
    Allego l'intero codice della pagina che ho provato:

    <?
    include("config.inc.php");
    $titolo = $_POST['titolo'];
    $descrizione=$_POST['descrizione'];

    $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");
    if ((trim($_POST['titolo']) == "") and (trim($_POST['descrizione']) == "") and (trim($_POST['file']) == ""))
    {
    ?>
    <script>
    alert ("devi riempire tutti i campi");
    javascript:history.back(-1);
    </script>
    <?
    }
    else{

    //CODICE DI UPLOAD

    // QUESTE RIGHE RENDONO LO SCRIPT COMPATIBILE CON LE VERSIONI
    // DI PHP PRECEDENTI ALLA 4.1.0
    if(!isset($_FILES)) $_FILES = $HTTP_POST_FILES;
    if(!isset($_SERVER)) $_SERVER = $HTTP_SERVER_VARS;

    /********************* VARIABILI DA SETTARE ********************/
    // Directory dove salvare i files Uploadati ( chmod 777, percorso assoluto)
    $upload_dir = $_SERVER["DOCUMENT_ROOT"] . "/prova/service/vb/admin/immagini";

    // Eventuale nuovo nome da dare al file uploadato
    $new_name = "";

    // Se $new_name è vuota, il nome sarà lo stesso del file uploadato
    $file_name = ($new_name) ? $new_name : $_FILES["upfile"]["name"];
    if(trim($_FILES["upfile"]["name"]) == "") {

    die("Non hai indicato il file da uploadare !");

    }

    if(@is_uploaded_file($_FILES["upfile"]["tmp_name"])) {

    @move_uploaded_file($_FILES["upfile"]["tmp_name"], "$upload_dir/$file_name")
    or die("Impossibile spostare il file, controlla l'esistenza o i permessi della directory dove fare l'upload.");

    } else {

    die("Problemi nell'upload del file " . $_FILES["upfile"]["name"]);

    }

    echo "L'upload del file " . $_FILES["upfile"]["name"] . " è avvenuto correttamente";
    $nomefile=$file_name;
    //FINE CODICE UPLOAD

    $titolo = addslashes($titolo);
    $descrizione = addslashes($descrizione);
    $nomefile = addslashes($nomefile);
    $query = "INSERT INTO offerte_speciali (titolo, descrizione, file) VALUES ('$titolo', '$descrizione', '$nomefile')";
    mysql_query($query, $db);
    if(mysql_affected_rows($db) == 0) {
    echo "Errore nella query:
    ".mysql_error()."

    Query:
    $query";
    } else {
    echo "<script>
    alert('I dati sono stati inseriti.');
    java script:history.back(-1);
    java script:location.reload();
    </script>";
    }
    }
    mysql_close($db);
    ?>

    Grazie ancora a chiunque vorrà aiutarmi
    Dave

  4. #4
    Utente di HTML.it
    Registrato dal
    Jul 2003
    Messaggi
    21

    php,mysql,upload file

    dimenticavo....ora mi dà un errore sulla barra di stato e sulla finestra di Internet Explorer che si apre indica:
    Riga: 3
    Carattere: 18
    Errore: Previsto ';'
    Codice: 0
    URL: inserisciofferta.php

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.