martes, noviembre 25, 2008

Evaluación Docente del ITT

Cada semestre en el ITT se realiza la evaluación docente por parte de los alumnos a los maestros que les impartieron clases, la evaluación es un requisito obligatorio para la inscripción al siguiente semestre.

Ya en un post previo había comentado que el sistema que tenían anteriormente - en ASP.NET - tenia un problema de inyección de SQL, aun y cuando lo reporte el sistema siguió funcionando por algunos semestres mas.

Ahora hay nuevo sistema escrito en PHP, parece que no tiene problemas de inyección de SQL, pero tiene un problema mayor, simplemente NO FUNCIONA!!.

Después de las respectivas mentadas para los desarrolladores, que espero que no sean del ITT - por aquello de la pena ajena -, me puse a analizar el problema detalladamente y esto es lo que encontré.

Primero el problema consiste en que si se puede uno firmar en el sistema, pero al momento de realizar la evaluación docente hay que contestar algunas preguntas y presionar un botón llamado "siguiente pregunta", este botón envía una forma al servidor donde se procesan las respuestas.

Evaluacion
Uploaded with plasq's Skitch!


El problema esta que el botón en lugar de "postear" la forma, su evento es interceptado por un evento onclick, el cual llama la función de javascript llamada verificar. Lo absurdo de esto es que la forma solo tiene radio buttons, no hay text fields donde el usuario puede cometer un error en los datos, pero aun así esta función de javascript realiza la "verificación" de lo contestado en los radio buttons.

evaluaforma
Uploaded with plasq's Skitch!


Aquí en esta función es donde empieza el problema, si la verificación falla, despliega un mensaje en la forma indicando el problema, pero la función verificar falla desde antes de realizar cualquier validación, por lo tanto no muestra ningún mensaje de error simplemente no hace nada y la forma nunca se "postea".

El problema recae en que haciendo uso del DOM el script trata de obtener una instancia de la forma mediante document.getElementById("cuestionario"), y en el código html no existe ningún elemento con id = cuestionario, por tal motivo cuando trata de leer en la siguiente linea la longitud de los elementos que conforma la forma, obtiene un "null reference" y el programa se detiene.

evalua_form
Uploaded with plasq's Skitch!


Una solución seria ponerle a la declaración de la forma el id = "cuestionario" o cambiar la linea de la función verificar a que obtenga la referencia por el nombre de la forma (name = "cuestionario") y no el id, ej:
var form = document.getElementsByName("cuestionario")[0];

script
Uploaded with plasq's Skitch!


Esperemos que alguien arregle el problema y podamos realizar la correspondiente evaluación para no batallar - mas de normal - en la re-inscripcion del siguiente semestre.

Trate de notificar este problema pero resulta que la pagina no tiene email de contacto, quizás por vergüenza de quien la programo, no lo se...

4 comentarios:

Jesús Chávez C dijo...

Chat con ARMIDA RUIZ SALCEDO

9:53 Yo: buen dia Profe....una dudita... no funciona la página para evaluar a los maestros?
10:09 ARMIDA: si funciona, lo que pasa es que debes de usar el navegador esplorer,
10:10 Yo: :O
ARMIDA: ya tienes tu NIP
que no. de control tienes.
Yo: xxxxxxxx mi nip sería xxxx?
10:11 ARMIDA: si ese es
recuerda que mañana es el ultimo dia!
Yo: ok
ARMIDA: ok
10:12 Yo: gracias

te paso esa info... ahora quedaría comprobar! ;)

Jesús Chávez C dijo...

Probado.... solo funciona en "esplorer" ¿por qué? quien sabe!!

janeth dijo...

si no alcanse a realizar la evaluacion docente, que pasa no puedo volver a inscribirme al siguiente semestre es que tube un problema y no pude accesar?

Mario Alberto Chavez dijo...

Si puedes inscribirte, solo que alguien te hara mala cara porque no hiciste la evaluacion a tiempo, te enviaran a hacerla y ya que la termines podras realizar el tramite de inscripcion...