Foros del Web » Programando para Internet » PHP »

hacer header por debajo del header de la pagina

Estas en el tema de hacer header por debajo del header de la pagina en el foro de PHP en Foros del Web. Hola a todos, tengo el sigueinte problema. Resulta que tengo un buscador en el cual el codigo php esta por debajo del header de la ...
  #1 (permalink)  
Antiguo 31/07/2009, 19:41
 
Fecha de Ingreso: abril-2009
Mensajes: 409
Antigüedad: 15 años
Puntos: 3
hacer header por debajo del header de la pagina

Hola a todos, tengo el sigueinte problema. Resulta que tengo un buscador en el cual el codigo php esta por debajo del header de la pagina y lo que tengo que hacer es si la busqueda da 1 direccionar a otra pagina , pero el problema es que como el header de la pagina ya esta impreso salta el error.
el header seria el sigueinte que neceisto

header ("location:ejemplares.php?id=$id");

Mi pregunta es, como puedo direccionar estando debajo del header de la pagina el codigo php (no tengo forma de ponerlo por encima del header de la pagina).

Gracias y espero su ayuda.
  #2 (permalink)  
Antiguo 31/07/2009, 20:07
 
Fecha de Ingreso: enero-2009
Mensajes: 408
Antigüedad: 15 años, 3 meses
Puntos: 14
Respuesta: hacer header por debajo del header de la pagina

Proba de hacer un include con un fichero php que emita un html debajo del header y listo :).

Saludos , es decir redireccionar con una etiqueta meta de html.
  #3 (permalink)  
Antiguo 01/08/2009, 07:44
 
Fecha de Ingreso: junio-2006
Mensajes: 84
Antigüedad: 17 años, 10 meses
Puntos: 1
Respuesta: hacer header por debajo del header de la pagina

sí, colocalo así:

Código PHP:
ob_start();
header ("Location: index.php");
ob_flush(); 
  #4 (permalink)  
Antiguo 01/08/2009, 07:57
 
Fecha de Ingreso: abril-2009
Mensajes: 409
Antigüedad: 15 años
Puntos: 3
Respuesta: hacer header por debajo del header de la pagina

probe como me decis con el ob_start() y me sigue poniendo esto

Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\vt\ejemplares\index.php:37) in C:\xampp\htdocs\vt\ejemplares\index.php on line 191


hay alguna forma de hacerlo. necesito si o si direccionar a otra pagina si se da una condicion .

gracias.
  #5 (permalink)  
Antiguo 01/08/2009, 07:59
 
Fecha de Ingreso: julio-2009
Mensajes: 118
Antigüedad: 14 años, 9 meses
Puntos: 2
Respuesta: hacer header por debajo del header de la pagina

que tienes en la línea 37 de C:\xampp\htdocs\vt\ejemplares\index.php ?
  #6 (permalink)  
Antiguo 01/08/2009, 08:01
 
Fecha de Ingreso: abril-2009
Mensajes: 409
Antigüedad: 15 años
Puntos: 3
Respuesta: hacer header por debajo del header de la pagina

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<html lang="es">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Sistema Veterinaria - Buscador de Ejemplares</title>
<style type="text/css">

esas son las lineas desde la 31 hast ala 37 del index.php
  #7 (permalink)  
Antiguo 01/08/2009, 08:06
 
Fecha de Ingreso: julio-2009
Mensajes: 118
Antigüedad: 14 años, 9 meses
Puntos: 2
Respuesta: hacer header por debajo del header de la pagina

Por eso es por lo que no te deja hacer después un header('location:');

Lo que puedes hacer es meter todo el código html y el código de salida (todos los echo'algo';) en una variable, por ejemplo $out y después al final de index.php poner un echo $out;
  #8 (permalink)  
Antiguo 01/08/2009, 08:06
 
Fecha de Ingreso: enero-2009
Mensajes: 408
Antigüedad: 15 años, 3 meses
Puntos: 14
Respuesta: hacer header por debajo del header de la pagina

Hola , podrias publicar el codigo de index.php asi visualizamos tu error?.

Saludos!
  #9 (permalink)  
Antiguo 01/08/2009, 08:10
 
Fecha de Ingreso: abril-2009
Mensajes: 409
Antigüedad: 15 años
Puntos: 3
Respuesta: hacer header por debajo del header de la pagina

Cita:
Iniciado por albert1980 Ver Mensaje
Por eso es por lo que no te deja hacer después un header('location:');

Lo que puedes hacer es meter todo el código html y el código de salida (todos los echo'algo';) en una variable, por ejemplo $out y después al final de index.php poner un echo $out;
no llego a entender bien lo que tendria uqe hacer, no podrias darme un ejemplo o algo para que vea mejor el procedimiento?
el header (location:ejemplares.php) lo tengo en la mitad de la pagina mas o menos .
muchas gracias.
  #10 (permalink)  
Antiguo 01/08/2009, 08:14
 
Fecha de Ingreso: junio-2006
Mensajes: 84
Antigüedad: 17 años, 10 meses
Puntos: 1
Respuesta: hacer header por debajo del header de la pagina

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<html lang="es">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Sistema Veterinaria - Buscador de Ejemplares</title>
<style type="text/css">

todo esto de arriba
debe estar debajo de la redireccion header("Location: index.php");
  #11 (permalink)  
Antiguo 01/08/2009, 08:16
 
Fecha de Ingreso: abril-2009
Mensajes: 409
Antigüedad: 15 años
Puntos: 3
Respuesta: hacer header por debajo del header de la pagina

