Foros del Web » Programando para Internet » ASP Clásico »

Ayuda con Código ASP

Estas en el tema de Ayuda con Código ASP en el foro de ASP Clásico en Foros del Web. Muy buenos días, les estoy pidiendo ayuda para este código que acontinuación pego, la idea es crear una página web para una institución educativa, y ...
  #1 (permalink)  
Antiguo 05/10/2005, 06:48
 
Fecha de Ingreso: abril-2004
Ubicación: Mérida
Mensajes: 20
Antigüedad: 21 años
Puntos: 0
De acuerdo Ayuda con Código ASP

Muy buenos días, les estoy pidiendo ayuda para este código que acontinuación pego, la idea es crear una página web para una institución educativa, y la finalidad de la misma es asignarle a cada representante un login y la clave (password) para acceder a la información necesaria de su hijo o hija, que son las notas de las meterias, inasistencias, y otros, yo cree la Base de Datos en Access, y estoy tranajando como editor Dreamweaver MX, en la base de datos, cree una tabla de acceso, otra de los alumos...
la idea es que cada vez que el representante emtre con su login y password, acceda solamente a la información correspondiente de su hija o hijo y es lo único en que no he podido solucionar, por favor, necesito ese código ASP, y que me digan a que página entro para copiar ese código.
Este es el código de acceso:


<html>
<head>
<title>Acceso de los Representantes</title>
<body style="font-family: Arial; font-size: 9pt">
<p align="center">&nbsp;<b>
</b></p>

<form action="Formulario.asp" method="POST" name="" id="">
<p align="center">&nbsp;</p>
<div align="center">
<center>
<table border="0" width="50%" bgcolor="#F2F2F2">
<tr>
<td width="100%" colspan="2" bgcolor="#0000FF">
<p align="center"><font color="#FFFFFF"><strong>Acceso</strong></font></td>
</tr>
<tr>
<td width="50%" align="right">Usuario:</td>
<td width="50%"><input name="campo_usuario" type="text" id="campo_usuario" size="20"></td>
</tr>
<tr>
<td width="50%" align="right">Contraseña: </td>
<td width="50%"><input name="campo_password" type="password" id="campo_password" size="20"></td>
</tr>
<tr>
<td width="100%" colspan="2">
<p align="center"><input type="submit" value="Enviar" name="B1"></td>
</tr>
</table>
</center>
</div>
</form>
<p align="center"><b><br>
</b></p>

<%
If Request.Form("campo_usuario") = "" OR Request.Form("campo_password") = "" then
'Response.Redirect "Contraseña.htm"
response.write "<p><a href='javascript:history.back()'>Volver</a></p>"

Else
Dim var_usuario, var_password, oConn, RS

'Guardamos los datos del Form en variables.
var_usuario = Trim(Request.Form("campo_usuario"))
var_password = Trim(Request.Form("campo_password"))

'Conectamos a nuestra BD.
Set oConn = Server.CreateObject ("ADODB.Connection")
Set RS = Server.CreateObject ("ADODB.RecordSet")

oConn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & server.mappath("contraseña.mdb")


'Seleccionamos de la tabla solo los registros que concuerden con el usuario del Form.
sql = "SELECT * FROM tabla_usuarios WHERE usuario='"& var_usuario &"' "
RS.Open sql, oConn, 1, 1

'Si el valor EOF (fin de la tabla elegida) es verdadero, no existe el usuario.
If RS.EOF = True then
Response.Write "<BR><br>Ese usuario no existe"
response.write "<p><a href='javascript:history.back()'>&lt;&lt;Volver</a></p>"

'Si el campo de la tabla es igual a nuestra variable, estas logueado.
ElseIf RS.Fields("password") = var_password then
Response.Write "<BR><BR>Accediste con éxito. Bienvenido <B>"& var_usuario &"</B>"
'response.redirect "reporte.asp"
sql = "SELECT * FROM tabla_alumnas WHERE password='"& var_password &"' "
response.Write("Apellidos: ")
response.write(RS.Fields("apellidos")) & "<br>"
Response.Write("Nombres: ")
Response.Write(RS.Fields("nombres") & "<BR>")

'Otra cosa, seria cuando el password no es la que seleccionamos.
Else
Response.Write "<BR><br>Esa contraseña no concuerda con el usuario ingresado"
response.write "<p><a href='javascript:history.back()'>&lt;&lt;Volver</a></p>"
End If'Limpiamos y cerramos.

