Ver Mensaje Individual
  #4 (permalink)  
Antiguo 25/07/2013, 08:01
Avatar de Italico76
Italico76
 
Fecha de Ingreso: abril-2007
Mensajes: 3.303
Antigüedad: 17 años, 1 mes
Puntos: 292
Respuesta: problema con if

Mira como mejorar:

Código PHP:
Ver original
  1. <?php
  2.  
  3. // primera aproximacion : AUN MAL
  4. if($unidad == 1)
  5.     switch ($nivel)
  6.     {
  7.         case ('basico'):
  8.             header("location: unidad1basico.php");
  9.             exit;
  10.          
  11.         case ('intermedio'):
  12.             header("location: unidad1intermedio.php");
  13.             exit;
  14.  
  15.         case ('avanzado');
  16.             header("location: unidad1avanzado.php");
  17.             exit;
  18.     }

MEJOR:

Código PHP:
Ver original
  1. <?php
  2.  
  3. // posibles chequeos antes
  4.  
  5. header("location: unidad{$unidad}{$nivel}.php");

Los chequeos... podrian o no ser necesarios diria que NO puesto que deberia haberse chequeado en todo caso al guardar en DB y no al recuperar... pero serian estos:

Código PHP:
Ver original
  1. // Posibles chequeos antes de re-dirigir
  2.  
  3. $unidades = range (1,9);
  4. $niveles = array ('basico','intermedio','avanzado');
  5.  
  6.  
  7. if (!in_array($unidad,$unidades))
  8.     throw new Exception ("Unidad invalida");
  9.  
  10. if (!in_array($nivel,$niveles))
  11.     throw new Exception ("Nivel invalido");
__________________
Salu2!

Última edición por Italico76; 25/07/2013 a las 09:22