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

Calificaciones de alumnos (Formulario)

Estas en el tema de Calificaciones de alumnos (Formulario) en el foro de ASP Clásico en Foros del Web. Hola, verán, tengo que hacer un sistema de calificaciones en que los alumnos puedan verlas en internet. He hecho una base de datos con Access ...
  #1 (permalink)  
Antiguo 12/11/2004, 16:45
 
Fecha de Ingreso: marzo-2003
Mensajes: 27
Antigüedad: 22 años, 1 mes
Puntos: 0
Calificaciones de alumnos (Formulario)

Hola,

verán, tengo que hacer un sistema de calificaciones en que los alumnos puedan verlas en internet.

He hecho una base de datos con Access que contiene 2 tablas: una llamada ALUMNOS con los campos ID_ALUMNO, NOMBRE_ALUMNO, CLAVE_ALUMNO, y otra tabla llamada CALIFICACIONES con los campos ID_ALUMNO, NOTA1, NOTA2, NOTA3... (tantos campos como notas se pongan).
El campo ID_ALUMNO de la tabla ALUMNOS está relacionado con el campo ID_ALUMNO de la tabla CALIFICACIONES.

A partir de aquí ya no sé cómo debo de seguir. Supongo que se tendría que hacer un formulario con una lista desplegable de los nombres de los alumnos y un campo para la contraseña. Cuando se envía el formulario supongo que se tendría que verificar los datos y enseñar solo las notas del alumno que se ha logeado (sería mediante la ID_ALUMNO con un SELECT * from..., me parece...).

Si alguien me puede ayudar con este sistema de calificaciones... no sé si voy en buen camino o no.

Gracias de antemano.
  #2 (permalink)  
Antiguo 12/11/2004, 17:30
Avatar de Prefontaine  
Fecha de Ingreso: agosto-2004
Mensajes: 313
Antigüedad: 20 años, 8 meses
Puntos: 0
Si teines un conociemento "medio" sobre asp busca en asptutor.com y encontrarás cosas muy utiles.

Un saludo
  #3 (permalink)  
Antiguo 13/11/2004, 05:49
 
Fecha de Ingreso: marzo-2003
Mensajes: 27
Antigüedad: 22 años, 1 mes
Puntos: 0
He encontrado este código en asptutor, pero no consigo que enseñe solo las calificaciones de el alumno que se ha loguedo.

Código HTML:
<%if request.form("usuario")="" then%>
<form method="POST" action="login.asp">
<p align="center"><%=request.querystring("msg")%></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">Login</font></td>
</tr>
<tr>
<td width="50%">Usuario:</td>
<td width="50%"><input type="text" name="usuario" size="20"></td>
</tr>
<tr>
<td width="50%">Clave: </td>
<td width="50%"> <input type="password" name="clave" 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>
<%else
'eliminamos las posibles comillas de la entrada
'para evitar la introducción de sentencias SQL
usuario=replace(request.form("usuario"),"'","")
clave=replace(request.form("clave"),"'","")

set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DSN=DSN_basededatos"
set rs = CreateObject("ADODB.Recordset")
sqltxt="SELECT * from ALUMNOS where NOMBRE_ALUMNO='"&usuario&"' and CLAVE_ALUMNO= '"&clave&"'"
'response.write sqltxt
rs.Open sqltxt, conn
if not rs.eof then
' nos ha devuelto un registro, ahora miraremos si es valido
' con ello evitamos el ataque típico SQL
if rs("NOMBRE_ALUMNO")=usuario and rs("CLAVE_ALUMNO")=clave then
' si el usuario esta en la base de datos y la password coincide
session("autorizacion")=1
'Ejecutas la consulta y si el usuario existe entonces te traes el campo cedula y lo guardas en la variable alumno puedes realizar otra consulta para obtener las calificaciones
response.redirect "calificaciones.asp"
end if
else
session("autorizacion")=-1

end if
rs.close
set rs=nothing
conn.close
set conn=nothing
if session("autorizacion")=-1 or session("autorizacion")="" then
' no hemos encontrado el registro
' eso indica que el usuario y/o la password son erroneos
response.redirect "login.asp?msg=usuario%20o%20clave%20incorrecta"
end if

end if%>
Al hacer click en Enviar te envía a calificaciones.asp (si el usuario y clave son correctos). Pero en calificaciones no se qué tengo que poner para que solo enseñe las calificaciones de el alumno que se ha logueado.
Supongo que cuando se comprueba que el usuario y la clave son correctas, si lo son se tiene que "recordar" la ID_ALUMNO y ponerla en una variable. Luego cuando te envía a calificaciones.asp tendría que haver algo como: SELECT * from CALIFICACIONES where ID_ALUMNO='"& id &"'
"& id &" es la ID del alumno.

Si alguien me puede ayudar con esta parte. De antemano gracias

P.D.: La parte del formulario no se si está bien o no, lo he sacado de asptutor y he cambiado los datos según mi tabla. Quizás con menos código se puede hacer lo mismo...
  #4 (permalink)  
Antiguo 13/11/2004, 06:09
Avatar de Prefontaine  
Fecha de Ingreso: agosto-2004
Mensajes: 313
Antigüedad: 20 años, 8 meses
Puntos: 0
pues la select que as puesto es correta. osea que debería de funcionaer con el where y la id de alumno, te debería de mostrar nada más los datos de ese alumno...
  #5 (permalink)  
Antiguo 13/11/2004, 06:20
 
Fecha de Ingreso: marzo-2003
Mensajes: 27
Antigüedad: 22 años, 1 mes
Puntos: 0
El problema es que cuando el formulario comprueba si el usuario y la clave son correctas (comprobándolo en la tabla ALUMNOS) tiene que "coger" la ID del alumno del campo ID_ALUMNO de la tabla ALUMNOS. Y luego cuando el formulario te envía a calificaciones.asp se hace el SELECT que puse y donde hay la variable id se pone la ID que "se cogió" de la tabla ALUMNOS.

Supongo que funciona así (o esto almenos es lo que he podido leer en distintos lugares).

El problema es que no sé como hacer esta parte (lo de "coger" la ID del usuario logueado si el usuario y la clave son correctas).
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 15:15.