Ver Mensaje Individual
  #5 (permalink)  
Antiguo 18/02/2005, 05:47
Cluster
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 2 meses
Puntos: 129
Cita:
El SID en mis sesiones es propagado mediante cookies , ya que nunca los mando por URL, ¿necesito configurar algo extra para hacerlo por este medio? yo tenia entendido que ya estaba configurado por defecto...
Bueno .. NUNCA has de confiar en algo que "crees" .. debes corroborrarlo .. De hecho si bien una instalación de PHP "por defecto" deja (actualmente) la propagación del SID en cookies .. en otras situaciones puede que no te encuentres en la misma situación de configuración.

Revisa tu php.ini o haz un phpinfo() y verifica el estado de:
session.use_cookies (debe ser ON) minimo ..

Revisa bien que se esté propagando el SID en cookies, pues .. ahí por ejemplo en tu código usas una redirección por javascript. PHP si usas "session.use_trans_sid" (a ON) reescribe ciertos Tag's HTML para insertar el SID (si es que lo usas a ON) . .pero no lo hace en ese tipo de redireccionamientos (ni en header("Location ...") ni otros javascript), todo esto por si usases (ya estamos especulando sin ver la configuración exacta que usas) ... "session.use_trans_sid" a ON y tal vez session.use_cookies a ON pero tuvieras problemas en la propagación del SID en la cookie por ejemplo por que tu navegador no las acepte (por nivel de seguridad de tu navegador) .. o bien algún proxy o similar que altere o no permita esas cookies.

Si dices:
Cita:
y al parecer en algun momento las variables se corrompen....es decir no conservan su mismo valor ?¿?¿?¿ estos son reemplazados por otros valores que ya he utilizado antes....
Tendrás que centrar el problema .. dices que usas "muchos scripts" .. aquí no vemos toda tu aplicación (ni es el foro sitio adecuado para eso) .. tal vez en algún script no usastes session_start() antes de pretender acceder a $_SESSION


Cita:
PD: me podrias detallar mas :"Por lo demás .. una sesión no queda disponible su nuevo valor (si lo modificas) hasta la próxima petición al servidor .. es decir . .entre un script.php al otro.php .. o recarga del mismo."
Ejemplo
Código PHP:
<?
// inicio uso sesiones.
session_start();
// crear una variable en la sesión activa:
$_SESSION['variable']="valor";

// Pretender leer su valor de la sesión.
echo $_SESSION['variable']
En este caso .. según el flujo del script .. se está definiendo un valor a esa variable de sesión .. el valor "real" que tiene $_SESSION['variable'] (para el usos de dicha sesión) en ese punto teóricamente no es el que ahí ves (que ese el que has dado el valor ahí mismo) sino el que tenía .. Sólo cuando "recargues" ese script .. o bien pases de ese script.php a otro_script.php por un link, redirección .. etc será cuando realmente queda "registrada" tu variable de sesión .. Ese "paso" de un script a otro es una "petición" al servidor HTTP donde le "pides" otra página (o script.php).

Un saludo,

Última edición por Cluster; 18/02/2005 a las 05:50