Visualizzazione dei risultati da 1 a 9 su 9

Visualizzazione discussione

  1. #1

    Controllo codice fiscale e partita iva

    Ciao, nel programma che sto facendo ho una parte di inserimento clienti che viene effettuanto partendo dal codice fiscale o partita iva. Ho una pagina iniziale dove inserisco o il codice fiscale o la partita iva e un bottone che cliccandolo viene effettuato il controllo di correttezza di uno dei due campi compilati e se giusti porta alla pagina di inserimento dei dati anagrafici del cliente. Il programma dovrebbe far si che se la stringa inserita � giusta porta all'altra pagina, se � sbagliata esce l'avviso di errore come allert e poi rimane nella stessa pagina per poter reinserire il cod fiscale o partita iva.
    Il mio problema � che se la stringa � sbagliata esce l'errore allert ma poi passa alla pagina di inserimento anagrafica cosa che non dovrebbe fare.

    Queste sono le due pagine

    controllo.asp
    codice:
    <HTML>
    <script language=JavaScript>
    <!--
    
    function ControllaCF(cf)
    {
    
        var validi, i, s, set1, set2, setpari, setdisp;
        if( cf == '' )  return '';
        cf = cf.toUpperCase();
        if( cf.length != 16 )
            return "La lunghezza del codice fiscale non �\n"
            +"corretta: il codice fiscale dovrebbe essere lungo\n"
            +"esattamente 16 caratteri.\n";
        validi = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
        for( i = 0; i < 16; i++ ){
            if( validi.indexOf( cf.charAt(i) ) == -1 )
                return "Il codice fiscale contiene un carattere non valido `" +
                    cf.charAt(i) +
                    "'.\nI caratteri validi sono le lettere e le cifre.\n";
        }
        set1 = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
        set2 = "ABCDEFGHIJABCDEFGHIJKLMNOPQRSTUVWXYZ";
        setpari = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
        setdisp = "BAKPLCQDREVOSFTGUHMINJWZYX";
        s = 0;
        for( i = 1; i <= 13; i += 2 )
            s += setpari.indexOf( set2.charAt( set1.indexOf( cf.charAt(i) )));
        for( i = 0; i <= 14; i += 2 )
            s += setdisp.indexOf( set2.charAt( set1.indexOf( cf.charAt(i) )));
        if( s%26 != cf.charCodeAt(15)-'A'.charCodeAt(0) )
            return "Il codice fiscale non � corretto:\n"+
                "eventualmente chiamare il cliente per conferma.\n";
        return "";
    }
    
    
    function ControllaPIVA(pi)
    {
        if( pi == '' )  return '';
        if( pi.length != 11 )
            return "La lunghezza della partita IVA non �\n" +
                "corretta: la partita IVA dovrebbe essere lunga\n" +
                "esattamente 11 caratteri.\n";
        validi = "0123456789";
        for( i = 0; i < 11; i++ ){
            if( validi.indexOf( pi.charAt(i) ) == -1 )
                return "La partita IVA contiene un carattere non valido `" +
                    pi.charAt(i) + "'.\nI caratteri validi sono le cifre.\n";
        }
        s = 0;
        for( i = 0; i <= 9; i += 2 )
            s += pi.charCodeAt(i) - '0'.charCodeAt(0);
        for( i = 1; i <= 9; i += 2 ){
            c = 2*( pi.charCodeAt(i) - '0'.charCodeAt(0) );
            if( c > 9 )  c = c - 9;
            s += c;
        }
        if( ( 10 - s%10 )%10 != pi.charCodeAt(10) - '0'.charCodeAt(0) )
            return "La partita IVA non � valida:\n" +
                "il codice di controllo non corrisponde.\n";
        return '';
    }
    
    function verificacf()
    {
        codf = document.form1.codicefiscale.value;
    
    
                  if( codf == '' )
            return '';
        else if( codf.length == 16 )
            err = ControllaCF(codf);
                else
            err = "Il codice introdotto non � valido:\n\n" +
                "  - un codice fiscale deve essere lungo 16 caratteri;\n\n" +
                "  - una partita IVA deve essere lunga 11 caratteri.\n";
    
        if( err > '' )
            alert("VALORE ERRATO\n\n" + err + "\nCorreggi e riprova!");
        else
            return '';
    }
    
    function verificapi()
    {
        codp = document.form1.partitaiva.value;
            if( codp == '' )
            return '';
        else if( codp.length == 11 )
            err = ControllaPIVA(codp);
                else
            err = "Il codice introdotto non � valido:\n\n" +
                "  - la partita iva deve essere di 11 numeri;\n\n" +
                "  - conttare il cliente per controllo.\n";
    
        if( err > '' )
            alert("VALORE ERRATO\n\n" + err + "\nCorreggi e riprova!");
        else
            return '';
    }
    
    
    // -->
    </script>
    
    <body> 
    
    <tr>
                <td width="82%" style="height: 170px">
                    Inserisci o il codice fiscale o la partita iva 
                </td>
             </tr>
             <form method="post" action="controlloexe.asp" name="form1">
             <table width="533" border="0" style="height: 123px">
                <tr>
                    <td width="166" height="19" bgcolor="#849AB5">Codice fiscale</td>
                        <input name="codicefiscale" onblur="verificacf()" size="25" style="width: 281px">
                </tr>
                <tr>
                    <td width="166" height="19" bgcolor="#849AB5">Partita iva</td>
                        <input NAME="partitaiva" onblur="verificapi()" size="40">
                </tr>
                  <input type="submit" name="Submit"  value="Controllo" ">
             </table>
             </form>    
    
     </BODY>
    </HTML>
    controlloexe.asp
    codice:
    <%@Language=VBScript%>
    <%Response.Buffer = True%>
    
    <%
    Session.TimeOut = 5
    %>
    
    <%
    Dim partitaiva,codicefiscale
    codfisc = Replace(Trim(Request.Form("codicefiscale")), "'", "''")
    piva = Replace(Trim(Request.Form("partitaiva")), "'", "''")
    
    If codfisc = "" and piva = "" Then Response.Redirect "controllo.asp"
    
    if piva = "" then
    
    SQL = "Select  partitaiva,codicefiscale,id From cli where codicefiscale='"&codfisc&"' " 
    Set DB = Conn.Execute(SQL)
    
      'Session("id") = RS("id")
        
    While DB.EOF 
    Response.Redirect "nuovocli.asp?cdf="&codfisc&""
    
    DB.MoveNext
          
        Wend
      
        if codfisc = DB("codicefiscale") then
        id=db("id")      
        Response.Redirect "cli.asp?id="&id&""
        Else
          End If
     
    else
    
    SQL = "Select  partitaiva,codicefiscale,id From cli where partitaiva='"&piva&"' " 
    Set DB = Conn.Execute(SQL)
    
      'Session("id") = DB("id")
        
    While DB.EOF 
    Response.Redirect "nuovocli.asp?pi="&piva&""
    
    DB.MoveNext
          
        Wend
      
        if pi= DB("partitaiva") then
        id=db("id")      
        Response.Redirect "cli.asp?id="&id&""
        Else
          End If
     
          end if
    
    CleanUp(DB)
    %>
    Ultima modifica di ElyCucciola; 26-09-2017 a 10:27

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.