Pagina 2 di 3 primaprima 1 2 3 ultimoultimo
Visualizzazione dei risultati da 11 a 20 su 24
  1. #11
    innanzitutto c'e' un errore nel form; entrambi i campi file hanno lo stesso nome, devi usarne uno per il pdf e uno per la foto. Poi non c'e' bisogno di modificare nulla nella pagina del form, basta prendere le due variabili che vengono dal form, anteporre il percorso e inviare tutto al db...

    poi devi ripetere questo codice per l'upload del pdf cambiando nome alla variabile

    elseif ($error == UPLOAD_ERR_OK) {
    $tmp_name = $_FILES["file"]["tmp_name"][$key];
    $name = $_FILES["file"]["name"][$key];
    move_uploaded_file($tmp_name, "../upload/nuovo/$name");
    print("Inserimento avvenuto correttamente");
    }

  2. #12
    Utente di HTML.it L'avatar di telegio
    Registrato dal
    Sep 2001
    Messaggi
    2,591
    il percorso ASSOLUTO è una cosa. il nome che salvi nel DB è un'altra...

  3. #13
    Ok, il mio ultimo dubbio riguarda questa parte di codice

    Codice PHP:
    foreach ($_FILES["file"]["error"] as $key => $error) {

        if((
    $nome == "")) {
            print(
    "Inserire tutte le informazioni");
            }
        
        elseif (
    $error == UPLOAD_ERR_OK) {
            
    $tmp_name $_FILES["file"]["tmp_name"][$key];
            
    $name $_FILES["file"]["name"][$key];
            
    move_uploaded_file($tmp_name"../upload/nuovo/".$name);
                print(
    "Inserimento avvenuto correttamente");
            }
            
        else {
            print(
    "Inserire tutte le informazioni");
            }


    Qui infatti, se non erro, tutti i nomi raccolti nel form vengono raggruppati nella variabile $name e non capisco come scinderli per presentarli in due variabili distinte da inserire nel DB.
    Stefano
    Creazione siti Internet - Udine: SC web designer

  4. #14
    prova così
    dove i due nomi dei campi tipo FILE del form dati sono 'FOTO' e 'PDF'
    o comunque io seguire questa struttura per sommi capi...

    Codice PHP:
    foreach ($_FILES["file"]["error"] as $key => $error) { 

        if((
    $nome == "")) { 
            print(
    "Inserire tutte le informazioni"); 
            } 
         
        elseif (
    $error == UPLOAD_ERR_OK) { 
            
    $tmp_name $_FILES["FOTO"]["tmp_name"][$key]; 
            
    $name_FOTO $_FILES["FOTO"]["name"][$key]; 
            
    move_uploaded_file($tmp_name"../upload/nuovo/".$name_FOTO); 
                print(
    "Inserimento avvenuto correttamente"); 
            } 

            elseif (
    $error == UPLOAD_ERR_OK) { 
            
    $tmp_name $_FILES["PDF"]["tmp_name"][$key]; 
            
    $name_PDF $_FILES["PDF"]["name"][$key]; 
            
    move_uploaded_file($tmp_name"../upload/nuovo/".$name_PDF); 
                print(
    "Inserimento avvenuto correttamente"); 
            } 
      
        else { 
            print(
    "Inserire tutte le informazioni"); 
            } 



  5. #15
    Mi restituisce queste notifiche..


    Warning: Invalid argument supplied for foreach() in c:\programmi\easyphp1-8\www\admin\upload_nuovo.php on line 6

    Notice: Undefined variable: name_FOTO in c:\programmi\easyphp1-8\www\admin\upload_nuovo.php on line 39

    Notice: Undefined variable: name_PDF in c:\programmi\easyphp1-8\www\admin\upload_nuovo.php on line 39
    Stefano
    Creazione siti Internet - Udine: SC web designer

  6. #16
    a patto che tu abbia cambiato i nomi dei campi file nel form dati, prova ad eliminare per il momento il foreach, che fa il controllo su un campo tipo file con nome FILE, poi magari il controllo lo fai dopo in altro modo...

    Se non dovessi riuscire neanche cosi', allora scrivimi esattamente cosa deve fare il tuo script, quali controlli devi effettuare e attraverso quale percorso dei caricare i tuoi files che, appena ho un po' di tempo, provo a farti qualcosa io

  7. #17
    Ho provato un bel pò di soluzioni...riducendo il codice al minimo, quindi togliendo il foreach ecc. mi rimane così

    Codice PHP:
    if(($nome == "")) { 
            print(
    "Inserire tutte le informazioni"); 
            } 
          
        elseif { 
            
    $tmp_name $_FILES["foto"]["tmp_name"]; 
            
    $name_foto $_FILES["foto"]["name"]; 
            
    move_uploaded_file($tmp_name"../upload/nuovo/".$name_foto); 
                print(
    "Inserimento avvenuto correttamente"); 
            } 

            else  { 
            
    $tmp_name $_FILES["pdf"]["tmp_name"]; 
            
    $name_pdf $_FILES["pdf"]["name"]; 
            
    move_uploaded_file($tmp_name"../upload/nuovo/".$name_pdf); 
                print(
    "Inserimento avvenuto correttamente"); 
            } 
    E adesso mi da questo errore:
    Parse error: parse error, expecting `'('' in c:\programmi\easyphp1-8\www\admin\upload_nuovo.php on line 11
    Stefano
    Creazione siti Internet - Udine: SC web designer

  8. #18
    Codice PHP:
    elseif { 
    manca la condizione

  9. #19
    Dopo ore di ... finalmente la soluzione è arrivata!
    I files vengono copiati correttamente su server e riesco a completare i campi del database con il nome (o percorso) dei file salvati.

    Ecco il codice, semplice e senza troppe pretese, che spero servirà almeno a qualcun'altro...

    Codice PHP:
    <?php

    $nome
    =$_POST["nome"];
    $tmp_name1 $_FILES["foto"]["tmp_name"];
    $tmp_name2 $_FILES["pdf"]["tmp_name"];
    $name_foto $_FILES["foto"]["name"];
    $name_pdf $_FILES["pdf"]["name"];


    if (
    move_uploaded_file($tmp_name1"../upload/nuovo/".$name_foto))
    {
    print 
    "La foto è stata inserita";
    }

    else
    {
    print 
    "Si sono verificati dei problemi durante il salvataggio";
    }

    if (
    move_uploaded_file($tmp_name2"../upload/nuovo/".$name_pdf))
    {
    print 
    "Il file pdf è stato inserito";
    }

    else
    {
    print 
    "Si sono verificati dei problemi durante il salvataggio";
    }

     
    include(
    "mysql.php");

    mysql_connect($host,$user,$pass) or die ("Impossibile connettersi");

    mysql_select_db("database") or die ("Impossibile selezionare il database");

    mysql_query("insert into nuovo (nome,foto,pdf) values ('$nome','$name_foto','$name_pdf')");

    $ultimo_id=mysql_insert_id();
    mysql_close();

    ?>

    Grazie a tutti comunque per l'aiuto...
    Ciauz
    Stefano
    Creazione siti Internet - Udine: SC web designer

  10. #20
    Utente di HTML.it L'avatar di telegio
    Registrato dal
    Sep 2001
    Messaggi
    2,591
    c'è un errore..
    scherzo.. però è concettualmente è sbagliato perchè se qualcosa va storto te comunque fai l'inserimento nel DB, senza controlli...
    ti do un consiglio che è il metodo che io uso quando devo fare l'upload... l'accorgimento è quello di inserire nel DB il record solo se l'upload è effettivamente avvenuto, tipo così:
    Codice PHP:
    if (move_uploaded_file($tmp_name1"../upload/nuovo/".$name_foto))
    {
    include(
    "mysql.php");

    mysql_connect($host,$user,$pass) or die ("Impossibile connettersi");

    mysql_select_db("database") or die ("Impossibile selezionare il database");

    mysql_query("insert into nuovo (nome,foto) values ('$nome','$name_foto')");

    $ultimo_id=mysql_insert_id();
    mysql_close();

    prendila concettualmente, perchè nel tuo caso la situazione è differente visto che uploadi 2 files e il mio esempio è per un solo file...
    allora nel tuo caso dovresti e potresti usare un controllo tipo file_exists
    Codice PHP:
    if (file_exists("../upload/nuovo/".$name_foto)) and  (file_exists(".../upload/nuovo/".$name_pdf)) {
        include(
    "mysql.php");

    mysql_connect($host,$user,$pass) or die ("Impossibile connettersi");

    mysql_select_db("database") or die ("Impossibile selezionare il database");

    mysql_query("insert into nuovo (nome,foto,pdf) values ('$nome','$name_foto','$name_pdf')");

    $ultimo_id=mysql_insert_id();
    mysql_close(); 
    } else {
        echo 
    "ATTENZIONE!! IL RECORD NON E' STATO INSERITO";

    io comunque preferisco utilizzare i percorsi assoluti, con la path del server.. però credo non ci sia differenza, a meno che tu non sposti il file in un'altra cartella...

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