# Exámenes - Casillas marcadas

En este examen se debe crear un programa que dibuje una tabla rectangular de casillas de verificación y que después cuente cuántas casillas se han marcado en cada fila. El programa tendrá tres páginas:

- La primera pide el tamaño de la tabla rectangular.
- La segunda dibuja la tabla.
- La tercera cuenta las celdas marcadas por fila.

Un ejemplo de programa puede probarse en la ventana siguiente

Enlace a examen Casillas marcadas

## Casillas marcadas - Comentarios

- El tamaño de la tabla debe comprobarse (que el número de filas y el de columnas sean números enteros entre el máximo y el mínimo.
- Para recoger los datos se pueden gastar estas dos funciones:

      function recoge($var)
      {
          $tmp = (isset($_REQUEST[$var])) ? strip_tags(trim(htmlspecialchars($_REQUEST[$var]))) : '';
          if (get_magic_quotes_gpc()) {
              $tmp = stripslashes($tmp);
          }
          return $tmp;
      }

      function recogeMatriz2($var)
      {
          $tmpMatriz = array();
          if (isset($_REQUEST[$var]) && is_array($_REQUEST[$var])) {
              foreach ($_REQUEST[$var] as $indice => $fila) {
                  $tmp = strip_tags(trim(htmlspecialchars($indice)));
                  if (get_magic_quotes_gpc()) {
                      $tmp = stripslashes($tmp);
                  }
                  $indiceLimpio = $tmp;
                  if (is_array($fila)) {
                      foreach ($fila as $indice2 => $valor) {
                          $tmp = strip_tags(trim(htmlspecialchars($indice2)));
                          if (get_magic_quotes_gpc()) {
                              $tmp = stripslashes($tmp);
                          }
                          $indice2Limpio = $tmp;

                          $tmp = strip_tags(trim(htmlspecialchars($valor)));
                          if (get_magic_quotes_gpc()) {
                              $tmp = stripslashes($tmp);
                          }
                          $valorLimpio  = $tmp;

                          $tmpMatriz[$indiceLimpio][$indice2Limpio] = $valorLimpio;
                      }
                  }
              }
          }
          return $tmpMatriz;
      }

- En la segunda página se añadirá el tamaño de la tabla en dos controles ocultos (o con sesiones)
- En la tercera página no hace falta verificar los valores

Esta obra está bajo una licencia de Creative Commons.