Visualizzazione dei risultati da 1 a 5 su 5

Discussione: - - login - -

  1. #1
    Utente di HTML.it L'avatar di Francis87
    Registrato dal
    Jun 2003
    Messaggi
    5,970

    - - login - -

    ha senso questo codice?

    codice:
    dim id As String
    dim pass As String
    dim cont As Integer
    dim n As Integer
    Dim sql As String
    Dim check As Boolean
    usid = request("id")
    pass = request("pass")
    sql = "SELECT * FROM utenti"
    rs = cn.Execute(sql)
    check = 0
    
    If (usid = "") or (pass = "") Then
     response.redirect "indexc.aspx?erroren=true"
    End If
    
     Do while NOT RS.EOF
      If usid = rs("id").Value Then
       If pass = rs("password").Value Then
        session("login") = 1
        session("userID") = usid
        response.redirect "index2.aspx"    
        check = 1
       Else
        session("login") = 0
        response.redirect "indexc.aspx?errorep=true"
       End If
      Else
       rs.MoveNext
      End If
     Loop
     
     If check = 0 Then
      response.redirect "indexc.aspx?erroreid=true"  
     End If
    Heaven's closed. Hell sold out.

    Linux 2.6.26-2-amd64
    Debian squeeze

  2. #2
    Beh.. sicuramente potresti evitare di leggere sempre tutti gli utenti del db e poi verificare se esiste o meno quello che cerchi...

    Una Select del genere:

    "SELECT * FROM utenti WHERE userid='" + usid + "' AND password='" + pass + "'"

    (non so se si usano i + anche in VB.NET oppure ci vogliono le &)

    In questo modo, se il recordset risultante contiene un record vuol dire che user&pwd sono corrette, altrimenti no.

    In questo modo quindi ottimizzi le risorse di sistema evitando richieste inutili al db.

    Una cosa: prima di eseguire questa query è molto importante che le due variabili usid e pass vengano modificate in modo che gli apici singoli diventino 2 anziché uno (se presenti):

    usid = replace(usid, "'", "''")
    pass = replace(pass, "'", "''")

    Questo è un problema conosciuto da parecchio tempo.. attenzione quindi!

  3. #3
    Utente di HTML.it L'avatar di Francis87
    Registrato dal
    Jun 2003
    Messaggi
    5,970
    scusa, non ho capito il perkè degli apici singoli...

    poi, in VB.net mi pare ke si usino le & al posto dei +


    leggere tutti gli utenti del database non è (x fortuna) una cosa grave, saranno al maximo 15 e la tabella ha solo ID, nome, passoword

    ma con
    "SELECT * FROM utenti WHERE userid='" & usid & "' AND password='" & pass & "'"
    se non trova il record corrispondente allora non posso dare i 2 mexaggi di errore ke avevo programmato:

    1 - userID inesistente
    2 - password sbagliata

    verrebbe al maximo un "non trovo un utente x ke abbia come password y"

    un'altra cosa...
    come mai quando cerco d accedere alla mia home page aspx sulla LAN mi trovo l'errore di runtime:
    Server Error in '/' Application.




    <configuration>
    <system.web>
    <customErrors mode="Off"/>
    </system.web>
    </configuration>

    e bla bla bla

    IO HO IL WEB.CONFIG CONFIGURATO A DOVERE!
    devo mettere x forza anke il machine.config???

    grazie e ciao!
    Heaven's closed. Hell sold out.

    Linux 2.6.26-2-amd64
    Debian squeeze

  4. #4
    Utente di HTML.it
    Registrato dal
    Aug 2001
    Messaggi
    1,482
    Innanzi tutto attiva il Debug della pagina:

    <%@Page Language="VB" Debug="True"%>

    Così hai una panoramica completa su eventuali errori.

    Quell'errore è probabilmente dato dal fatto che il tuo database è già aperto.

    Hey hey, my my Rock and roll can never die!

  5. #5
    Utente di HTML.it L'avatar di Francis87
    Registrato dal
    Jun 2003
    Messaggi
    5,970
    no, no l'errore me lo da sulla home page, ma il login è x un'altra sezione

    Heaven's closed. Hell sold out.

    Linux 2.6.26-2-amd64
    Debian squeeze

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.