Ver Mensaje Individual
  #4 (permalink)  
Antiguo 06/02/2007, 12:28
Avatar de mauled
mauled
 
Fecha de Ingreso: marzo-2005
Ubicación: Cd. de México.
Mensajes: 3.001
Antigüedad: 19 años, 8 meses
Puntos: 33
De acuerdo Re: Si funciona en red, funciona en internet?

Pues no se si esten usando "clases" u objetos de forma avanzada en tu programación pues recuerda que esto es nuevo en php5....

Pues como te lo mencionaba el problema es que si el usuario tienes desabilitada las cookies, en tu caso., ya no podras propagar el SID...

Comentario de CLUSTER

Cita:
Deberías asegurarte como propagas el SID (Identificador único de sesión) .. Si no lo especificas ni sabes que es dicho término entonces "asumes" que propagas el SID en cookies, por ende dependes de que tu navegador acepte dichas cookies y que PHP esté configurado para propagar el SID en cookies .. pues si lo haces por el URL (forzado en configuración de PHP) PHP no va a insertar el SID en redireccionamientos como los que hacer por header() de tipo "Location".

Revisa tu configuración de PHP:

Para propagar el SID en cookies debes usar:
session.use_trans_sid = OFF
session.use_cookies = ON
session.use_only_cookies = ON

También revisar donde PHP genera los archivos de sesiones:
session.save_path = un directorio de tu servidor que exista y tenga permisos de escritura.

Del lado del "cliente" debes revisar:
1) tu navegador que acepte cookies (el "nivel de seguridad" de navegadores como IE afectan a que tipo de cookies se aceptan .. revisalo).
2) que ningún antivirus, firewall, proxy u otro tipo de software esté bloqueando esas cookies.

En general lo que pretendo hacer incapié con mi respuesta es que se -DEBE- saber como PHP hace la "magia" para que las sesiones funcionen .. principalmente por qué se ha de "propagar" un "dato" (el SID) para que PHP sepa que "sesión" y que "cliente" (navegador) está usandola .. esa "relación" cliente-servidor para la sesión lo hace por médio del nunca bien ponderado: SID .. Si ese dato no se consigue hacer llegar a un script (por el URL propagado o en una COOKIE) que use sesiones (por eso usamos "session_Start()" para indicar que pretendemos acceder a variables de sesión en ese código/Script), los datos de la sesión "aparentemente" se pierden .. pero lo que realmente se ha perdido no son los datos que siguen estando en el servidor por el tiempo de vida que duren (que define session.gc_maxtimelife directiva de php.ini al respecto) .. lo que se "pierde" es el SID. PHP en un script al usar "session_Start()" lo que hace es "buscar" ese SID en una cookie o en el URL .. si no lo encuentra: genera otro SID (otra sesión) ..

Espero que quede claro el tema .. es parte fundamental del uso de sesiones conocer estos conceptos para "saber" por qué en "tales condiciones" funcionan las sesiones y otras no. Tanto para echarle la culpa al "servidor" (PHP y su configuración) como al "cliente" (navegador y configuración sobre todo a nivel de cookies).

Un saludo,
Saludillos.