| ||||
Puedes usar header, ejemplo: --------inicia la pagina----------------- <? ... codigo y mas codigo ... if($condicion) { header("Location: http://www.paginanueva.com/algo.htm"); } else { header("Location: miotrapagina.php"); } ?> La contrariedad es que NO debes haber lanzado ningun texto hacia el navegador (usando echo, print, entre otros) antes de usar header (ni siquiera espacios en blanco)antes del tag <? inicial de la página.
__________________ _________________________ La computadora nació para resolver problemas que antes no existían |
| |||
Hola, Te esta diciendo que enviaste salida al navegador en la linea 3 de anadira2.php . Como ya te ha dicho temaqueja, no se puede enviar nada antes de header("location"). Yo añadiria que es mas seguro poner un exit; despues del header("Location"), para asegurar que no se ejecuta nada mas del script: Código PHP:
__________________ Josemi Aprendiz de mucho, maestro de poco. |
| ||||
Retomando el tema, a mi me sucede algo parecido en un script. Tengo alojado un script en dos dominios diferentes, en el primero tengo instalado php 4.2 y en el segundo php 4.1. En el primero el script me funciona perfectamente, pero en el segundo me da el siguiente error: Cita: la linea donde da error contiene:Warning: Cannot add header information - headers already sent by (output started at /usr/local/psa/home/vhosts/tuningwarez.com/httpdocs/modules/top_tueMule/class.mstopsites.php:334) in /usr/local/psa/home/vhosts/tuningwarez.com/httpdocs/modules/top_tueMule/in.php on line 123 Código PHP: |
| ||||
Cita: Tal vez haya una linea en blanco o un espacio antes del "<? " al inicio del archivo, aunque no lo creas, ese salto de linea o espacio en blanco tiene la culpa... Mensaje Original por Pandragon Retomando el tema, a mi me sucede algo parecido en un script. Tengo alojado un script en dos dominios diferentes, en el primero tengo instalado php 4.2 y en el segundo php 4.1. ....... No se ejecuta ningún echo antes P.D.: Tambien podria tener la culpa algun script que tu proveedor de hosting ejecuta antes que tu pagina, pero eso solamente ocurre en servers gratuitos que levantan banners o cosas parecidas.
__________________ _________________________ La computadora nació para resolver problemas que antes no existían |
| ||||
no, ninguno de los dos casos. Ya he dicho que el script es exactamente el mismo, he subido los mismos archivos, pero en un hosting funciona y en otro no. Y los dos hosting son de pago y no ejecuto ningun pop up ni nada por el estilo. Es lo que me vuelve loco, por que funciona en un server y en otro no, he pensado que quizá sería por las diferencias de versiones de php, en el que funciona tiene la version 4.2 y en el que no funciona la 4.1. A excepción de esa no hay otra diferencia. Gracias. |
| ||||
Pues revisando el error me doy cuenta que el problema no esta en tu archivo, sino en alguna clase externa que estas llamando (class.mstopsites.php), es probable que esa clase tenga alguna función no soportada por PHP 4.1 y que te mande un "WARNING" o "NOTICE", y como ese llamado a clase está antes del header, pues el simple echo de mandar un mensaje de warning provoca el envío automático de los headers... Revisa esa classe...
__________________ Manoloweb |
| ||||
Gracias Manolo, perdona mi desconocimiento pero me inicié hace poco tiempo en PHP y lo hice con la versión 4.2. Según tengo entendido, por lo que he leido en estos foros, una de las novedades de la v4.2 era el uso de variables globales o superglobales. Creo que por ahí es por donde me está fallando, pues el archivo class.mstopsites es un fichero de funciones y utilizo arrays y la instrucción global. La pregunta es ¿la instrucción global está permitida por 4.1? Una vez mas gracias |
| ||||
Pues ahora fijate si despues del ?> no hay algun espacio en blanco, ya que eso podría causar la famosa salida HTML que no está permitiendo el posterior envío de los headers... O bien, en tu classe puede haber alguna falta de algun ; ó } que esten reflejandose en un error al final del archivo, y ese error es el que te está mandando el problema...
__________________ Manoloweb |