RS.Close
oConn.Close
Set RS = Nothing
Set oConn = Nothing
End If%>

La idea si es posible que dentro de este mismo código ASP, podría acceder a la información necesaria del hijo o hija..

Yo hice un enlace a otra página llamada reporte, pero en esa página reporte se trae toda la información que se encuentra en la trabla alumnas.

El código es este:

<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Documento sin t&iacute;tulo</title>
</head>

<body>
<%

'dim var_password, oConn, RS

set oConn=Server.CreateObject("ADODB.Connection")
set RS=Server.CreateObject("ADODB.Recordset")
oConn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source="&Server.MapPath("contraseña.mdb")&";"

sql = "SELECT * FROM tabla_alumnas WHERE password='"& var_password &"' "
RS.Open SQL, oConn
do while not RS.eof
response.Write("Apellidos: ")
response.write(RS.Fields("apellidos")) & "<br>"
Response.Write("Nombres: ")
Response.Write(RS.Fields("nombres") & "<BR>")

RS.movenext
loop
RS.close
oConn.close
%>

</body>
</html>


Gracias de antemano, pero necesitos de sus ayudas...
  #2 (permalink)  
Antiguo 05/10/2005, 09:15
 
Fecha de Ingreso: abril-2004
Ubicación: Mérida
Mensajes: 20
Antigüedad: 21 años
Puntos: 0
De acuerdo Por favor

Por favor necesito la ayuda de los foristas.

Gracias de antemano
  #3 (permalink)  
Antiguo 05/10/2005, 09:29
 
Fecha de Ingreso: febrero-2005
Mensajes: 86
Antigüedad: 20 años, 2 meses
Puntos: 1
Tenes que hacer un redirect

Hola, lo que tendrias que hacer es que, una vez chequeado el usuario en la BD, lo lleve a la pagina propia por medio de un redirect. Se deduce que cada alumno tendrá una pagina donde volcarás datos. Caso contrario lo que le tenés que mostrar es el resultado de ese usuario en la tabla.
Cuando verifica en la BD, deberia haber un campo donde figure el nombre de esa pagina (ejemplo: Garcia_Jorge.asp). Toma el valor de ese campo creando una variable y luego con la misma haces el redirect.
  #4 (permalink)  
Antiguo 05/10/2005, 10:13
 
Fecha de Ingreso: abril-2004
Ubicación: Mérida
Mensajes: 20
Antigüedad: 21 años
Puntos: 0
De acuerdo Gracias por responder

Gracias por responder, y disculpa mi ignorancia, pero me podrías decir com sería el código, por favor si no es mucha molestia...

Gracias de antemano...


PD: La BD prinicpal se llama contraseñas. y tengo las tablas: tabla_usuarios, tabla_alumnas, tabla_notas.
  #5 (permalink)  
Antiguo 06/10/2005, 03:17
Avatar de 3pies
Colaborador
 
Fecha de Ingreso: diciembre-2003
Ubicación: Desde una destilería
Mensajes: 2.584
Antigüedad: 21 años, 4 meses
Puntos: 144
Nombre del fichero: formulario.asp
Código:
<html>
<head>
<title>Acceso de los Representantes</title>
</head>
<body style="font-family: Arial; font-size: 9pt">
<BR><BR><BR>
<form action="acceso.asp" method="POST" name="acceso">
	<p align="center">&nbsp;</p>
	<div align="center">
	<table border="0" width="50%" bgcolor="#F2F2F2">
		<tr><td colspan="2" bgcolor="#0000FF">
			<p align="center"><font color="#FFFFFF"><strong>Acceso</strong></font>
		</td></tr>
		<tr><td colspan="2" align="center">
			<font color="#0000FF" size="2">
			<%
			if request.querystring("mensaje")<>"" then
				response.write request.querystring("mensaje")
			else
				response.write "&nbsp;"
			end if
			%>
			</font>
		</td></tr>
		<tr><td width="50%" align="right">
			Usuario:
		</td>
		<td width="50%">
			<input name="campo_usuario" type="text" size="20" maxlength="20">
		</td></tr>
		<tr><td align="right">
			Contrase&ntilde;a:
		</td>
		<td>
			<input name="campo_password" type="password" size="20" maxlength="20">
		</td></tr>
		<tr><td colspan="2">
			&nbsp;
		</td></tr>
		<tr><td colspan="2">
			<p align="center"><input type="submit" value="Enviar" name="enviar">
		</td></tr>
		<tr><td colspan="2">
			&nbsp;
		</td></tr>
	</table>
	</div>
