Visualizzazione dei risultati da 1 a 9 su 9

Discussione: Login in asp.net

  1. #1

    Login in asp.net

    ciao a tutti
    premesso che sono alla base base base..cioè che sto studiando .net

    ho deciso di iniziare a fare qualche esercizietto
    e sono partito da una cosa classica
    la pagina di login
    ora in genere in asp classico li mandavo in una pagina dove
    passavo userid e password
    mi collegavo al db e in caso di EOF
    li rimandavo indietro con errore altrimenti andavo avanti

    ora vorrei fare tutto in una pagina (1 domanda mi conviene?)

    ho fatto il form
    e vi dico che problemi ho riscontrato
    sul onclik del submit ho una funzione (sub)

    (2 domanda) che a secondo della risposta di errore mi scrive in una label
    ora ma se voglio ricaricare la pagina o andare a scrivere in un'altra label perchè la label precedente mi resta sempre scritta?

    poi per ora ho visto come usare una connessione per riempire dei dataset o datatable
    (3 domanda)
    ma se voglio fare la classica connessione
    fare una select normale e verificare se il record ci sia o no
    e in caso ci sia magari prendere solo nome utente dal db
    come faccio?


    vi posto le 2 righe che ho scitto

    codice:
    <script language="VB" runat="server">
    
    Sub Page_Load(Src As Object, E As EventArgs)
    
    	If not Page.IsPostBack Then
    		pp.Text=""
    	End If
    End Sub
    
    
    sub Login(Src as Object,E as EventArgs)
    
    dim a as string
    
    
    	if   Page.IsPostBack then
    	
    		a= Request.Form("userid")
    		pp.Text= "chiamata effettuata ..." + a + "..."
    	end if
    end sub
    
    
    </script>
    <html>
    <head>
    <title>Documento senza titolo</title>
    </head>
    <body>
    <form name="login" runat="server">
    <center>
    <table width="300" height="160" border="1" cellpadding="0" cellspacing="0" bordercolor="#000000" bgcolor="#006699">
      <tr>
        <td align="center" >
    	<table width="250" border="0" cellspacing="0" cellpadding="2">
    	  <tr>
    		<td><font color="#FFFFFF">UserId</font></td>
    	    <td><asp:TextBox ID="userid" runat="server" /></td>
    	  </tr>
    	  <tr>
    	    <td>      <font color="#FFFFFF">Password</font></td>
    	    <td><asp:TextBox ID="Psw" runat="server" /></td>
    	  </tr>
    	  <tr align="center">
    	    <td colspan="2"><asp:Button ID="entra" Text="ENTRA" runat="server" onclick="Login" /></td>
    	    </tr>
    	</table>
    
    	</td>
      </tr>
    </table>
    </center>
    
    
    <asp:Label ID="pp" runat="server"></asp:Label>
    </form>
    </body>
    </html>
    sicuramente avro scritto in 2 rige anche altre c...te
    ciao e grazie

  2. #2

    Re: Login in asp.net

    Originariamente inviato da ciucciatiilcalzino
    ma se voglio fare la classica connessione
    fare una select normale e verificare se il record ci sia o no
    e in caso ci sia magari prendere solo nome utente dal db
    come faccio?
    Invece di usare datadapter dataset ecc. usi un semplice oggetto command (es. sqlcommand se usi sqlserver). Ti indico qualche riga di codice scritto cosi senza controllare la sintassi giusto per metterti sulla buona strada...
    codice:
    dim miocommand as new system.data.sqlclient.sqlcommand("SELECT COUNT(*) FROM Utenti WHERE user = @userid", connessione)
    miocommand.parameters.add("@userid").value = Request.Form("userid") 
    connessione.open 
    dim res as integer = miocommand.executescalar 
    connessione.close
    Saluti a tutti
    Riccardo

  3. #3
    grazie
    adesso cerco qualcosa sul libro e in rete
    per come usare l'oggetto command

    per la domanda 2
    codice:
    che a secondo della risposta di errore mi scrive in una label 
    ora ma se voglio ricaricare la pagina o andare a scrivere in un'altra label perchè la label precedente mi resta sempre scritta?
    non mi sai dire nulla?

  4. #4
    Originariamente inviato da ciucciatiilcalzino
    ora ma se voglio ricaricare la pagina o andare a scrivere in un'altra label perchè la label precedente mi resta sempre scritta?
    In ASP.NET molti dei controlli memorizzano il proprio stato in una variabile "nascosta" chiamata VIEWSTATE. E' tramite questo valore che ASP.NET riesce, dopo il PostBack di un pagina, a presentarti i vari controlli con lo stato che avevi un momento prima del PostBack.

    Ci sono 2 strade: o gestisci la proprietà Text di quella Label e la annulli (nel momento in cui non deve visualizzare alcun testo):

    Label1.Text = ""

    oppure disabiliti la memorizzazione del viewstate per quel controllo. In questo modo la label non memorizzerà il proprio stato e, ad ogni caricamento di pagina (che sia un PostBack o meno), verrà presentata sempre con le proprietà di default (colore, testo, varie formattazioni che hai indicato nel codice ASP.NET).

    Scusa.. ho scritto di fretta spero si capisca..


  5. #5

    Re: Re: Login in asp.net

    Originariamente inviato da riccardone
    Invece di usare datadapter dataset ecc. usi un semplice oggetto command (es. sqlcommand se usi sqlserver). Ti indico qualche riga di codice scritto cosi senza controllare la sintassi giusto per metterti sulla buona strada...
    codice:
    dim miocommand as new system.data.sqlclient.sqlcommand("SELECT COUNT(*) FROM Utenti WHERE user = @userid", connessione)
    miocommand.parameters.add("@userid").value = Request.Form("userid") 
    connessione.open 
    dim res as integer = miocommand.executescalar 
    connessione.close


    mi sto rilegendo quello che riguarda i command ma finora non ho trovato questo metoodo che mi hai descritto tu sopra

    dim miocommand as new system.data.sqlclient.sqlcommand("
    infatti questo
    miocommand.parameters.add("@userid").value
    non l'ho capita proprio....nel frattempo, leggendo ho provato con
    il datareader

    non so se è giusto e se conviene come ho scritto
    però c'è una cosa che ho provato e non mi piace
    dato che non esiste l' eof
    ho fatto do while sul read
    ma in termini di funzionalità è corretto
    come potrei in asp.net sosituire il mio
    if rs.eof then
    che usavo in asp?

    codice:
          
          Dim objCommand As New OleDbCommand(strSelect, objConnect)
    
          Dim objDataReader As OleDbDataReader
    
          objDataReader = objCommand.ExecuteReader()
    
    presente = true
          Do While objDataReader.Read()
    presente=false
          Loop

    ciao e grazie

  6. #6
    nessuno che mi dice se ho sbagliato o no a eseguire il controllo della presenza di un record nel db
    ?

  7. #7

    Re: Re: Re: Login in asp.net

    Dovrebbe essere l'incontrario:
    codice:
          
          Dim objCommand As New OleDbCommand(strSelect, objConnect)
    
          Dim objDataReader As OleDbDataReader
    
          objDataReader = objCommand.ExecuteReader()
    
    presente = false
          Do While objDataReader.Read()
    presente=true
          Loop
    Ciao
    AZ [Microsoft - .NET MVP]
    Mia Home page: http://ciclismo.sitiasp.it
    Asp.Net community: http://www.aspitalia.com
    Il mio blog: http://blogs.aspitalia.com/az

  8. #8
    si questo me ne ero accorto dopo aver postato il codice....
    è giusto per sapere se è l'inica alternativa all if recordset.eof then ....

  9. #9
    Con il DataReader, sì.

    Ciao
    AZ [Microsoft - .NET MVP]
    Mia Home page: http://ciclismo.sitiasp.it
    Asp.Net community: http://www.aspitalia.com
    Il mio blog: http://blogs.aspitalia.com/az

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.