Ver Mensaje Individual
  #3 (permalink)  
Antiguo 24/01/2016, 15:21
byrong
 
Fecha de Ingreso: enero-2016
Ubicación: Venezuela
Mensajes: 139
Antigüedad: 8 años, 3 meses
Puntos: 3
Respuesta: Redirección con mas diagonales de lo normal

Cita:
Iniciado por Alexis88 Ver Mensaje
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 [URL="http://php.net/manual/es/function.isset.php"][inline]isset()[/inline][/URL], determinamos que la variable que se le pase como argumento, esté definida y no sea nula, mientras que con la función [URL="http://php.net/manual/es/function.strlen.php"][inline]strlen()[/inline][/URL] 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
Gracias amigo, sirvió perfecto, solo en
Código PHP:
$ruta 'Location: estados/'
le quite el / para que no me quedarán los dos al momento de enviar.

Saludos..