Problema gordo: IE 8 + <php session_start();?>

eXtreM3

Wenas!! Aquí está nuestro querido IE dando por culo otra vez, mala hierba nunca muere.

Tengo un gran problema, estoy desarrollando una web (la cual ya está practicamente acabada) en php. Es bien sabido por todos, que la sentencia <php session_start();?> debe ir al inicio de todas las páginas que quiera que tengan session, de lo contrario no funcionará, hasta aquí bien.

Ahora mi pregunta es: por qué IE 8 hace caso omiso a la maquetación de las capas (div) ??? La página se ve correctamente en Firefox, Opera, Chrome... incluso en las versiones 6 y 7 de IE, el resultado es este:

(screen en Opera)

Pero en la versión 8 se ve así:

(screen en IE 8)

He googleado y hay gente que le pasa lo mismo, pero nadie da solución...

¿Qué puede estar pasando?

Graciasssss

EDITO: bueno lo del session_start() lo he puesto porque si lo quito, se ve bien la web en el IE 8, pero necesito obligatoriamente el uso de las sesiones...

B

pega el código de la parte donde te da el problema

willsmith

prueba de poner session_star() antes de cualquier codigo html de todos modos no deberia de afectar

eXtreM3

#3 así lo tengo, delante de todo. Si no lo pones delante de todo, a la hora de subirlo al hosting te peta la session.

#2 petan todas las paginas en las que utilizo session... pero en la del ejemplo, este es el codigo que tengo al principio:

<?PHP
require_once ('includes/conexion.php');
include($rutaIncludes.'includes/funciones.php');

//más sentencias php
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

+toda la web


La primera linea de conexion.php es esta

<?PHP
//Iniciamos la session con el usuario
session_start();

/Datos BD/
?>

B

quitalo del conexion.php y ponlo antes del require

eXtreM3

#5 sin cambios en la apariencia

EDITO: para mí sigue sin tener explicación lógica , que funcione en TODOS los navegadores, hasta en el propio IE 6 y 7, pero en el 8 ocurra esto, no lo entiendo :(

EDIT 2: estoy sospechando que quizás sea fallo del Doctype..............

LOc0

Prueba a poner después del session_start()

header( 'Content-Type:' );

header( 'Content-Type: text/html;' );

etc... Tb podrías usar WIRESHARK para capturar la respuesta del servidor con y sin session_start() y comparar las cabeceras HTTP que se envían para dar con el problema que hace liarse al IE8

Salu2 ;)

NeB1

#1 prueba con un DOCTYPE STRICT.

De todas formas adelantarías pegando la dire de la web, te lo solucionariamos más rápido.

eXtreM3

Ya lo he solucionado, sabía que tenía que ser una gilipollez... y así ha sido, me da hasta vergüenza decirlo xD

En mi archivo funciones.php que incluyo siempre al inicio de las paginas (que van a necesitar funciones claro), incluí una función javascript para poder escribir solo numeros en campos de texto, pues bien, entre la última función php y la función js... había UN SALTO DE LÍNEA, jajajajajajaja, si es que cuando he quitao ese salto de linea, he pulsao Ctrl + s, luego me he ido a la web, f5 y todo se veía bien... me he meao de la risa xDDDD

Gracias a los que habeis contestao ^^ en serio se agradece :clint:

Usuarios habituales