Foros del Web » Programando para Internet » PHP »

Internet Explorer y ¿las sesiones?

Estas en el tema de Internet Explorer y ¿las sesiones? en el foro de PHP en Foros del Web. Tengo un formulario que procesa los datos con una clase usando variables de sesión. Hago pruebas para comprobar que la clase detecta los errores al ...
  #1 (permalink)  
Antiguo 08/03/2005, 03:17
Avatar de Ausiàs  
Fecha de Ingreso: mayo-2004
Ubicación: País Valenciano
Mensajes: 78
Antigüedad: 13 años, 6 meses
Puntos: 0
Internet Explorer y ¿las sesiones?

Tengo un formulario que procesa los datos con una clase usando variables de sesión. Hago pruebas para comprobar que la clase detecta los errores al rellenar dicho formulario. Lo que hace es listarlos y, por otra parte, el formulario conserva los campos rellenados para que el usuario no tenga que picarlos de nuevo.

Con Firefox y Opera, funciona perfectamente y me lista los fallos y me conserva los campos rellenados. Pero ¡oh! en Internet Explorer, al hacer 'submit' me devuelve el mismo formulario sin los datos introducidos y sin errores.

¿Se conoce algún problema de Explorer con las sesiones, si es ése el problema, cosa que dudo? ¿Alguien ha tenido un problema similar y lo ha podido resolver?

Gracias.
__________________
La web de mi cortometraje:
http://www.perdiendoeljuicio.com
  #2 (permalink)  
Antiguo 08/03/2005, 05:11
Avatar de echevemaster  
Fecha de Ingreso: diciembre-2002
Ubicación: Carabobo, Venezuela
Mensajes: 84
Antigüedad: 15 años
Puntos: 1
Siempre intenta poner en los campos value de los elementos de tu formulario el mismo nombre de la variable que estas mandando.

Por ejemplo si tienes un elemento de formulario como este:

Código PHP:
echo "<input type=\"text\" name=\"variable\">"
Debes hacerlo de esta manera:

Código PHP:
echo "<input type=\"text\" name=\"variable\" value=\"$variable\">"
De esta manera el elemento recogera dicho valor de nuevo despues de envio del formulario, sea esta variable una normal o una variable de sesión.


Saludos
__________________
En el codigo esta la solucion, pero no la encuentro por ningun lado.
  #3 (permalink)  
Antiguo 08/03/2005, 05:35
Avatar de Ausiàs  
Fecha de Ingreso: mayo-2004
Ubicación: País Valenciano
Mensajes: 78
Antigüedad: 13 años, 6 meses
Puntos: 0
Sí, sí, lo he hecho así. El problema no es ése sino que Explorer me devuelve un formulario vacío y sin errores cuando debería devolver los campos que he rellenado con los errores correspondientes.
__________________
La web de mi cortometraje:
http://www.perdiendoeljuicio.com
  #4 (permalink)  
Antiguo 08/03/2005, 06:22
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Las sesiones .. propagan el SID (mejor dicho se ha de propagar) por el URL o por cookies.

Si tu aplicación propaga el SID en cookies o así "asumes" que lo hará .. tendrás que ver las propiedades de tus navegadores y demás dispositivos que uses por médio en tu conexión (lease: proxy's ...) si están bloqueando esas cookies que PHP al propaga el SID de esa forma la necesita crear. Si no puede hacerlo .. tus sesiones no quedaran registradas y en consecuencia tus validaciones y uso de esas variables de sesiones quedarán inacesibles.

Por otro lado .. las sesiones (por defecto) gestionan el control del caché de un navegador colocando dicho control a "private" para evitar que sean "chacheadas" tus páginas. Esto lo controlas con la función:

session_cache_limiter()
www.php.net/session_cache_limiter

Es probable que por ahí tengas algún problema .. por el nivel de seguridad de tu navegador .. intenta definir "public" o similar para el control del caché y realiza tus pruebas.

Si no conoces que es el SID .. y ya estás usando sesiones .. sería recomendable que leas la teoría al respecto:
www.php.net/session

Por qué sino, no sabras como se "comportará" tu aplicación ante diferentes configuraciones de un servidor o incluso de los requerimientos de tus navegadores a usar como "cliente".


Un saludo,
  #5 (permalink)  
Antiguo 08/03/2005, 10:29
Avatar de Ausiàs  
Fecha de Ingreso: mayo-2004
Ubicación: País Valenciano
Mensajes: 78
Antigüedad: 13 años, 6 meses
Puntos: 0
Releída (porque ya la leí) la teoría de sesiones, en inglés y en castellano, realizadas pruebas propagando el SID por URL, con la caché limitada a public, buscando en google soluciones... Nada, que Explorer sigue haciendo lo mismo mientras Mozilla se ha comportado igual.

La página se comporta igual en remoto y en local, así que sólo me resta ver qué interfiere con el Explorer.
__________________
La web de mi cortometraje:
http://www.perdiendoeljuicio.com
  #6 (permalink)  
Antiguo 08/03/2005, 10:36
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Pero .. que pruebas concretas has realizado?

... un mal uso de session_cache_limiter() por ejemplo .. si bien en tu "código" aparece ... podría no estar actuando ..

... lo mismo sucede con los temas de la propación del SID por el URL o en cookies ..

Indica el código y configuración de tus pruebas .. Pero, en principio habría que ir descartando problemas al estilo:_

1) Propagar el SID en el URL completamente manual (para descartar problemas con cookies).
2) Ajustar el "caché" limiter que usa las sesiones.

Un saludo,
  #7 (permalink)  
Antiguo 08/03/2005, 10:49
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Revisa este tutorial sobre sesiones:

http://www.phpfreaks.com/print.php?c...rial&tut_id=41

Ahí hablan de usar:
Código PHP:
<?
session_start
(); 
header("Cache-control: private"); //IE 6 Fix
(en lugar de session_cache_limiter() ...??)

Podrías problarlo .. pero por mi parte Uso sesiones (bajo PHP 4.3.x en Windows y Linux con Apache 2.x) .. como clientes uso navegadores IE 5.5 y 6 (con Windows XP Service Pack 2) ... Propago el SID en cookies (bajo session.use_cookies = ON ) y no tengo problemas de ningún tipo con el uso de las sesiones. El caché está en "private" (lo que PHP usa por defecto .. yo no lo altero manualmente).

Un saludo,
  #8 (permalink)  
Antiguo 09/03/2005, 03:13
Avatar de Ausiàs  
Fecha de Ingreso: mayo-2004
Ubicación: País Valenciano
Mensajes: 78
Antigüedad: 13 años, 6 meses
Puntos: 0
¡Muchas gracias por orientarme para ver dónde está el fallo! Y acabo de comprobar que las sesiones funcionan correctamente y que el problema está en otro sitio. Resulta que el código que detecta que el botón ha sido pulsado no era bueno. Ahora, lo que he aprendido y no sabía de las sesiones no me lo quita nadie.

¡Muchas gracias!
__________________
La web de mi cortometraje:
http://www.perdiendoeljuicio.com
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 14:26.