Código:
Funciona todo bien hasta que pongo unnombre de usuario nulo, vale decir un nombre de usuario incorrecto. Cuendo pongo un nombre de usuario incorrecto me tira este error:<% 'Condición para ver si ya estan creadas las cookies y saltarse el formulario If Request.Cookies("Admin")("usuario") <> "" And Request.Cookies("Admin")("contrasena") <> "" Then Response.Redirect ("menu.asp") end If 'Declaración de variables Dim conn Dim rs Dim sql Dim usuario Dim contrasena Dim recordar Dim autorizacion 'Rescatamos las variables del formulario usuario = Request.Form("usuario") contrasena = Request.Form("contrasena") recordar = Request.Form("recordar") 'Condición para mostrar el formulario o redireccionar al menú If usuario = "" and contrasena = "" Then %> <form method="post" action="default.asp"> <table border="1" bordercolor="<% = ColorBorde %>" width="50%" cellspacing="0" align="center"> <tr> <td width="100%" bgcolor="<% = ColorFondoTitulo %>" colspan="2" align="center" class="text">Formulario de Ingreso al sistema</td> </tr> <tr> <td width="56%" bgcolor="<% = ColorFondo %>" class="text">Nombre de Usuario:</td> <td width="50%" bgcolor="<% = ColorFondo %>"><input type="text" name="usuario" size="20" style="<% = InputEstilo %>"></td> </tr> <tr> <td width="56%" bgcolor="<% = ColorFondo %>" class="text">Contraseña:</td> <td width="50%" bgcolor="<% = ColorFondo %>"><input type="password" name="contrasena" size="20" style="<% = InputEstilo %>"></td> </tr> <tr> <td width="56%" bgcolor="<% = ColorFondo %>" class="text">Recordar la próxima vez:</td> <td width="50%" bgcolor="<% = ColorFondo %>"><input type="radio" value="si" name="recordar" checked>Si <input type="radio" value="no" name="recordar">No</td> </tr> <tr> <td width="100%" bgcolor="<% = ColorFondo %>" colspan="2" align="center"><input type="submit" value="Ingresar" name="ingresar" style="<% = BotonEstilo %>"></td> </tr> </table> </form> <% else 'Establecemos la conección a la base de datos Set conn = Server.CreateObject("ADODB.Connection") conn.Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("../catalogo.mdb")) 'Creación de la sentencia SQL correspondiente (cambiar el valor de tabla por el nombre de la tabla que queremos seleccionar) sql="Select * From Admin Where usuario = '" & usuario & "'" 'Ejecución de la orden Set rs = Conn.Execute(sql) 'Condición que comprueba si el usuario y la contraseña corresponden a los de la base de datos If usuario <> rs("usuario") Or contrasena <> rs("contrasena") Then Session("autorizacion") = -1 %> <form method="POST" action="default.asp"> <table border="1" bordercolor="<% = ColorBorde %>" width="50%" cellspacing="0" align="center"> <tr> <td width="100%" bgcolor="<% = ColorFondoTitulo %>" colspan="2" align="center" class="text">Formulario de Ingreso al sistema</td> </tr> <tr> <td width="100%" bgcolor="<% = ColorFondo %>" colspan="2" align="center" class="text">El Nombre de Usuario o la Contraseña estan incorrectos</td> </tr> <tr> <td width="56%" bgcolor="<% = ColorFondo %>" class="text">Nombre de Usuario:</td> <td width="50%" bgcolor="<% = ColorFondo %>"><input type="text" name="usuario" size="20" style="<% = InputEstilo %>"></td> </tr> <tr> <td width="56%" bgcolor="<% = ColorFondo %>" class="text">Contraseña:</td> <td width="50%" bgcolor="<% = ColorFondo %>"><input type="password" name="contrasena" size="20" style="<% = InputEstilo %>"></td> </tr> <tr> <td width="56%" bgcolor="<% = ColorFondo %>" class="text">Recordar la próxima vez:</td> <td width="50%" bgcolor="<% = ColorFondo %>"><input type="radio" value="si" name="recordar" checked>Si <input type="radio" value="no" name="recordar">No</td> </tr> <tr> <td width="100%" bgcolor="<% = ColorFondo %>" colspan="2" align="center"><input type="submit" value="Ingresar" name="ingresar" style="<% = BotonEstilo %>"></td> </tr> </table> </form> <% else Session("autorizacion") = 1 autorizacion = Session("autorizacion") 'Condición para crear la cookie If recordar = "si" Then Response.Cookies("Admin")("usuario") = usuario Response.Cookies("Admin")("contrasena") = contrasena Response.Cookies("Admin")("autorizacion") = autorizacion end If Response.Redirect ("menu.asp") end If end If %>
error '80020009'
Ocurrió una excepción.
/pruebas/catalogo/admin/default.asp, line 69
La verdad de las cosas es que no se porque me lo toma como una excepción, en el fondo estoy diciendo que si lo que rescate del formulario no coinside con lo que hay en la BD me muestre algo.... no entiendo
Lo otro es lo que esta con rojo, se puede hacer eso de meter en una cookie una variable de session????
O mejor seria en vez de esto:
Código:
Hacer esto y borrar la linea en rojo del código:If recordar = "si" Then Response.Cookies("Admin")("usuario") = usuario Response.Cookies("Admin")("contrasena") = contrasena Response.Cookies("Admin")("autorizacion") = autorizacion end If
Código:
Bueno espero su ayuda... gracias de antemano y saludos 'Condición para ver si ya estan creadas las cookies y saltarse el formulario If Request.Cookies("Admin")("usuario") <> "" And Request.Cookies("Admin")("contrasena") <> "" Then Session("autorizacion") = 1 Response.Redirect ("menu.asp") end If