problema con utf8 y ansi

Iniciado por johnwmartinez, 25 Enero 2008, 17:59 PM

0 Miembros y 1 Visitante están viendo este tema.

johnwmartinez

Buenas...

Tengo un problema y es que trabajo en la tienda virtual de mi empresa, trato de modificar una pagina llamada "Productos.php" que se usa como una clase y es la que contiene todas las funciones de agregar, mostrar, eliminar, etc., productos.


Resulta que modifique la pagina productos.php y cuando la cargue me sale un error de este tipo:


Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at \home\blablablal\index.php:168) in home\blablablal\index.php on line 75


Averiguando un poco me di cuenta que cuando usas bloc de notas y lo guardas como utf8 (algo asi) eso agrega codigo innecesario que termina dañando todo el script.

Yo estoy haciendo las modificaciones en Dreamweaver 8 y aunque reestabilice el codigo a como estaba desde el principio, igual se daña.


¿Que hago para poder modificar el codigo sin que se me dañe? ¿Cambio de editor? ¿O existe alguna forma que Dreamweaver me modifique el codigo sin hacerle daño?


De antemano, gracias...

dimitrix

"Creo" que lo del block de notas es una tontería.

Fijate de la linea 74 a la 76 por si falta algo, comas, puntos interrogaciones, parentesis, punto y comas....

Luego fijate en lo que has modificado y como puede eso dañar a la web.

Con tan poca info no puedo decirte más.

Saludos!




SirLanceCC

#2
Eso del bloc de notas a mi me ha pasado y no es tontería, pero siempre te marcará que el error está en la linea 1 (uno). Mira:
http://foro.elhacker.net/index.php/topic,187219.msg889852.html

En tu error te dice que ya enviaste datos en el archivo index en la linea 168... o sea que por ahi hay un echo o print que no permite enviar el header (cabecera)

johnwmartinez

El problema que tengo, es que modifico un archivo llamado "productos.php" y lo subo a la pagina y me sale error.

Pero si le doy "control + Z" para Deshacer y vuelvo a como estaba antes, guardo y actualizo sigue saliendo el error.

Para poder quitar el error, me toca subir al servidor el archivo que tengo guardado en BACKUP, que fue una copia de todos los archivos por si me equivoco (que efectivamente me sirvio en este caso).


Yo no creo que sea la sintaxis del codigo la que este mal, porque de lo contrario al deshacer me quedaria como estaba antes; mas bien creo que el problema es de la forma como estoy guardando el archivo pero como les dije hace un momento, no se como solucionar porque lo estoy guardando como he trabajado los otros archivos "control + S".




Si alguien sabe o logra entenderme, por favor me heche una manito con este problemita.


ATTE: Jwjunior.

Universal SAC

Si de plano no sabes donde está el problema pero crees que se debe a la codificación, prueba a abrir ambos archivos con un editor hexadecimal para compararlos... si es por eso, seguramente encontrarás algunos bytes raros que no salen en ascii.
~UNIVERSAL[HACK]

dimitrix

Otra solución, sería crear un editor online en php chapuza que se hace en unos minutos, quizas así "creo" que no habría problemas.

PD: Lo marco por si la cago  ;D




???

Cita de: jwjunior en 25 Enero 2008, 17:59 PM
Buenas...
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at \home\blablablal\index.php:168) in home\blablablal\index.php on line 75

1- espero que hayas hecho un back up del Script antes de ponerte a jugar con el

2- ese error es causado generalmente por que la llamada a la función "session_start()" no aparece como la primera linea de codigo dentro del script... es decir fijate que esa linea de codigo: "session_start()" , sea lo primero que tienes dentro del codigo de tu pagina.

Universal SAC

Cita de: Otto VanHackman en 26 Enero 2008, 03:31 AM
2- ese error es causado generalmente por que la llamada a la función "session_start()" no aparece como la primera linea de codigo dentro del script... es decir fijate que esa linea de codigo: "session_start()" , sea lo primero que tienes dentro del codigo de tu pagina.

Eso es incorrecto, la gente dice eso porque ni se toma el tiempo de leer un rfc sobre http o la simple descripción&datos de las funciones.

Sucede cuando se trata de enviar una cabecera http (esto puede ser, un Location para redireccionar, una cookie.........) DESPUÉS de haber imprimido el contenido del mensaje (lo que va después de las cabeceras).

Mientras envies los headers e inicialices las sesiones ANTES de imprimir código (como tags html) no debe haber ningún problema.
~UNIVERSAL[HACK]

???

Cita de: Universal SAC en 26 Enero 2008, 05:06 AM
Cita de: Otto VanHackman en 26 Enero 2008, 03:31 AM
2- ese error es causado generalmente por que la llamada a la función "session_start()" no aparece como la primera linea de codigo dentro del script... es decir fijate que esa linea de codigo: "session_start()" , sea lo primero que tienes dentro del codigo de tu pagina.

Eso es incorrecto, la gente dice eso porque ni se toma el tiempo de leer un rfc sobre http o la simple descripción&datos de las funciones.

Sucede cuando se trata de enviar una cabecera http (esto puede ser, un Location para redireccionar, una cookie.........) DESPUÉS de haber imprimido el contenido del mensaje (lo que va después de las cabeceras).

Mientras envies los headers e inicialices las sesiones ANTES de imprimir código (como tags html) no debe haber ningún problema.

Y quien dijo lo contrario??

Lo que sucede es que La Función Start_session hace uso de los headers y si no la pones al principio SIEMPRE te va a dar ese error, por que como ya dijiste se han enviado las cabeceras junto con otros datos y se esta intentando enviar nuevos elementos para las cabeceras...

Y lo digo yo que tuve ese error más de alguna vez y QUE SI ME TOMO LA MOLESTIA DE LEER LAS DESCRIPCIONES DE LAS FUNCIONES!..

Salu2