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

    Script estensione file errore

    Ciao a tutti,
    partendo da uno script che controllava se un campo file è vuoto o no ho deciso di inserire anche il controllo dell'estensione del file che si sta cercando di caricare.
    Quindi ho aggiunto è implementato così:
    Codice PHP:
    <script  language="JavaScript">
    <!-- 
    Nascosto ai browser più vecchi
        
    //Check se il form di invio è correttamente riempito
    function controllafile () { 

        
    //Inizializza la variabile che riporta il messaggio d'errore
        
    var errorMsg "";

        <% For 
    i=1 to session("numeroimg") %>
        
    //Check per l'immagine della marca
        
    if (document.inserisci.file<%=i%>.value == ""){
            
    errorMsg += "\n\t\tImmagine della marca \t\t - Devi inserire l'immagine della marca!";    
        }
        
        
    //Check per il formato immagine della marca
        
    var nomefile<%=i%> = document.inserisci.file<%=i%>.value;
        
    nomefile<%=i%> = nomefile<%=i%>.substr(nomefile<%=i%>.lastIndexOf(".")+1);
        if (
    nomefile<%=i%> != 'gif' || nomefile<%=i%> != 'jpg' || nomefile<%=i%> != 'png'){
            
    errorMsg += "\n\t\tFormato dell'immagine \t\t - Devi inserire l'immagine nel formato  JPG, GIF PNG!";    
        }
        <%
    Next%>
        
        
    //Se ci sono problemi nei form, visualizza un messaggio di errore
        
    if (errorMsg != ""){
            
    msg "______________________________________________________________\n\n";
            
    msg += "Attenzione! L'invio dei dati al Db è stato interrotto in quanto alcuni campi obbligatori non sono stati compilati.\n";
            
    msg += "Si prega di compilare correttamente tutti i campi obbligatori.\n";
            
    msg += "______________________________________________________________\n\n";
            
    msg += "Devi riempire i seguenti campi: \n";
            
            
    errorMsg += alert(msg errorMsg "\n\n");
            return 
    false;
        }
    return 
    true;
    }
    // -->
    </script> 
    Non fate caso al ciclo FOR (in ASP) non dà fastidio e mi serve perchè i campi file sono generati con nome dinamico... il problema è questo... se non carico nulla mi escono fuori i messaggi per file mancante e per estensione file errata e potrebbe anche andar bene (anche se il secondo messaggio non è proprio esatto che esca...) però poi quandio carico un file jpg o gif o png mi continua ad uscire il messaggio di errore formato!!! Come mai??? :master:

    E' da questa mattina alle 9 che ci sbatto la testa aiutoooo please

  2. #2
    niente... ho provato anche ad adattare uno script che ho trovato sul forum in questo modo:

    Codice PHP:
    function controllafile() {

        <% For 
    i=1 to session("numeroimg") %>
        var 
    nomefile<%=i%> = document.inserisci.file<%=i%>.value;
        
        if (
    nomefile<%=i%> == "") {     
        
    alert("Occorre inserire una allegato");     
        return 
    false;   
        }   
        
       
    nomefile<%=i%> = nomefile<%=i%>.substr(nomefile<%=i%>.lastIndexOf(".")+1);
       if (
    nomefile<%=i%> != "gif" || nomefile<%=i%> != "jpg" || nomefile<%=i%> != "png"){
       
    alert(nomefile<%=i%>);     
        return 
    false;  
       }
       <%
    next%>
    return 
    true

    ma niente la prima (il controllo se il campo file è vuoto o meno) funziona la seconda niente da fare ho provato a far stampare l'estensione che estrapola dal file (pensando che magari c'era un errore di sintassi nel lastIndexOf) ma niente l'estensione viene estrapolata correttamente!!!
    forese è sbagliato l'IF? nomefile<%=i%> != "gif" non so più cosa pensare doce sta l'errore? :master:

  3. #3

  4. #4
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Lo dico a te come gia' lo dissi agli altri: ostinarsi a cercare errori in ASP e' inutile... per trovarli dovete esaminare il codice che arriva al browser.

    Se non risolvi da solo posta il codice che riceve il browser anche a noi

    ciao
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  5. #5
    Ciao il codice HTML della pagina è questo:

    Codice PHP:
    <script  language="JavaScript">
    <!-- 
    Nascosto ai browser più vecchi
        
    //Check se il form di invio è correttamente riempito
    function controllafile () { 

        
    //Inizializza la variabile che riporta il messaggio d'errore
        
    var errorMsg "";

        
        
    //Check per l'immagine della marca
        
    if (document.inserisci.file1.value == ""){
            
    errorMsg += "\n\t\tImmagine della marca \t\t - Devi inserire l'immagine della marca!";    
        }
        
        
    //Check per il formato immagine della marca
        
    var nomefile1 document.inserisci.file1.value;
        
    nomefile1 nomefile1.substr(nomefile1.lastIndexOf(".")+1);
        if (
    nomefile1 == "gif" || nomefile1 == "jpg" || nomefile1 == "png"){
            
    errorMsg += "\n\t\tFormato dell'immagine \t\t - Devi inserire l'immagine nel formato  JPG, GIF PNG!";
            
    //errorMsg += nomefile1    
        
    }
        
        
    //Check per l'immagine della marca
        
    if (document.inserisci.file2.value == ""){
            
    errorMsg += "\n\t\tImmagine della marca \t\t - Devi inserire l'immagine della marca!";    
        }
        
        
    //Check per il formato immagine della marca
        
    var nomefile2 document.inserisci.file2.value;
        
    nomefile2 nomefile2.substr(nomefile2.lastIndexOf(".")+1);
        if (
    nomefile2 == "gif" || nomefile2 == "jpg" || nomefile2 == "png"){
            
    errorMsg += "\n\t\tFormato dell'immagine \t\t - Devi inserire l'immagine nel formato  JPG, GIF PNG!";
            
    //errorMsg += nomefile2    
        
    }
        
        
    //Check per l'immagine della marca
        
    if (document.inserisci.file3.value == ""){
            
    errorMsg += "\n\t\tImmagine della marca \t\t - Devi inserire l'immagine della marca!";    
        }
        
        
    //Check per il formato immagine della marca
        
    var nomefile3 document.inserisci.file3.value;
        
    nomefile3 nomefile3.substr(nomefile3.lastIndexOf(".")+1);
        if (
    nomefile3 == "gif" || nomefile3 == "jpg" || nomefile3 == "png"){
            
    errorMsg += "\n\t\tFormato dell'immagine \t\t - Devi inserire l'immagine nel formato  JPG, GIF PNG!";
            
    //errorMsg += nomefile3    
        
    }
        
        
        
    //Se ci sono problemi nei form, visualizza un messaggio di errore
        
    if (errorMsg != ""){
            
    msg "______________________________________________________________\n\n";
            
    msg += "Attenzione! L'invio dei dati al Db è stato interrotto in quanto alcuni campi obbligatori non sono stati compilati.\n";
            
    msg += "Si prega di compilare correttamente tutti i campi obbligatori.\n";
            
    msg += "______________________________________________________________\n\n";
            
    msg += "Devi riempire i seguenti campi: \n";
            
            
    errorMsg += alert(msg errorMsg "\n\n");
            return 
    false;
        }
    return 
    true;
    }
    // -->
    </script> 
    a me sembra giusto infatti con il ciclo FOR NEXT assegno il nome dinamico alle variabili, anche i nomi dei campi hanno quindi il nome file1, file2, ecc. il problema è che lo script funziona ma forse è sbagliata la sintassi con cui dico allo script di controllare le estensione dei file perchè anche se carico un file jpg mi dice che il formato è errato. :master:

  6. #6
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Il controllo e' sbagliato... mandi il messaggio quando l'estenzione e' giusta...

    if (nomefile1 != "gif" && nomefile1 != "jpg" && nomefile1 != "png"){

    ciao
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  7. #7
    no non funziona ugualmente sia che sia == che != mi dice che il formato è errato!

  8. #8
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Originariamente inviato da fabiodm75
    no non funziona ugualmente sia che sia == che != mi dice che il formato è errato!
    Guarda che le modifiche che ti ho postato non sono solo quelle

    A me funziona perfettamente con questo form di prova:

    <form action="/test.asp" enctype="multipart/form-data" name="inserisci" onsubmit="return controllafile()" method="post">
    <input type=file name=file1>
    <input type=file name=file2>
    <input type=file name=file3>
    <input type=submit>
    </form>

    ciao
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  9. #9
    Originariamente inviato da br1
    Il controllo e' sbagliato... mandi il messaggio quando l'estenzione e' giusta...

    if (nomefile1 != "gif" && nomefile1 != "jpg" && nomefile1 != "png"){

    ciao
    Guarda che le modifiche che ti ho postato non sono solo quelle
    Uhmmm forse sarà che sto fondendo ma allora quali mofiche mi hai detto di fare? :master:
    Comincio a fondare... non dare nulla per sottointeso

  10. #10
    Ciao sono ciecato! Ma dopo due giorni che stavo vedendo sta cosa merito un pò di comprensione và a vadere || && VVoVe:

    Grazie per la pazienza

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.