Foros del Web » Programando para Internet » PHP »

problemas con header("Location:

Estas en el tema de problemas con header("Location: en el foro de PHP en Foros del Web. quisiera saber como puedo resolver el siguiente problema: despues de realizar ciertas acciones en la pagina principal lo mando a esta pagina, en esta pagina ...
  #1 (permalink)  
Antiguo 05/10/2010, 09:03
Avatar de jcamacho  
Fecha de Ingreso: marzo-2008
Mensajes: 72
Antigüedad: 16 años, 8 meses
Puntos: 1
problemas con header("Location:

quisiera saber como puedo resolver el siguiente problema: despues de realizar ciertas acciones en la pagina principal lo mando a esta pagina, en esta pagina inserta o actualiza unos registros y dependiendo de la accion que traiga ella va a generar un reporte con fpdf finalmente me debe llevar a una pagina que tengo por defecto que me dice si la accion que se ejecuto se realizo correctamente, el problema es que cuando utilizo el header("Location: me da el famoso error "Cannot modify header information - headers already sent by " ya yo se que si utilizo el header("Location: no deberia mandar ningun codigo html con anterioridad pero no se como hacer lo que quiero hacer jejejejeje aqui les pongo el codigo reducido para que me entiendan un poco

Código PHP:
ob_start();
session_start(); 
<html>
<?
    $id
=3087;
              
$param="videxp=".$id."&vmot=".$txtmotivo."&vobs=".$txtobservacion."&vben=".$numbenef."&vmon=".$montodif;
             
?>
                 <script languaje="javascript">
                     window.open('../../app/Reporte/RepNota.php?+<? echo $param ?>','','height=400,width=400');  
                 </script> 
              <?       
/* el valor de $txtResultado viene de una accion que no les esto mostrando de ahi es que me dice si inserto correctamente o hubo un error */

$_SESSION['txtResultado'] = $txtResultado;
ob_end_flush();  

header("Location: ../../app/Carpeta/ValidarResultado.php");  
?>
</html>
espero que alguien me pueda decir como lo puedo hacer pero tengo que conseguir las dos cosas!!!! mandarlo al reporte y que se valla a la otra pagina tambien
  #2 (permalink)  
Antiguo 05/10/2010, 09:14
Avatar de ZydRick  
Fecha de Ingreso: febrero-2005
Ubicación: Lima
Mensajes: 750
Antigüedad: 19 años, 9 meses
Puntos: 4
Respuesta: problemas con header("Location:

la función header() no puedes usarla dentro de código html, siempre tienes que hacerlo antes del html, caso contario, hacer tus redirecciones con javascript.
  #3 (permalink)  
Antiguo 05/10/2010, 09:30
Avatar de eits  
Fecha de Ingreso: junio-2005
Ubicación: valladolid, yucatán
Mensajes: 1.655
Antigüedad: 19 años, 5 meses
Puntos: 88
Respuesta: problemas con header("Location:

en todo caso el ob_end_flush debe de ir despues del header o al final
Código PHP:
Ver original
  1. header("Location: ../../app/Carpeta/ValidarResultado.php");
  2. ?>
  3. </html>
  4. <?php ob_end_flush(); ?>
saludos.
__________________
El amor es la locura mas lucida que tiene el hombre.- Andres Henestrosa
la tristeza no existe, solo es... la ausencia de la felicidad.
  #4 (permalink)  
Antiguo 05/10/2010, 09:41
 
Fecha de Ingreso: enero-2009
Ubicación: Neiva, Huila
Mensajes: 196
Antigüedad: 15 años, 10 meses
Puntos: 2
Respuesta: problemas con header("Location:

compadre es muy sencillo...no puedes enviar contenido html antes del header...
3 opciones..

1. Organizas tu codigo =).
2. create una funcion pa redirigirla con Javascript

function headder($direccion)
{
echo"<script>window.location.href='".$direccion."' </script>";
}

3. usa ob_start(); y ob_end_flush();
  #5 (permalink)  
Antiguo 05/10/2010, 17:03
Avatar de Sourcegeek
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: $mex['B.C.'];
Mensajes: 1.816
Antigüedad: 15 años, 6 meses
Puntos: 322
Respuesta: problemas con header("Location:

Como dicen, no puedes establecer un header despues de codigo HTML..

Pero como en este caso estas usando ob_start(), si es posible
Solo que tu error es que debes poner el ob_end_flush(); siempre hasta el final del archivo
__________________
Buscas desarrollador web? Sourcegeek. Diseño web, Maquetación y Programación
¡Escribe bien! Esto es un foro, no un Facebook para que escribas con los pies

Etiquetas: Ninguno
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:35.