Foros del Web » Programando para Internet » PHP »

Problemas con la funcion HEADER()

Estas en el tema de Problemas con la funcion HEADER() en el foro de PHP en Foros del Web. Hola, como dice el titulo tengo un problema con la instruccion header ... el problema es que tengo varios header en la pagina para mandar ...
  #1 (permalink)  
Antiguo 10/06/2012, 11:52
 
Fecha de Ingreso: febrero-2011
Mensajes: 11
Antigüedad: 13 años, 2 meses
Puntos: 0
Problemas con la funcion HEADER()

Hola, como dice el titulo tengo un problema con la instruccion header ... el problema es que tengo varios header en la pagina para mandar diferentes variables por GET y dependiendo de lo que me devuelva un formulario de registro va a mandar determinadas variables, el problema es que solo me reconoce el ultimo header() que coloco, por mas que le coloque un header al principio de la pagina no me lo reconoce, y no se por que, si alguien sabe el codigo es masomenos el siguiente:

Código:
// Me conecto a la base de datos

include('conexion_database.php');

//Verifico que los datos ingresados no existan en la base de datos

$query="SELECT * FROM Usuarios";

$result = mysqli_query($db,$query);

$row = mysqli_fetch_assoc( $result );

//Veo si existe el usuario
if( $row['user'] == $user ) {

/* Cierro base de datos */
mysqli_free_result( $result );
mysqli_close( $db );

header('location:user_insertado.php?us=1');
}

//Veo si existe el email
if( $row['email'] == $email ) {

/* Cierro base de datos */
mysqli_free_result( $result );
mysqli_close( $db );

header('location:user_insertado.php?ema=1');
}

//Veo si existe el nick
if( $row['nick'] == $nick ) {

/* Cierro base de datos */
mysqli_free_result( $result );
mysqli_close( $db );

header('location:user_insertado.php?nick=1');
}


......................
.....................
.....................
// algo de codigo

header('location:user_insertado.php?ok=1');
La cosa es que siempre me manda el ultimo header y hace todo lo que tiene que hacer osea en los puntos suspensivos hay mas codigo y ese codigo me lo hace que es el de insertar el usuario en la base de datos, pero no es un problema de la consulta de mysql porque si yo saco los header que estan dentro de los if y los dejo fuera de las etiquetas if igualmente me direcciona con el ultimo header y me ingresa el registro que es lo que no quiero que haga .... es mas si le pongo un header() justo arriba de ese header me toma igual el header ese ultimo, probe poniendo tambien otro header abajo de este y si ahi si me direcciono al otro pero tbm estaba como ultimo ... Ni idea que puede ser si tienen idea por favor respondanme se los voy a agradecer mucho... Gracias
  #2 (permalink)  
Antiguo 10/06/2012, 12:26
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Problemas con la funcion HEADER()

Deberías leer el manual, la función header() no detiene la ejecución del script, eso lo debes hacer manualmente.

Vamos, que si deseas detener la ejecución del script debes usar exit después del header().
Código PHP:
header(/* ... */);
exit; 
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 10/06/2012, 12:39
 
Fecha de Ingreso: febrero-2011
Mensajes: 11
Antigüedad: 13 años, 2 meses
Puntos: 0
Respuesta: Problemas con la funcion HEADER()

Era eso ! Muchas gracias ! :D Yo pensaba que con la instruccion header te enviaba directo a la otra pagina, pero al parecer no ...

Etiquetas: formulario, funcion, mysql, registro, variables, 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 20:13.