Foros del Web » Programando para Internet » PHP »

redireccion de paginas

Estas en el tema de redireccion de paginas en el foro de PHP en Foros del Web. Hola: Hay alguna forma de redireccionar a una pagina sin utilizar el header('Location: http:// '), es que si lo utilizo me da problemas Warning: Cannot ...
  #1 (permalink)  
Antiguo 16/06/2003, 14:21
Avatar de Sexma  
Fecha de Ingreso: junio-2003
Ubicación: Valencia
Mensajes: 109
Antigüedad: 20 años, 10 meses
Puntos: 0
redireccion de paginas

Hola:

Hay alguna forma de redireccionar a una pagina sin utilizar el header('Location: http://'), es que si lo utilizo me da problemas

Warning: Cannot modify header information - headers already sent by (output started at /home/virtual/~ouv/includes/constantes.php:4) in /home/virtual/~ouv/includes/funciones.php en la linea 309


Y lo raro que en el servidor que tengo en mi casa no me ha ningun problema pero acabo de subir la pagina al host y me ha empezado a dar muchos problemas.

Gracias
  #2 (permalink)  
Antiguo 16/06/2003, 14:28
Avatar de Rycmo  
Fecha de Ingreso: abril-2003
Mensajes: 188
Antigüedad: 21 años
Puntos: 0
<head>
<meta HTTP-EQUIV="Refresh" CONTENT="3; URL=http://www.loquesea.com">
</head>
***********************ó************************
<script LANGUAGE="JavaScript">

var pagina="http://www.nosemeocurrenada.com"
function redireccionar()
{
location.href=pagina
}
setTimeout ("redireccionar()", 1000);

</script>
__________________
La mayoría de las ideas fundamentales de la ciencia son esencialmente sencillas y, por regla general pueden ser expresadas en un lenguaje comprensible para todos.
  #3 (permalink)  
Antiguo 16/06/2003, 14:37
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 21 años, 10 meses
Puntos: 16
Hola,

¿Y por que no intentas solucionar el problema? El error te dice que en la linea 4 de constantes.php generas salida hacia el navegador, invlidando el uso de header(), las sesiones y las cookies.

¿Te sale algun otro mensaje de error antes? Los mensajes de error son salida hacia el navegador. Si en esa linea 4 se genera un mensaje de error, esa es la causa.

La razon de que te funcione en casa y en el hosting no es posible que sea por la configuracion de PHP. Quizas en el host tienen activado mostrar todos los tipos de error, incluido los notice, y tu en local tienes desactivados los notices.

En fin, que o creo que es mejor corregir el error que maquillarlo con otro tipo de redireccionamiento.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #4 (permalink)  
Antiguo 16/06/2003, 15:25
Avatar de Sexma  
Fecha de Ingreso: junio-2003
Ubicación: Valencia
Mensajes: 109
Antigüedad: 20 años, 10 meses
Puntos: 0
la linea que dice ya la mire y es simple comentario de php y por eso me estraña que me de ese error porque creo que los comentarios no se envian al navegador o si?
  #5 (permalink)  
Antiguo 16/06/2003, 20:59
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Pero antes de tu <? fijate que no tengas un salto de linea o un espacio .. y si lo llamas en un "include" a ese código asegurate que no existan ni saltos de línea ni espacios al final del ?> ..

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #6 (permalink)  
Antiguo 16/06/2003, 21:06
Avatar de ProgramacionWeb  
Fecha de Ingreso: junio-2003
Ubicación: Barcelona
Mensajes: 176
Antigüedad: 20 años, 10 meses
Puntos: 2
Seguro que no haces ningun echo antes de el header...

Prueba lo siguiente, pon al principio del todo de tu pagina

Código PHP:
<?
ob_start
();
?>
Y al final (No es obligatorio pero sino lo digo cluster se enfada :))

