Toon posts:

[JSP] controleren of een resultset gevuld is.

Pagina: 1
Acties:

Verwijderd

Topicstarter
Het volgende.
Ik heb een login die middels een query kijkt of de combinatie van username en wachtwoord voorkomt. Maar hoe kan ik nu controleren de login correct is.

ik kan wel een while loop maken maar ik krijg het niet voor elkaar om het af te vangen wanneer de login niet klopt.
Hier mijn code:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<%@page import="java.sql.*" %>
<jsp:useBean id="DBAccess" scope="page" class="myclasses.DBAccess"/>

<%
//set the connection with the database.
DBAccess.getConnection();

String userName = request.getParameter("frmUsername");
String passWord = request.getParameter("frmPassword");

ResultSet result = DBAccess.executeQuery("SELECT ID, Voornaam, Gebruikersnaam, Userlevel FROM Gebruiker WHERE Gebruikersnaam = '" + userName + "' AND Wachtwoord = '" + passWord + "'");

out.print("test");
out.print();

while(result.next()) {
    
    //Login correct
    //Sessions register
    session.setAttribute( "ID", result.getString("ID"));                            //Register UserId
    session.setAttribute( "Voornaam", result.getString("Voornaam"));                //Register voornaam
    session.setAttribute( "Gebruikersnaam" , result.getString("Gebruikersnaam"));   //Register username
    session.setAttribute( "Userlevel", result.getString("Userlevel"));              //Register userlevel
        
    //response.sendRedirect("test.jsp");
}

//release the connection with the database.
DBAccess.releaseConnection();
%>

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 10:31

gorgi_19

Kruimeltjes zijn weer op :9

Zet op regel 15 een boolean waarde neer
Visual Basic .NET:
1
Dim IsLoggedIn as Boolean = False

Of regel 17 zet je vervolgens neer:
Visual Basic .NET:
1
IsLoggedIn = True


En dan de JSP-variant.

[ Voor 7% gewijzigd door gorgi_19 op 16-06-2004 12:42 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Verwijderd

Is het niet wat netter om gewoon te controleren of je result bestaat uit 1 record -> is ingelogd en anders ben je niet ingelogd....

Verwijderd

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
                        try 
                        { 
                                Class.forName(application.getInitParameter("jdbcDRIVER")).newInstance(); 
                                Conn=DriverManager.getConnection(application.getInitParameter("databankURL")); 



                                Stmt = Conn.createStatement(); 
                                query = "SELECT * FROM users WHERE username = '"+naam1+"' AND paswoord = '"+paswoord1+"';";

                                out.println(query); 

                                RS=Stmt.executeQuery(query); 

                        } 
                        catch (Exception E) 
                        { 
                                out.println(E.toString());         
                        } 



                        RS.beforeFirst(); 

                        bool correct = false;

                        while(RS.next()){ 
                            correct = true;

                            // in deze while is er een user gevonden
                            // eventueel hier sessie aanmaken
                        } 

                        if(!correct){
                               out.println("Gebruiker of paswoord is verkeerd ...");
                        }


als je niet in de while komt dan betekend dit dat er geen juiste login is opgevangen...

[ Voor 18% gewijzigd door Verwijderd op 16-06-2004 12:46 ]


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 10:31

gorgi_19

Kruimeltjes zijn weer op :9

Verwijderd schreef op 16 juni 2004 @ 12:44:
Is het niet wat netter om gewoon te controleren of je result bestaat uit 1 record -> is ingelogd en anders ben je niet ingelogd....
Mja, principe is hetzelfde.. Scheelt eigenlijk weer 1 query. :)

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Verwijderd

Topicstarter
Thanx..dat was de oplossing. Bedankt.
Pagina: 1