Hola,
adjunto a este mensaje hay dos archivos comprimidos con lo que sera la encuesta
del trabajo sociologico: encuestas.zip y sociologico.zip. El contenido de los
archivos los subiré a la web y vosotros mismos podreis ver el resultado.
Algunas explicaciones...
El módulo de encuestas de la FJI-Precarios consta de dos partes. El módulo
general de encuestas (encuestas.zip) y la encuesta propiamente dicha
(sociolgico.zip).
En el módulo general controlaremos los aspectos generales de las encuestas.
Básicamente registraremos las encuestas que tengamos "activas" y las
personas que las han contestado. Para ello guardaremos la información en dos
tablas: fji_encuestas y fji_enc_respuestas. En la primera tabla guardamos el
nombre de la encuesta y si está "activa" o no. Un número generado
automáticamente es la clave principal del registro. En la tabla
fji_enc_respuestas, registramos el correo electrónico del usuario, la
contraseña y la encuesta que está contestando. En este caso, otro entero
generado automáticamente identificará la respuesta. Esta clave será la que se
registrará en las tablas que se encarguen de recoger los datos.
Actualmente en este modulo encontramos dos archivos: Encuestas.sql, donde se
definen las tablas fji_encuestas y fji_enc_respuestas, acabadas de comentar. El
otro archivo: fji_encuesta.inc es un archivo de funciones php que son llamadas
cuando: (a) un nuevo usuario empieza a rellenar la encuesta, (b) cuando un
usuario recupera la encuesta a medias para continuar con ella y (c) para borrar
una encuesta a medias.
El archivo fji_encuesta.inc está incluido en el archivo: index.html que es la
pagina principal de la encuesta y que se encontrara en una subcarpeta de la
carpeta encuestas.
index.html En esta pagina cargamos la presentación del cuestionario y mostramos
un pequeño formulario (correo-e y contraseña) que se debe rellenar para poder
continuar con la encuesta. Tres opciones son posibles: Continuar, Empezar y
Borrar, cuyas acciones son las indicadas por el mismo nombre. Una vez se
rellenan los campos y el formulario es enviado se carga la pagina encuestas.php,
que mostrará las preguntas a contestar.
encuestas.php. Esta página carga la encuesta que se deberá rellenar. En este
archivo llamamos a la funciones en javascript que validaran las respuestas antes
de ser subidas a la base de datos (validacio.js), las hojas de estilo que se
encarguen de visualizar la encuesta y se incluirá (dentro de un formulario) la
encuesta que se tiene que rellenar y que estará guardada en un archivo xml
llamado "nombre_de_la_encuesta.enc" (en este caso, sociologico.enc)
y ahora (si habeis llegado hasta aqui) algunas preguntas/demanda de ayuda.
Tengo unos problemas tontos que me tocan un poco las narices. A ver si me podeis
echar un cable...
En el archivo index.html, hay una funcion de validacion "tonta" que no me acaba
de ir del todo bien. El problema lo tengo en el formulario. si pongo los botones
de tipo "button", el contenido de la variable "boton" no es enviado. Es decir,
no existe la variable php: $_POST['boton'] que dice si tengo que "Continuar",
"Empezar" o "Borrar" el cuestionario (lo que es un problema) De momento, tengo
el problema puenteado poniendo el tipo del boton: "submit" (pero es algo a
solucionar)
El segundo problema no es tan tonto... (o si, ya me diréis)
se trata de como gestionar las encuestas a medio rellenar. Mi inexperiencia en
estos temas me dice que tal vez la solucion apropiada sea el uso de cookies...
pero algo me dice que no. Ya que tengo entendido que las cookies se guardan en
el ordenador cliente lo que es un problema si uno empieza la encuesta en casa y
la acaba en el trabajo. Otra opción podria ser el guardar las sessiones, pero
no sé si esto se puede hacer y como se haria. Tendria que mirarme este tema en
el manual de php, por eso si hay alguien que tiene estas cosas frescas y puede
decir algo al respecto, genial. La tercera opcion que se me ocurre es añadir un
flag en la tabla fji_enc_respuestas que tome valores 0 o 1 en función de si la
encuesta está incompleta o no. Entonces cada vez que pasemos de bloque a
bloque, iriamos registrando los datos en la tabla del bloque.
¿Que opinais? ¿ideas?
Oriol
P.D. Este no es el punto donde está "encallada" la encuesta... esto solo es el
aperitivo ;)