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

    Due eventi onClick nella stessa pagina

    Buona giornata a tutti.

    Nella pagina ho un modulo per recuperare la password e uno per effettuare la login.

    Al modulo per recuperare la password è associato un "RequiredFieldValidator".
    I campi della login non hanno nessun controllo iniziale verifica solo le credenziali nel DB.
    Il problema sta nel fato che se io provo a lanciare la login mi intercetta il controllo che ho nel modulo per il recupero passoword e non mi fa andre avanti.

    Vi posto il codice per il recupero password:
    codice:
    <SCRIPT LANGUAGE="C#" RUNAT="server">
    public void sendPassword (Object Obj, EventArgs E) {
    //Inizio script per recupero password
    // Apro la connessione
            String str = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Server.MapPath("database/dzxcxzcxzcxz.mdb");
            OleDbConnection cn = new OleDbConnection(str);
            cn.Open();
            
            string email = this.email.Text.Replace("'" , "''");
            
            String sqlVerifica = "SELECT chiaveAccesso FROM iscritti WHERE email = '" + email + "'";
            
            // Creiamo l'oggetto cmd di tipo OleDbCommand
            // passando la Sql e la connessione al costruttore dell'oggetto
            OleDbCommand cmdVerifica = new OleDbCommand(sqlVerifica, cn);
    
            // Creiamo un oggetto di tipo OleDbDataReader
            // Esso è assimilabile a un RecordSet con cursore di tipo forward-only in ASP tradizionale
            OleDbDataReader verificaRecord = cmdVerifica.ExecuteReader();
            
            verificaRecord.Read();
            
            String emailVerifica = verificaRecord["chiaveAccesso"].ToString();
            
           
            if (verificaRecord!= null && verificaRecord.HasRows)
            {
            lblMessaggioPassword.Text = "La sua password è: " + emailVerifica + "";
    
    }
            else {
            lblMessaggioNoAccount.Text = "Indirizzo E-mail non presente nel database";
            
    
    }
    }
    //Fine script per recupero password
    </SCRIPT>
    
    Questo è il relativo modulo:
    E-Mail:<asp:TextBox id="email" runat="server" class="testo" Width="231px"></asp:TextBox>
    *<asp:RequiredFieldValidator id="RequiredFieldValidator1" runat="server" ErrorMessage="Il campo è obbligatorio" ControlToValidate="email"></asp:RequiredFieldValidator>
    
    
    </p><p class="testoContatti">*Campi Obbligatori</p>
    
    
    <p class="testo">
    
    <asp:Button runat="server" Text="Recupera la password" class="testo" onClick="sendPassword" id="recuperaPassword" />
    
    
    <asp:Label id="lblMessaggioPassword" runat="server"></asp:Label><asp:Label id="lblMessaggioNoAccount" runat="server"></asp:Label>
    Questo è il codice della login con rispettivo modulo:
    codice:
    <SCRIPT LANGUAGE="C#" RUNAT="server">
    public void accessLogin (Object Obj, EventArgs E) {
    
    string username = this.username.Text.Replace("'" , "''");
    string password = this.password.Text.Replace("'" , "''");
    
      //Componiamo la stringa di connessione
      String ConnString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" +
            Server.MapPath("database/xzzxzxzxzcz.mdb");
    
      //Creiamo l'oggetto cn di tipo OleDbConnection
      //passando la stringa di connessione al costruttore
      OleDbConnection cn = new OleDbConnection(ConnString);
    
      //Apriamo la connessione
      cn.Open();
    
      //Componiamo la stringa di interrogazione al database
      String sql = "SELECT * FROM iscritti WHERE email = '" + username + "' AND chiaveAccesso = '" + password + "' AND stato = True";
    
      //Creiamo l'oggetto cmd di tipo OleDbCommand
      //passando la sql e la connessione al costruttore dell'oggetto
      OleDbCommand cmd = new OleDbCommand(sql, cn);
    
      //Creiamo un oggetto di tipo OleDbDataReader
      //Esso è assimilabile a un RecordSet con cursore di tipo forward-only in ASP tradizionale
      OleDbDataReader rdr = cmd.ExecuteReader();
    
      //Visualizziamo i record del DataReader appena creato
      rdr.Read();
      String usernameLogin;
      usernameLogin = username;
    if(rdr.HasRows)
     Response.Redirect ("loginOk.asp?username="+System.Web.HttpUtility.UrlEncode(usernameLogin)+"");
    
    else
    lblErroreLogin.Text = "Credeziali di accesso errate";
    
    rdr.Close();
    
      //Chiudiamo la connessione al database
      cn.Close();
    }
    </SCRIPT>
    
    Username:
    
        <asp:Textbox id="username" runat="server" class="testo" size="26"/>
      
    
      
    
      Password:
    
        <asp:Textbox id="password" runat="server" class="testo" size="26"/>
      
    
      
    
        <asp:button Text="Invia" onClick="accessLogin" id="Send" runat="server" class="testo"/>
        
    
        <asp:Label id="lblErroreLogin" runat="server"></asp:Label>
        
    Recupera la password
    Separatamente funzionano, in coppia invece possamo dire che funziona solo la procedura per recuperare la password.

    Potete fornirmi qualche suggerimento?
    <a href="http://www.robertodidonato.it" target="_blank">Roberto Di Donato</a>

  2. #2
    devi usare ValidationGroup:
    codice:
            <asp:RequiredFieldValidator ID="tipoMonValidator" runat="server" ErrorMessage="RequiredFieldValidator"
                Display="Dynamic" ControlToValidate="ddlTipologiaMonitorForm" InitialValue="0"
                Text="Tipo monitor obbligatorio" ValidationGroup="insert">
            </asp:RequiredFieldValidator>
    richiami il gruppo nel bottone che ti serve.

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.