Ver Mensaje Individual
  #2 (permalink)  
Antiguo 24/01/2016, 15:09
Avatar de Alexis88
Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: Redirección con mas diagonales de lo normal

Puedes formar la ruta de acuerdo a los valores que obtengas:
Código PHP:
Ver original
  1. $ruta = 'Location: estados/';
  2.  
  3. if (isset($_POST['estado']) && strlen($_POST['estado'])){
  4.     $ruta .= '/' . $_POST['estado'];
  5. }
  6.  
  7. if (isset($_POST['municipio']) && strlen($_POST['municipio'])){
  8.     $ruta .= '/' . $_POST['municipio'];
  9. }
  10.  
  11. if (isset($_POST['localidad']) && strlen($_POST['localidad'])){
  12.     $ruta .= '/' . $_POST['localidad'];
  13. }
  14.  
  15. if (isset($_POST['categoria']) && strlen($_POST['categoria'])){
  16.     $ruta .= '/' . $_POST['categoria'];
  17. }
  18.  
  19. header($ruta);

O recorriendo al array:
Código PHP:
Ver original
  1. $ruta = 'Location: estados/';
  2.  
  3. foreach($_POST as $valor){
  4.     if (isset($valor) && strlen($valor)){
  5.         $ruta .= '/' . $valor;
  6.     }
  7. }
  8.  
  9. header($ruta);

Con la función isset(), determinamos que la variable que se le pase como argumento, esté definida y no sea nula, mientras que con la función strlen() obtenemos la longitud del valor de la variable que se le pase como argumento y evaluándola de esa manera, corroboramos que sea mayor a cero (o diferente a false).

Un saludo
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand