Foros del Web » Programando para Internet » PHP »

redireccionar paginas con php

Estas en el tema de redireccionar paginas con php en el foro de PHP en Foros del Web. Hola a todos. Tengo el siguiente problema: Quiero hacer un sistema de validacion para usuarios que consiste en una primera pagina donde se introduce el ...
  #1 (permalink)  
Antiguo 17/03/2004, 06:49
 
Fecha de Ingreso: marzo-2004
Mensajes: 550
Antigüedad: 20 años, 1 mes
Puntos: 7
Sonrisa redireccionar paginas con php

Hola a todos. Tengo el siguiente problema:

Quiero hacer un sistema de validacion para usuarios que consiste en una primera pagina donde se introduce el login y password , luego se llama a mi pagina validacion.php que comprueba que los datos esten bien . Si todo ha ido bien quiero que mi pagina validacion.php redireccione directamente a la pagina principal y si no son correctos los datos que me redireccione a una pagina web que informara al usuario del error ocurrido.
El problema es que he utilizado:

header("Location:principal.htm/");

como habia leido por algun foro pero me sale el siguiente error:

Warning: Cannot add header information - headers already sent by (output started at c:\apache\htdocs\prueba3\prueba2.php:11) in c:\apache\htdocs\prueba3\prueba2.php on line 14

en este caso prueba2.php equivale al fichero que comente antes validacion.php.


Un saludo a todos.
  #2 (permalink)  
Antiguo 17/03/2004, 06:59
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 21 años, 10 meses
Puntos: 16
Hola,

Pues como tambien se ha comentado muchas veces en el foro, y como tambien viene en el manual de header() (www.php.net/header), no se puede enviar salida al navegador antes del header(), ni HTML, ni echo, ni lineas en blanco ni espacios en blanco.

Y el propio mensaje de error te dice que enviaste salida en la linea 11 de prueba2.php.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #3 (permalink)  
Antiguo 17/03/2004, 07:19
Avatar de Calisco  
Fecha de Ingreso: marzo-2004
Ubicación: Neuquen
Mensajes: 732
Antigüedad: 20 años, 1 mes
Puntos: 4
Es cierto

Claro, no podes en un script poner codigo html antes de la funcion header.

Yo por ejemplo, al hacer este script lo unico que puse antes del header son variables de secion y llamados de algunas funciones.
__________________
| Cabeza De Raton |
  #4 (permalink)  
Antiguo 17/03/2004, 07:23
 
Fecha de Ingreso: marzo-2004
Mensajes: 550
Antigüedad: 20 años, 1 mes
Puntos: 7
He modificado el fichero PHP.ini alterando la directiva:
output_buffering =off

y poniendola a :

output_buffering =4096

y ya me deja redirecciona paginas utilizando header("Location: .........)
Lo que queria preguntar es si estoy haciendolo de la mejor forma posible o seria mejor utilizar otra estrategia. Lo digo porque si en el fichero php.ini viene por defecto a "off" sera seguramente porque es mas seguro.(no estoy muy seguro de esto ultimo)
  #5 (permalink)  
Antiguo 13/08/2004, 08:17
 
Fecha de Ingreso: enero-2004
Ubicación: This Planet
Mensajes: 46
Antigüedad: 20 años, 3 meses
Puntos: 0
que tal amigos, yo tengo el mismo problema pero en Linux, en windows no hay ningun problema redireccionando las paginas en cualquier parte de tu codigo si modificas el output_buffering = On,

pero en linux da el error aunque modifique el output_buffering a On
alguien sabe el porque..
__________________
:cool: Hagas lo que hagas, que sea eficiente :arriba:
  #6 (permalink)  
Antiguo 13/08/2004, 08:40
AKB
 
Fecha de Ingreso: agosto-2004
Mensajes: 52
Antigüedad: 19 años, 8 meses
Puntos: 0
No es que sea más seguro usar el Output Buffering Off, es que cuando cambies de hosting vuestras paginas no funcionarán. Como bien os indican en este post, ese error se produce al enviar un header cuando ya habeis enviado información al navegador, tened cuidado con eso, incluso un retorno de carro en un include es contenido para el navegador, y lanza ese error.
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

SíEste tema le ha gustado a 1 personas (incluyéndote)




La zona horaria es GMT -6. Ahora son las 19:23.