</form>
<script language="JavaScript">
<!--
// Focus en el input del usuario
document.acceso.campo_usuario.focus();
//-->
</script>
</body>
</html>
Nombre del fichero: acceso.asp
Código:
<html>
<head>
<title>Acceso de usuarios</title>
</head>
<body style="font-family: Arial; font-size: 9pt">
<BR><BR><BR>
<table border="0" align="center" width="60%">
<tr><td ALIGN="CENTER">
<%
strUsuario = replace(trim(request.form("campo_usuario")), "'", "")
strPassword = replace(trim(request.form("campo_password")), "'", "")

'Nos aseguramos de que los campos no están vacíos
if strUsuario = "" or strPassword = "" then
	Response.Redirect "formulario.asp?mensaje=Usuario%20o%20password%20incorrectos"

'Si el usuario ha puesto un nombre y password...
else

	'Conectamos a nuestra BD
	Set oConn = Server.CreateObject ("ADODB.Connection")
	Set RS = Server.CreateObject ("ADODB.RecordSet")

	oConn.Open ("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath ("contraseña.mdb"))

	'Seleccionamos de la tabla solo el registro que concuerda con el usuario del formulario
	sql = "SELECT * FROM tabla_usuarios WHERE usuario='"& strUsuario &"' AND password='" & strPassword & "'"
	RS.Open sql, oConn, 1, 1

	'Si el valor EOF (fin de la tabla elegida) es verdadero, no existe el usuario.
	if RS.EOF then
	%>
		<BR><BR>Usuario o password, incorrectos.
		<p><a href='javascript:history.back(-1)'><< Volver</a></p>
	<%
	'Si nos devuelve un registro (se supone que nunca habrá 2 usuarios iguales y con el mismo password)
	'porque sino, te devolverá una tabla con 2 registros
	else
	%>
		<DIV ALIGN="justify">
		<BR><BR>Accediste con éxito. Bienvenido <B><%=strUsuario%></B>.<BR><BR>
		<U>Tus datos personales:</U><BR>
		Apellidos: <%=rs.fields("apellidos")%><BR>
		Nombre: <%=rs.fields("nombres")%><BR><BR>

		<%
		'Cerramos y limpiamos el recordset
		'--------------------------------
		'  MODIFICADO
		'RS.Close
		'Set RS = Nothing
		'--------------------------------

		'------------------------------------------
		'Ahora puedes montar la consulta que desees
		'------------------------------------------
		'Mostramos los datos, más o menos de esta forma
		Set RS2 = Server.CreateObject ("ADODB.RecordSet")

		'Mostramos las notas de ese usuario
		sql2 = "SELECT * FROM tabla_notas WHERE usuario='"& strUsuario & "'"
		RS2.Open sql2, oConn, 1, 1

		'Aquí haces lo que tengas que hacer
		'bla, bla, bla
		'bla, bla, bla
		'bla, bla, bla
		'bla, bla, bla
		'bla, bla, bla

		'Una vez finalizado, cerramos y limpiamos el recordset
		RS2.Close
		Set RS2 = Nothing
		'------------------------------------------
		'fin de la consulta elegida
		'------------------------------------------	

	'finalizamos el condicional que mira si el usuario y password son correctos
	end if

	'Cerramos y limpiamos todo
	'-----------------
	RS.Close
	Set RS = Nothing
	'-----------------
	oConn.Close
	Set oConn = Nothing

'finalizamos la comprobación de si ha puesto nombre de usuario y password
end if
%>
</td></tr>
</table>
</body>
</html>
¿No te quejarás, ehhh?

SalU2

Editado: He cambiado una cosa del segundo fichero. Vuelve a echarle un vistazo

Última edición por 3pies; 06/10/2005 a las 08:41
  #6 (permalink)  
Antiguo 06/10/2005, 07:58
 
Fecha de Ingreso: abril-2004
Ubicación: Mérida
Mensajes: 20
Antigüedad: 21 años
Puntos: 0
De acuerdo Muchas Gracias

Gracias por responder voy a probarlo y les comento...
  #7 (permalink)  
Antiguo 14/10/2005, 16:34
 
Fecha de Ingreso: abril-2004
Ubicación: Mérida
Mensajes: 20
Antigüedad: 21 años
Puntos: 0
De acuerdo Muchas Gracias - Funcionó

Muchas gracias pana, funciono 100%

Ender
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:19.