Hola Adler,
Gracias por responder, lo hice como me dijiste y funciona bien.
El problema lo tengo ahora en otra cosa, seguro que es una tontería pero no lo veo. Cuando pones un nombre de usuario y/o contraseña incorrectos quiero que aparezca la típica frase de: "Nombre de usuario o contraseña incorrectos" justo antes del formulario que te permite ingresar de nuevo tus datos. El problema es que he debido de escribir mal algo.
Este es el código que aparece en la plantilla, el que llama a los subs.
Código HTML:
<div class="menu4">
<% if Not IsEmpty(session("usuario")) then
if (session("usuario") = usu) then
conectado()
else if (session("usuario") = fallo) then
fallo()
end if
end if
else
formulario()
end if %>
</div>
Me da como error, no coinciden los tipos fallo cuando hago la llamad al sub (fallo())
Esa web tiene el include al archivo acceder.asp cuyo contenido son las 3 subs.
Código HTML:
<% sub formulario()%>
<form class="formulario" action="validar.asp" method="post" target="_self">
Usuario<br/>
<input name="usuario" type="text" id="usuario" size="13" />
Contraseña
<input name="pwd" type="text" id="pwd" size="13" style="margin-bottom:5px;" />
<input type="submit" name="button4" id="button4" value="Acceder" />
</form>
<%end sub%>
<%sub conectado()
%>
<div class="normal">Bienvenid@ <%=session("usuario")%></div>
<div class="normal2"><a href="includes/desconectar.asp" target="_self">Finalizar sesión</a></div>
<%end sub%>
<%sub fallo()%>
<div class="normal">El nombre de usuario o contraseña son incorrectos</div>
<div class="normal">Por favor, vuelva a intentarlo</a></div>
<form class="formulario" action="validar.asp" method="post" target="_self">
Usuario<br/>
<input name="usuario" type="text" id="usuario" size="13" />
Contraseña
<input name="pwd" type="text" id="pwd" size="13" style="margin-bottom:5px;" />
<input type="submit" name="button4" id="button4" value="Acceder" />
</form>
<%end sub%>
Y el otro archivo que falta es el que comprueba que los datos de entrada son correctos, el validar.asp
Código HTML:
<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Documento sin título</title>
<!--#include file="includes/AbrirBD.asp"-->
<!--#include file="includes/acceder.asp"-->
</head>
<%
usu = request.Form("usuario")
pass = request.Form("pwd")
sql = "Select * from USUARIOS where usuario = '"&usu&"'"
'Ejecutar la instruccion contra la base de datos Cole'
tabla.open sql, conexion
if tabla.eof then
response.Write "No existe ningun usuario con ese nombre"
else
if tabla.fields("pass") = pass and tabla.fields("usuario") = usu then
session("usuario")=usu
response.Redirect("index.asp")
else
session("usuario")=fallo
response.Redirect("index.asp")
end if
end if
%>
<body>
<a href="index.asp">Volver</a>
</body>
<%tabla.close
conexion.close%>
</html>
Añado también el archivo desconectar.asp porque supongo que también importará.
Código HTML:
<%
Session.Contents.Remove("usuario")
response.redirect("../index.asp")
%>
¿Sabéis cual puede ser el fallo?