Código PHP:
<?
ob_end_flush
();
?>
Si entonces te sigue fallando es que tu hosting te inserta algo de codigo al principio de tu web.
__________________
Foros en los que participo:

Última edición por ProgramacionWeb; 16/06/2003 a las 21:09
  #7 (permalink)  
Antiguo 16/06/2003, 21:50
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
jeje ProgramacionWeb no es que me enfade .. sólo que intento seguir las normas de lo que diga PHP.net al respecto ...

Pero sigo opinando que usar el buffer de salida para solventar un problema de estructura de tu código o simples "espacios o saltos de línea" no me parece buena idea .. Ahí queda mi opinion.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #8 (permalink)  
Antiguo 16/06/2003, 22:17
Avatar de ProgramacionWeb  
Fecha de Ingreso: junio-2003
Ubicación: Barcelona
Mensajes: 176
Antigüedad: 20 años, 10 meses
Puntos: 2
Lo digo para que haga la prueba, asi sabremos si el problema es que manda algo al visitante antes del header

Y que conste que tampoco creo nescesario generar todo el codigo y guardaro en un buffer antes de enviarlo, pero puede ser nescesario para algunos casos, como para contar el tamaño de la pagina.
__________________
Foros en los que participo:
  #9 (permalink)  
Antiguo 16/06/2003, 22:44
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Sip, para eso sí .. o para hacerte algún sistema de "Caché" de páginas .. Pero para "tapar" un error es lo que no veo bien usarlo ..

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #10 (permalink)  
Antiguo 17/06/2003, 05:43
Avatar de Sexma  
Fecha de Ingreso: junio-2003
Ubicación: Valencia
Mensajes: 109
Antigüedad: 20 años, 10 meses
Puntos: 0
He revisado todos los ficheros de los que hago include para ver si mandaba algo y nada, los ficheros son basicamente para definirme variables, funciones y constantes con lo que no mando nada, todavia no he hecho la prueba del ob_start() porque no he tenido aun tiempo, esta tarde vere si lo pruebo.

Para dar mas detalles os explico como tengo las paginas: la pagina de inicio es un index.php donde hay un formulario para entrar en la zona privada ese formulario lo mando a login.php para hacer las comprobaciones pertinentes y si concuerda todo el password y demas entonces me creo una session y redirecciono a index.php con el header y hay es donde me da el error.

Como he dicho antes solo he revisado los ficheros y no he hecho la prueba de ob_start () que por cierto me podeis explicar un poco lo que hace?

Ya os comentare como me va esto
  #11 (permalink)  
Antiguo 17/06/2003, 10:22
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Insisto .. FIJATE bien en los espacios al principio y final de tus <? y ?> de esos archivos que incluyes .. en alguno al final por ejemplo hay algún espacio o salto de línea ..

Si usas editores como DW no sé si te llegaras a dar cuenta de ese salto de linea de más .. Lo que es con Maguma y editores de código mas sencillos que sólo colorean código y poco más .. se vé bien claro que hay una línea de más pues el contador de líneas aparece como una linea más despues de tu último ?>

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #12 (permalink)  
Antiguo 17/06/2003, 11:45
Avatar de Sexma  
Fecha de Ingreso: junio-2003
Ubicación: Valencia
Mensajes: 109
Antigüedad: 20 años, 10 meses
Puntos: 0
Ejectivamente habia una linea en uno de los ficheros que incluia despues del ultimo ?>, menudo fallo mas tonto... aunque yo creia que solo mandaba si la linea tenia codio html, pero parece que no.
__________________
CLUB ESPORTIU UNIVERSITAT DE VALENCIA

Visita la pagina de la UV-O



  #13 (permalink)  
Antiguo 17/06/2003, 11:56
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Pues .. un "simple espacio" o salto de linea es considerado como "HTML" (mejor dicho .. para el navegador es una "cabecera" .. que tenga "tag" o no .. eso ya lo verá cuando el navegador interprete el código ..)

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
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 04:51.