Foros del Web » Programando para Internet » PHP »

Asignar resultado de consulta sql a header("Location:...

Estas en el tema de Asignar resultado de consulta sql a header("Location:... en el foro de PHP en Foros del Web. Es posible realizar esta acción .No se como redirigir a un usuario a una ruta especifica contenida en una tabla en la que estan los ...
  #1 (permalink)  
Antiguo 14/11/2006, 04:34
 
Fecha de Ingreso: noviembre-2006
Mensajes: 14
Antigüedad: 17 años, 5 meses
Puntos: 0
Asignar resultado de consulta sql a header("Location:...

Es posible realizar esta acción .No se como redirigir a un usuario a una ruta especifica contenida en una tabla en la que estan los siguinetees campos

email pswd nombre ruta

Como podria hacerlo???

seria usando una varibable con el contenido de la consulta en este campo en concreto?

Deberia crear otra pagina .php para realizarlo?? En este caso que iexpresiones le puedo indicar al header para qeu lo haga correctamente??

Alguien puede orientarme????

Gracias
  #2 (permalink)  
Antiguo 14/11/2006, 05:10
Avatar de jerkan  
Fecha de Ingreso: septiembre-2005
Mensajes: 1.607
Antigüedad: 18 años, 7 meses
Puntos: 19
Yo guardaría los resultado en variables de sesión si es mucha o bastante información. Si es sólo una variable, podrías pasarlo a traves del header así:
Código PHP:
header("Location: url?variable=".$var); 
Un saludo
  #3 (permalink)  
Antiguo 14/11/2006, 05:27
 
Fecha de Ingreso: noviembre-2006
Mensajes: 14
Antigüedad: 17 años, 5 meses
Puntos: 0
Esta $var podría ser el resultado de una sentencia sql? .

Te explico :

Yo lo que estoy intentando hacer es que a partir de un formulario recibo la variable email y la variable password que lo que hago es comprobar si existe algun campo en mi base de datos que coincida con estas cadenas de caracteres .

En el caso de que coincidan lo que quiero es que la pagina se redirija a otro de los campos que se llama ruta.

Voy a incluir a continuación el codigo que he generado pues me surge otra duda que es si con una sola sentencia puedo acceder al contenido del campo.

codigo del archivo control que recibe las variables direccion y password

<?
//conecto con la base de datos
$conn = mysql_connect("server","user","password");
//selecciono la BBDD
mysql_select_db("db",$conn);

//Sentencia SQL para buscar un usuario con esos datos
$ssql = "SELECT * FROM clientes WHERE email='$direccion' and password='$password'";
//Ejecuto la sentencia
$rs = mysql_query($ssql,$conn);

//vemos si el usuario y contraseña es váildo
//si la ejecución de la sentencia SQL nos da algún resultado
//es que si que existe esa conbinación usuario/contraseña

if (mysql_num_rows($rs)!=0){
//usuario y contraseña válidos
//defino una sesion y guardo datos
session_start();
session_register("autentificado");
$autentificado = "SI";
header("Location: url?variable=".$rs["ruta"]);


}
else {

//si no existe le mando otra vez a la portada
session_start();
session_register("autentificado");
$autentificado = "NO";
header("Location: formulariodeaccesophp");
}
mysql_free_result($rs);
mysql_close($conn);
?>

sería así la verdad es que estoy empezando con esto y creo que me hago un lio si me puedes echar una mano te lo agradezco
  #4 (permalink)  
Antiguo 14/11/2006, 06:41
Avatar de jerkan  
Fecha de Ingreso: septiembre-2005
Mensajes: 1.607
Antigüedad: 18 años, 7 meses
Puntos: 19
Cita:
//Sentencia SQL para buscar un usuario con esos datos
$ssql = "SELECT * FROM clientes WHERE email='$direccion' and password='$password'";
//Ejecuto la sentencia
$rs = mysql_query($ssql,$conn);
Aquí tendrías que comprobar que la query se ha realizado con éxito.

Cita:
session_register("autentificado");
Esta sintaxis está desfasada. Lo ideal es substituir el session_register por $_SESSION["autentificado"] = valor;
Cita:
header("Location: url?variable=".$rs["ruta"]);
Si $rs["ruta"] contiene una url completa deberías ponerla directamente, no?
Código PHP:
header("Loaction: ".$rs["ruta"]); 
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 01:32.