Ver Mensaje Individual
  #2 (permalink)  
Antiguo 12/12/2005, 13:08
Cluster
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 4 meses
Puntos: 129
Parece que el problema que tienes es con la propagación del SID. No sé si conoces que el SID se puede propagar de dos formas principalmente:

1) Por el URL
2) Por cookies.

A su vez .. PHP puede propagar el SID automáticamente por tí (ya que tu en tu código no lo haces expresamente) de dos formas:

1) Por el URL, si usas session.use_Trans_sid = ON . .En este caso PHP sobre-escribe ciertos tag's HTML como links comunes, formularios .. etc para incrustrar el SID en ellos. Pero, no lo hace en redireccionamientos como javascript (tus location.href ...) ni en header("Location ...") ni en links de flash ..

2) Por cookies. Siempre y cuando tu navegador acepte cookies, y no tengas ningún dispositivo tipo antivirus, proxy .. etc que bloquee cookies. En este caso .. php.ini debes usar session.use_cookies = ON

Por ende .. puede que en este caso, tu navegador (u otro elemento de los descritos) no esté aceptando las cookies que PHP puede enviar (falta que revises tu configuración) y aunque propagas el SID forzando a PHP que lo haga por el URL .. como ya te he comentado, PHP no lo va hacer expresamente en esos redireccionamientos javascirpt que tienes.

Solución:
1) Acepta cookies y propaga el SID en cookies: Es lo más seguro y recomendado por PHP.net
2) Propaga el SID en el URL manualmente (por lo menos en los redireccionamientos que hagas javascript .. y en general en todo para no depender de nada de configuración de PHP). más info: www.php.net/session .. ahí puedes ver el uso de la constante SID que te devuelve eso mismo.

Otras observaciones:

Cita:
if(!isset($_SESSION["autentificado"]) || $_SESSION["autentificado"]!='S'){
?>
Eso es redundate .. si $_SESSION existe .. ya puedes asegurar que tu "autentificado" existe .. de hecho el valor es lo de menos. Podrías usar esa variable con algo más útil para tu aplicación .. tal vez el "ID" del usuario activo o su nombre/nick para mostrarlo o usarlo en tus aplicaciones.

Cita:
script>
location.href="../admin.php?err=1";
</script>
...
Deberías redireccionar usando:
Código PHP:
header("Location: pagina.tal");
exit; 
Claro, eso te dará problemas con tu forma de trabajar haciendo el "include()" de un script que genera salida (HTML/etc) ... Deberías reordenar en tu caso el código pensando que programas en PHP y que con este generas el "HTML" que el cliente verá.

Un saludo,