si pero no pierdo algo de la pgina asi? porque arriba del php hay codigo html con stylos por ej?
y otra consulta a ver si sirve.
lei que con echo "<META HTTP-EQUIV='refresh' CONTENT='0; URL=$PHP_SELF'>";
hago un refresco de la pagina, mi idea es asignar una variable y refrescar la pagina para que la tome arriba del header la variable y con una condicion direccion, pero al poner esa linea me pasa que queda en refresco continuo la pagina osea nunca para de refrescarse, como hago para que refresque una ves sola?.

gracias.
  #12 (permalink)  
Antiguo 01/08/2009, 08:29
 
Fecha de Ingreso: junio-2006
Mensajes: 84
Antigüedad: 17 años, 10 meses
Puntos: 1
Respuesta: hacer header por debajo del header de la pagina

if ($refrescar == "si"){

}else{
<META HTTP-EQUIV='refresh' CONTENT='0; URL=$PHP_SELF?refrescar=Si'>";
}

???

si adivino un poco, quieres obtener la ID de algo que acabas de meter a una base de datos.
para hacer eso deberías hacer una transacción
BEGIN;... etc
  #13 (permalink)  
Antiguo 01/08/2009, 08:37
 
Fecha de Ingreso: abril-2009
Mensajes: 409
Antigüedad: 15 años
Puntos: 3
Respuesta: hacer header por debajo del header de la pagina

no lo que necesito hacer es pasar variables que vienen del resultado del buscador. osea yo estoy buscando un caballo y con el tomo y folio paso a la otra pagina donde estan los detalles.
Estoy intentando crear una session con el tomo y folio y al refrescar tomarlas arriba del header de la pagina a ver si asi anda.

muchisimas gracias.
  #14 (permalink)  
Antiguo 01/08/2009, 08:44
 
Fecha de Ingreso: abril-2009
Mensajes: 409
Antigüedad: 15 años
Puntos: 3
Respuesta: hacer header por debajo del header de la pagina

Buen de esta forma con sesiones anda parece.
lo que hice fue lo siguiente a ver si esta bien o si alguien tiene alguna forma mas facil de hacerlo.


if($paging->numRegistrosMostrados() == 1) {
$row = $paging->fetchResultado();
$_SESSION['tomo'] = $row['t'];
$_SESSION['folio'] = $row["f"];
$_SESSION['variable'] = 1;
echo "<META HTTP-EQUIV='refresh' CONTENT='0; URL=$PHP_SELF'>";

luego de hacer la consultas debajo del header puse esto.

y arriba del header

if ($_SESSION['variable'] == 1){
$idtomo = $_SESSION['tomo'];
$idfolio = $_SESSION['folio'];
unset($_SESSION['variable']);
unset($_SESSION['tomo']);
unset($_SESSION['folio']);
header ("location:detalles?idtomo=$idtomo&idfolio=$idfoli o");
exit();
}

eso y de esta forma direcciona tomando las variables del buscador y anda perfecto.

gracias.

una consulta, esta bien asi como destruyo las variables de session? hay alguna forma de destruir las 3 de 1 , teniendo en cuenta que tengo sessiones abiertas para el usuario tambien que son $_session[usuario].

gracias nuevamente.
  #15 (permalink)  
Antiguo 01/08/2009, 08:45
 
Fecha de Ingreso: enero-2009
Mensajes: 408
Antigüedad: 15 años, 3 meses
Puntos: 14
Respuesta: hacer header por debajo del header de la pagina

con session_destroy o unset() y colocas cada variable a destruir separada por una coma.

Saludos!
  #16 (permalink)  
Antiguo 01/08/2009, 08:45
 
Fecha de Ingreso: julio-2009
Mensajes: 118
Antigüedad: 14 años, 9 meses
Puntos: 2
Respuesta: hacer header por debajo del header de la pagina

Cita:
Iniciado por diegomel Ver Mensaje
no llego a entender bien lo que tendria uqe hacer, no podrias darme un ejemplo o algo para que vea mejor el procedimiento?
el header (location:ejemplares.php) lo tengo en la mitad de la pagina mas o menos .
muchas gracias.

Pues es algo como esto:

Código PHP:
<?php

$out 
'<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<html lang="es">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Sistema Veterinaria - Buscador de Ejemplares</title>
<style type="text/css">'
;


if(
$redir == 1)
header('location: inedx.php');
else
$out .= 'Bienvenido';
echo 
$out;
?>
  #17 (permalink)  
Antiguo 01/08/2009, 09:30
 
Fecha de Ingreso: abril-2009
Mensajes: 409
Antigüedad: 15 años
Puntos: 3
Respuesta: hacer header por debajo del header de la pagina

lo que noto ahora con echo "<META HTTP-EQUIV='submit' CONTENT='0'; URL='$PHP_SELF'>";

es que primero refresca toda la pagina, osea aparece toda de nuevo y recien al seg de aparecer de nuevo la pagina, ahi ejecuta el header("location:ejemplares")

no hay forma que en ves de usar un refresh pueda hacer un submit de la pagina al darse la condicion que puse mas arriba?
osea
if($paging->numRegistrosMostrados() == 1) {
$row = $paging->fetchResultado();
$_SESSION['tomo'] = $row['t'];
$_SESSION['folio'] = $row["f"];
$_SESSION['variable'] = 1;
echo "<META HTTP-EQUIV='refresh' CONTENT='0'; URL='$PHP_SELF'>";
}

que en ves de refrescar la pagina (que queda mal porque tarda en direcionar a la otra) que haga un submit o algo para volver a recargar la pagina y asi si tomar las sesiones que abri y direccionar a la otra pagina?.

saludos
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:31.