Ver Mensaje Individual
  #1 (permalink)  
Antiguo 19/07/2006, 21:28
yconoclasta
 
Fecha de Ingreso: febrero-2005
Mensajes: 135
Antigüedad: 19 años, 2 meses
Puntos: 0
Exclamación Validar cuestionario

Hola:

Estoy haciendo un cuestionario en linea y ando atorado en el proceso de validación, que no hayo cómo hacer.

He visto en algunos sitios que la página se valida antes de ser enviada e indica los campos que han faltado coloreando el texto, pero no he encontrado alguna muestra.

La cuestión es que el validador detecte si hay alguna pregunta que no esté contestada y antes de dar los resultados indique que se conteste la(s) pregunta(s).

¿Me explico?

Aquí la liga al cuestionario.

http://ensemblesys.com/curso/examen_ecologia2.php

Y también deseo algo un poco más complicado, que una vez dados los resultados también se muestren las respuestas incorrectas. Supongo que eso sería más fácil de hacer con una base de datos. El cuestionario actual está hecho con puro código directo.

Aquí doy el código del calificador (realmente algo muuuy sencillo, soy novato en esto del PHP):

Código PHP:
$preg1 $_POST['preg1'];
$preg2 $_POST['preg2'];
$preg3 $_POST['preg3'];
$preg4 $_POST['preg4'];
$preg5 $_POST['preg5'];
$preg6 $_POST['preg6'];
$preg7 $_POST['preg7'];
$preg8 $_POST['preg8'];
$preg9 $_POST['preg9'];
$preg10 $_POST['preg10'];
$preg11 $_POST['preg11'];
$preg12 $_POST['preg12'];
$preg13 $_POST['preg13'];
$preg14 $_POST['preg14'];
$preg15 $_POST['preg15'];
$preg16 $_POST['preg16'];
$preg17 $_POST['preg17'];
$preg18 $_POST['preg18'];
$preg19 $_POST['preg19'];
$preg20 $_POST['preg20'];
$preg21 $_POST['preg21'];
$preg22 $_POST['preg22'];
$preg23 $_POST['preg23'];
$preg24 $_POST['preg24'];
$preg25 $_POST['preg25'];
$preg26 $_POST['preg26'];
$preg27 $_POST['preg27'];
$preg28 $_POST['preg28'];
$preg29 $_POST['preg29'];
$preg30 $_POST['preg30'];
$preg31 $_POST['preg31'];
$preg32 $_POST['preg32'];
$preg33 $_POST['preg33'];
if (isset(
$_POST['preg34'])){
    
$preg34 $_POST['preg34'];
};
if (isset(
$_POST['preg35'])){
    
$preg35 $_POST['preg35'];
};
if (isset(
$_POST['preg36'])){
    
$preg36 $_POST['preg36'];
};
if (isset(
$_POST['preg37'])){
    
$preg37 $_POST['preg37'];
};
if (isset(
$_POST['preg38'])){
    
$preg38 $_POST['preg38'];
};
if (isset(
$_POST['preg39'])){
    
$preg39 $_POST['preg39'];
};
if (isset(
$_POST['preg40'])){
    
$preg40 $_POST['preg40'];
};

$contador 0;

if (
$preg1 == "") {
    
$contador $contador 1;
};
if (
$preg2 == d) {
    
$contador $contador 1;
};
if (
$preg3 == a) {
    
$contador $contador 1;
};
if (
$preg4 == c) {
    
$contador $contador 1;
};
if (
$preg5 == b) {
    
$contador $contador 1;
};
if (
$preg6 == f) {
    
$contador $contador 1;
};
if (
$preg7 == e) {
    
$contador $contador 1;
};
if (
$preg8 == h) {
    
$contador $contador 1;
};
if (
$preg9 == a) {
    
$contador $contador 1;
};
if (
$preg10 == d) {
    
$contador $contador 1;
};
if (
$preg11 == f) {
    
$contador $contador 1;
};
if (
$preg12 == g) {
    
$contador $contador 1;
};
if (
$preg13 == c) {
    
$contador $contador 1;
};
if (
$preg14 == b) {
    
$contador $contador 1;
};
if (
$preg15 == i) {
    
$contador $contador 1;
};
if (
$preg16 == e) {
    
$contador $contador 1;
};
if (
$preg17 == d) {
    
$contador $contador 1;
};
if (
$preg18 == b) {
    
$contador $contador 1;
};
if (
$preg19 == c) {
    
$contador $contador 1;
};
if (
$preg20 == a) {
    
$contador $contador 1;
};
if (
$preg21 == a) {
    
$contador $contador 1;
};
if (
$preg22 == b) {
    
$contador $contador 1;
};
if (
$preg23 == a) {
    
$contador $contador 1;
};
if (
$preg24 == a) {
    
$contador $contador 1;
};
if (
$preg25 == a) {
    
$contador $contador 1;
};
if (
$preg26 == c) {
    
$contador $contador 1;
};
if (
$preg27 == b) {
    
$contador $contador 1;
};
if (
$preg28 == b) {
    
$contador $contador 1;
};
if (
$preg29 == c) {
    
$contador $contador 1;
};
if (
$preg30 == c) {
    
$contador $contador 1;
};
if (
$preg31 == a) {
    
$contador $contador 1;
};
if (
$preg32 == c) {
    
$contador $contador 1;
};
if (
$preg33 == c) {
    
$contador $contador 1;
};
if (empty(
$preg34)) {
    
$contador $contador 1;
};
if (!empty(
$preg35)) {
    
$contador $contador 1;
};
if (empty(
$preg36)) {
    
$contador $contador 1;
};
if (!empty(
$preg37)) {
    
$contador $contador 1;
};
if (!empty(
$preg38)) {
    
$contador $contador 1;
};
if (!empty(
$preg39)) {
    
$contador $contador 1;
};
if (empty(
$preg40)) {
    
$contador $contador 1;
};
$resultado $contador 10 40;

echo 
"
<p>Este es tu resultado <strong>$resultado</strong>sobre un máximo de 10</p>
<p>Tuviste <strong>$contador</strong> aciertos de 40</p>
"

Gracias