login

marta
13 de Marzo del 2004
he de validar usuario y password en jsp. con usebean llamo a una clase pasandole los parametros para q lo valide contra la bbdd pero no consigo q vaya.gracias.

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<!-- jsp0302.html
Esta es la página que contiene el formulario de entrada de datos
de la encuesta. El envío de los datos se realiza a la página
jsp0303 que es la que se encarga de almacenar en disco la
información que proprocione el usuario, utilizando en este
caso un JavaBean para realizar las acciones de control del
fichero de almacenamiento
-->
<html>
<head>
<title>Asistencias Técnicas</title>
</head>
<body>
<jsp:useBean id="vbean" scope="request" class="Asistencia.Variables" />
<jsp:setProperty name="vbean" property="*" />
<jsp:useBean id="vbean1" scope="request" class="Asistencia.Asistencia" />
<jsp:setProperty name="vbean1" property="*" />

<form method="post" action="usuario.jsp" name="">
<%boolean correcto=vbean1.usuario(request.getParameter("usuario"),request.getParameter("password"));%>
<% if (correcto) { %>
bien
<%=correcto%>
<%=request.getParameter("usuario")%>
<%=request.getParameter("password")%>
<% } else { %>
error
<%=correcto%>
<%=request.getParameter("usuario")%>
<%=request.getParameter("password")%>
<% } %>

<h2>Asistencias Técnicas</h2>
<center>
<br>
<table border=0 cols=5 width="80%" >
<tr><td align="left">
<font face="Arial,Helvetica" size="-1" color="#000099">
<b>Usuario:</b>
<input type="text" name="usuario" size="1">
</td></tr>
<tr><td align="left">
<font face="Arial,Helvetica" size="-1" color="#000099">
<b>Password:</b>
<input type="text" name="password" size="1" maxlength="1">
</td></tr>
<tr><td align="center">
<br><br>
</table>
<center>
<input type="submit" name="submit" value=" Aceptar ">
<input type="reset" name="reset" value=" Borrar ">
</center>



</form>
</center>
</body>
</html>

public boolean usuario(String usuario,String password)
{
ResultSet resultado;
try{
Connection con = conexion();
Statement stmt = con.createStatement();
resultado = stmt.executeQuery( "select usuario,password from usuarios where usuario="+usuario+" and password="+password);
return(true);
} catch( Exception e ) {
System.err.println( e.toString() );
return(false);
}
}

didi
13 de Marzo del 2004
primero que todo debes saber que en SQL la consulta que estas haciendo
select usuario,password from usuarios where usuario="+usuario+" and password="+password

no esta bien construida debes colocar

select usuario,password from usuarios where usuario like '"+usuario+"' and password like '"+password +"'"

ya que aveces funciona el = con los caracteres (= se debe usar con numericos)pero debes hacerlo mejor con like que se usa para comparar cadenas

la forma es : where usuario like 'didi' and password 'mi clave'
ves la diferencia ya que ese espacio en el pasword re puede ocasionar un problemilla.

trata esto o si no me escribes al correo ojala tesirva