Foros del Web » Programando para Internet » PHP »

Redireccionar BIEN

Estas en el tema de Redireccionar BIEN en el foro de PHP en Foros del Web. Buenas, tengo un problema, vereis, se que para redireccionar a una pagina se usa header("Location:pagina.php"); Pero el problema q tengo es q eso hay q ...
  #1 (permalink)  
Antiguo 03/06/2003, 15:02
 
Fecha de Ingreso: junio-2003
Ubicación: Asturias
Mensajes: 2.427
Antigüedad: 14 años, 6 meses
Puntos: 7
Redireccionar BIEN

Buenas, tengo un problema, vereis, se que para redireccionar a una pagina se usa header("Location:pagina.php");

Pero el problema q tengo es q eso hay q ponerlo siempre al principio, de tal forma q siempre q entras en la pagina q tiene el header, esta hace lo q tiene q hacer y despues te redirecciona. Pues bien, yo querria saber si hay alguna forma de simplemente redireccionar dependiendo de una condicion.

Es decir, yo tengo lo siguiente:

if(sentencia){
//si se ejecuto bien la sentencia
header("Location:pagina.php");
}else{
echo "Ha Sucedido un error durante la inserccion";
}

Se que está mal, pero me gustaria saber si hay alguna forma de hacer que esto fuera posible, asi si fallo la sentencia, que no me redireccione, q me muestre un error, y sino pues q redireccione. Muchas Gracias.
__________________
Charlie.
  #2 (permalink)  
Antiguo 03/06/2003, 15:05
Avatar de ferny
Il capo della mafia
 
Fecha de Ingreso: febrero-2002
Ubicación: Al final del cable
Mensajes: 10.080
Antigüedad: 15 años, 9 meses
Puntos: 54
Pues creo que es como tu lo pusiste. Un ejemplo por si se envió o no un email:
Código PHP:
if(mail("[email protected]","HOLA","texto")){
//si se envió el email
header("Location: pagina.php");
}else{
echo 
"Error al intentar mandar un email";

__________________
www.mundodivx.com || www.mundodivx.org

Pon tu mano en un horno caliente durante un minuto y te parecerá una hora.
Siéntate junto a una chica preciosa durante una hora y te parecerá un minuto.
Eso es la relatividad.
  #3 (permalink)  
Antiguo 03/06/2003, 15:49
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 5 meses
Puntos: 16
Hola,

header() es una funcion. Solo se ejecuta cuando el flujo del script dice que le toca ejecutar. Con el if estas decidiendo el flujo del script. Es mas, puede que se ejecute el resto del script si no pones un exit; despues del header("location: ...").

Eso si, como es una funcion que trata con las cabeceras HTTP, no puedes generar nada que provoque el envio de las cabeceras HTTP y del cuerpo de la pagina. Eso significa nada de HTML, nada de caracteres, letras, espacios, retornos de carro.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
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 22:41.