Foros del Web » Programando para Internet » PHP »

Cruzar datos para dirigir a una url

Estas en el tema de Cruzar datos para dirigir a una url en el foro de PHP en Foros del Web. necesito hacer un script que me permita cruzar unos datos que tengo en 3 campos de tipo list. Me explico campo1 |opcion 1| |opcion 2| ...
  #1 (permalink)  
Antiguo 05/07/2012, 11:17
Avatar de el_cesar  
Fecha de Ingreso: mayo-2001
Ubicación: Cali
Mensajes: 2.423
Antigüedad: 22 años, 10 meses
Puntos: 20
Cruzar datos para dirigir a una url

necesito hacer un script que me permita cruzar unos datos que tengo en 3 campos de tipo list.

Me explico

campo1
|opcion 1|
|opcion 2|
|opcion 3|
|opcion 4|
|opcion 5|

campo2
|opcion 1|
|opcion 2|
|opcion ..|
|opcion ..|
|opcion 110|

campo3
|opcion 1|
|opcion 2|
|opcion ..|
|opcion ..|
|opcion 80|

la cuestion es: si un usuario selecciona en campo 1 opcion 1 > en campo 2 opcion 2 > en campo 3 opcion 1 lo debe llevar a una url

si otro usuario selecciona en campo opcion 5 > en campo 2 opcion 4 > en campo 3 opcion 77 lo debe llevar a otra url

y asi sucesivamente, son en total 170 cruces posibles.

Mi pregunta es, alguien me puede dar una idea de como hacerlo de manera dinámica para no recurrir a un condicional eterno.

Gracias
__________________
Say no more.......
  #2 (permalink)  
Antiguo 05/07/2012, 11:49
Avatar de rodrigo791  
Fecha de Ingreso: noviembre-2009
Ubicación: Uruguay
Mensajes: 1.339
Antigüedad: 14 años, 5 meses
Puntos: 168
Respuesta: Cruzar datos para dirigir a una url

Tenes 3 <select> el campo 1 2 y 3.

Precisas meter eso dentro de un formulario, y un boton de submit para enviarlo a otro sript php.
En ese scrpt php tenes que hacer todas las validaciones posibles que tu decis, con eso de si elije del campo 1 la opcion 1 y en el campo 2 opcion 2 y en el campo 3 opcion 1.. etc..
Algo como
Código PHP:
Ver original
  1. //estos son los valores que te llegan de cada lista ( select )
  2. $valorSelect1 = $_POST['select1'];
  3.  
  4. $valorSelect2 = $_POST['select2'];
  5.  
  6. $valorSelect3 = $_POST['select3'];
  7.  
  8. //hacer condiciones para cada caso.
  9.  
  10. if($valorSelect1 == 'tuvalor' AND $valorSelect2 == 'tusegundo valor' AND $valorSelect3 == 'tu tercer valor'){
  11. //si es esta combinacion de valores que te llega, entonces redireccionas a una pagina determinada
  12. header("Location: pagina1.html");
  13. }elseif{
  14. //las otras condiciones
  15. }
  #3 (permalink)  
Antiguo 05/07/2012, 11:54
Colaborador
 
Fecha de Ingreso: mayo-2008
Ubicación: $MX['VZ']['Xalapa']
Mensajes: 3.005
Antigüedad: 15 años, 11 meses
Puntos: 528
Respuesta: Cruzar datos para dirigir a una url

Si la url destino tiene como nombre la combinación de las tres opciones, no veo que sea mucho problema, de lo contrario habría que hacer por fuerza las 170 combinaciones a mano.

Pero sería mejor si aclaras cómo es la url generada.
  #4 (permalink)  
Antiguo 05/07/2012, 13:08
Avatar de el_cesar  
Fecha de Ingreso: mayo-2001
Ubicación: Cali
Mensajes: 2.423
Antigüedad: 22 años, 10 meses
Puntos: 20
Respuesta: Cruzar datos para dirigir a una url

Cita:
Iniciado por ocp001a Ver Mensaje
Si la url destino tiene como nombre la combinación de las tres opciones, no veo que sea mucho problema, de lo contrario habría que hacer por fuerza las 170 combinaciones a mano.

Pero sería mejor si aclaras cómo es la url generada.
Precisamente aun no he definido como generar la url ni el destino, no se si sea mejor tomar el dato de una bd, me gustaria que me explicaras bien como es aquello de la url destino con el nombre como combinacion.
__________________
Say no more.......
  #5 (permalink)  
Antiguo 05/07/2012, 13:20
 
Fecha de Ingreso: julio-2012
Ubicación: Asunción
Mensajes: 54
Antigüedad: 11 años, 9 meses
Puntos: 3
Respuesta: Cruzar datos para dirigir a una url

Cita:
Iniciado por el_cesar Ver Mensaje
Precisamente aun no he definido como generar la url ni el destino, no se si sea mejor tomar el dato de una bd, me gustaria que me explicaras bien como es aquello de la url destino con el nombre como combinacion.

La forma más facil que veo de hacer eso es la sgte:

hacer que las 3 opciones seleccionadas formen una url completa. para recolectar y direccionar a la URL podrías hacer algo como esto:

Código PHP:
if(isset($_GET['campo1']))
{
    
$campo1 $_GET['campo1'];
    if(isset(
$_GET['campo2']))
    {
        
$campo1 $_GET['campo2'];
        if(isset(
$_GET['campo3']))
        {
            
$campo1 $_GET['campo3'];
            
$url $campo1.$campo2.$campo3.".html";
            
            
header("location: $url");
        }else{
            
header("location:index.php?error=campoincompleto");
        }
    }else{
        
header("location:index.php?error=campoincompleto");
    }
}else{
header("location:index.php?error=campoincompleto");

podría existir algun error de sintaxis porque no he probado el codigo.

Saludos

PD:
en este caso estoy usando metod GET, pero creo que no afecta si usas post como la propuesta anterior..

Última edición por skyspablo; 05/07/2012 a las 13:22 Razón: incompleto
  #6 (permalink)  
Antiguo 05/07/2012, 13:24
Colaborador
 
Fecha de Ingreso: mayo-2008
Ubicación: $MX['VZ']['Xalapa']
Mensajes: 3.005
Antigüedad: 15 años, 11 meses
Puntos: 528
Respuesta: Cruzar datos para dirigir a una url

Básicamente me refería al ejemplo que te indicó skyspablo, crear una url combinando (concatenando) los valores de cada opción seleccionada.
  #7 (permalink)  
Antiguo 05/07/2012, 13:25
Avatar de el_cesar  
Fecha de Ingreso: mayo-2001
Ubicación: Cali
Mensajes: 2.423
Antigüedad: 22 años, 10 meses
Puntos: 20
Respuesta: Cruzar datos para dirigir a una url

ok lo voy a probar y les cuento, me parece buena la idea
__________________
Say no more.......

Etiquetas: dirigir, url, usuarios
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:21.