Foros del Web » Programando para Internet » PHP »

sesiones

Estas en el tema de sesiones en el foro de PHP en Foros del Web. Buenas, como he dicho por algun otro post, soy bastante nuevo en la programacion en php y diseño web en general. Hace poco me estuve ...
  #1 (permalink)  
Antiguo 10/10/2004, 10:28
 
Fecha de Ingreso: abril-2004
Ubicación: Valencia
Mensajes: 436
Antigüedad: 13 años, 7 meses
Puntos: 8
sesiones

Buenas, como he dicho por algun otro post, soy bastante nuevo en la programacion en php y diseño web en general. Hace poco me estuve leyendo un libro de php que es lo que me animo para empezar. Me intereso particularmente el tema de las sesiones, pero la verdad es que me quedaron bastante dudas. Quisiera saber si esta es la forma correcta de hacer las cosas:

Tengo en la base de datos una tabla con los datos de los usuarios, entre ellos nombre y contraseña. Pues bien al rellenar los campos para logearse, se consulta la base de datos y si los datos son buenos se ejecutan las siguientes dos instrucciones (entre otras):
Código:
session_start()
y:
Código:
$_SESSION["logeado"]="si"
De modo que creo una variable de sesion que dice si el usuario ya se ha logeado.

Entonces si no entendi mal de lo que lei, cada vez que el usuario desea acceder a una seccion restringida, habria que volver a ejecutar la instruccion:
Código:
session_start();
Y una vez hecho esto podria comprobar si $logeado=="si" con un if para dejarle acceder o no.

Es esta la forma de hacerlo?

Si es asi, me surge un error. En el menu tengo los dos campo para que el usuario se logee, quisiera que inicialmente cuando el usuario entre en la pagina, le aparezca el formulario para logearse en el menu, pero que una vez logeado, al cargar el menu ya no cargue este formulario sino datos relacionados con el usuario. Para ello en esa parte del menu pongo:
Código:
session_start()
y luego:
Código:
if($_SESSION["logeado"]=="si").......
Para que dependiendo de si el valor de $logeado es "si" o otro haga una cosa u otra.
Bueno pues al logearme en la pagina, me aparece el menu con un error que no acabo de entender y que pongo aqui:

Warning: session_start(): Cannot send session cookie - headers already sent by (output started at /home/webcindario/gentux/content2.txt:31) in /home/webcindario/gentux/menu.php on line 20

A ver si alguien me puede aclarar un poco todo esto y responder a las diferentes preguntas que he hecho.

Por cierto lo de session_start(); hay que ejecutarlo para iniciar una nueva o para recuperar una ya existente no???

gracias de antemano.
saludos.
  #2 (permalink)  
Antiguo 10/10/2004, 10:49
 
Fecha de Ingreso: abril-2004
Ubicación: Valencia
Mensajes: 436
Antigüedad: 13 años, 7 meses
Puntos: 8
Bueno a ver me autorrespondo a el error ese que me aparecia en la pagina por si a algun novatillo como yo le ocurre lo mismo.
Como la funcion session_start() hace uso de las cookies en caso de estar activadas, el error lo que te dice es que no se puede enviar la cookie porque las cabeceras ya han sido enviadas. Solucion a esto, poner la instruccion session_start() al inicio de la pagina, para que se ejecute antes de que se hayan enviado.

Mas o menos creo que es algo asi.
A lo demas sigo esperando respuestas...

saludos.
  #3 (permalink)  
Antiguo 11/10/2004, 18:49
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Bueno .. el que se envien cookies o no cuando haces inicio de sesiones depende directamente de la propagaciòn del SID (Identificador Único de sesión) de como lo haga la configuración de tu servidor (que podrías ver si te deja en un phpinfo())

Concretamente lo que define esto es:
session.use_cookies = ON

(y/o)

session.use_only_cookies = ON

Un saludo,
  #4 (permalink)  
Antiguo 12/10/2004, 14:18
 
Fecha de Ingreso: abril-2004
Ubicación: Valencia
Mensajes: 436
Antigüedad: 13 años, 7 meses
Puntos: 8
Ok gracias, en cuanto a la forma de hacerlo, es correcto como lo pongo arriba?

saludos.
  #5 (permalink)  
Antiguo 12/10/2004, 14:29
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
mm .. Sí, el uso de sesiones es correcto .. pero en lo personal a mi no me gusta usar una variable para decir "si, está en el sistema" ... prefiero guardarme ahí por ejemplo el "ID" del usuario .. o el nombre (nick) del usuario con tal de sacarle más provecho a esa variable, ya que igualmente se puede seguir validando; en este caso por la existencia de la misma mas que por su valor.

Código PHP:
if (empyt($_SESSION['nombre_usuario'])){
   
// si no está en el sistema autentificado .. lo redireciono al "login"
   
header ("Location: login.php");
   exit;
}

// resto de script/página que requiera la autentificación ... 
Un saludo,
  #6 (permalink)  
Antiguo 18/10/2004, 11:49
 
Fecha de Ingreso: abril-2004
Ubicación: Valencia
Mensajes: 436
Antigüedad: 13 años, 7 meses
Puntos: 8
Ok gracias, siento no haber contestado antes pero he tenido algunos problemillas.
La verdad es que tienes razon en lo de que basta con comprobar la existencia de la varibale en si. Por lo menos es mas elegante. Tambien pense que en vez de poner $unavariable="si" podria haber usado un valor buleano que para eso estan no?

Bueno pero ahora tengo un nuevo problema que la verdad no acabo de entender bien. La secuencia en la que se ejecutan las cosas es esta:
1 - session_start()
2 - creo una variable de session de interes para luego.
3 - se entra en un if, la condicion se cumple si todo va bien y se hace una redireccion con header("Location: admin.php")
4 - Al llegar a admin.php se comprueba si la variable de session esa existe, y si es asi, se permite el acceso a esa pagina, si no se produce una redireccion a login.php

Muy tipico no?
Bueno pues con el Mozilla y el epiphany me funciona esto a la perfeccion, pero con el Internet explorer y con el Konqueror ocurre una cosa muy extraña y es que despues de ejecutarse la funcion header("Location: admin.php") parece que se borra la variable de session, y por consiguiente no puedo acceder a admin.php. Esto lo he comprobado porque si comento dicha funcion, y accedo a admin.php escribiendo la direccion, si que comprueba que dicha variable existe y me deja acceder al contenido de admin.php.

No se si me he explicado con claridad. Pero sabes si existe algun problema al respecto?? me extraña mucho que esto pase con algunos navegadores ya que el codigo php se ejecuta en la parte del servidor, asi que no tendria porque influir el uso de uno u otro navegador.

Y por ultimo, como se cuanto tiempo dura una sesion? Puedo definir este tiempo? Puedo Obligar a que dure incluso hasta despues de haber cerrado el navegador??

gracias, por todo.
saludos.
  #7 (permalink)  
Antiguo 18/10/2004, 12:59
 
Fecha de Ingreso: abril-2004
Mensajes: 30
Antigüedad: 13 años, 8 meses
Puntos: 0
Cita:
Iniciado por cnyx

Muy tipico no?
Bueno pues con el Mozilla y el epiphany me funciona esto a la perfeccion, pero con el Internet explorer y con el Konqueror ocurre una cosa muy extraña y es que despues de ejecutarse la funcion header("Location: admin.php") parece que se borra la variable de session, y por consiguiente no puedo acceder a admin.php. Esto lo he comprobado porque si comento dicha funcion, y accedo a admin.php escribiendo la direccion, si que comprueba que dicha variable existe y me deja acceder al contenido de admin.php.

No se si me he explicado con claridad. Pero sabes si existe algun problema al respecto?? me extraña mucho que esto pase con algunos navegadores ya que el codigo php se ejecuta en la parte del servidor, asi que no tendria porque influir el uso de uno u otro navegador.

Y por ultimo, como se cuanto tiempo dura una sesion? Puedo definir este tiempo? Puedo Obligar a que dure incluso hasta despues de haber cerrado el navegador??
a mi me pasaba lo mismo con konqueror, pero lo que pasa es un erro en la programacion que tenemos, porque veo que cuando redireccionas no propagas la session, entonces como el Konqueror es muy estricto con las cookies debes poner siempre en tus aplicaciones

session_start();
header("Location: admin.php?".session_name()."=".session_id());

Espero que te sirva.
__________________
-"Cuando el tiempo se acerca a cero, el esfuerzo tiende al infinito" :pensando:
  #8 (permalink)  
Antiguo 18/10/2004, 14:02
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
mm lord_michael

Bueno, ... lo que habría que tener claro es como se requiere propagar el SID en la sesión . .ya sea por el URL o dejar que se haga por cookies. En tal caso si cierto navegador dá problemas sobre que no permita crear cookies, habría que investigar por qué no las deja crear o bien ver de permitirlas/habilitarlas .. Pero no cambiar de propagación del SID manual (por el URL) a cookies sin saber que es lo que realmente queremos.

La propagación del SID por el URL (sea que lo haga php: session.use_trans_sid= ON) y/o manualmente (como el caso de usar SID como constante que es o bien sesion_name()+session_id()) no es del todo segura.

Más info en este documento:
http://www.acros.si/papers/session_fixation.pdf

Un saludo,
  #9 (permalink)  
Antiguo 18/10/2004, 15:02
 
Fecha de Ingreso: abril-2004
Ubicación: Valencia
Mensajes: 436
Antigüedad: 13 años, 7 meses
Puntos: 8
Gracias a los dos, pero si esa forma no es del todo segura, que solucion hay para hacerlo de la otra forma?

saludos.
  #10 (permalink)  
Antiguo 18/10/2004, 15:33
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Pues como comenté .. propagar el SID en cookies, pero para eso necesitas que tu navegador acepte cookies.

A su vez PHP (en su php.ini) disponde de várias directivas para configurar las cookies que este crea (tal como las normales por un setcookie() ..)

La configuración de PHP para que este use -sólo- cookies debería ser:

session.use_cookies = ON (o 1)
session.use_only_cookies = ON (o 1)

y desactivar:
session.use_trans_sid = OFF (dejarlo a OFF)

A partir de ahí .. sólo queda revisar que el navegador usado acepte cookies. por lo menos de su sitio de pruebas.


Un saludo,
  #11 (permalink)  
Antiguo 18/10/2004, 19:52
 
Fecha de Ingreso: abril-2004
Ubicación: Valencia
Mensajes: 436
Antigüedad: 13 años, 7 meses
Puntos: 8
Ok, pero esta la cosa de que es la funcion header("Location: admin.php") la que provoca este fallo, porque si quito esta funciona, todo funciona con normalidad con la excepcion de que la redireccion no se hace automaticamente sino que tengo que poner la direccion a mano. Por que???
Es decir debo tener los cookies activado con normalidad, porque funciona si quito la funcion esa, lo que no entiendo es que pasa con esa funciona...

Alguna idea??

gracias por la paciencia jejeje, saludos.
  #12 (permalink)  
Antiguo 18/10/2004, 20:53
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
PHP ya te comentè que NO inserta el SID en redireccionamientos como ese vìa header() con un "Location" .. tampoco lo hace con javacript (window.location .. o window.open ... etc ..). Si tu redirecionas vìa un link estás dejando que PHP actue la directiva session.use_trans_sid que lo que hace es "reescribir" ciertos tag's HTML para insertar el SID en ellos, por eso el SID se propaga y tus sesiones funcionan. Cuando el SID no se propaga (por què no viaja en una cookie o PHP no sobreescribe ese tipo redireccionamientos) tus sesiones "no funcionan" .. En realidad no es que no funcionen las sesiones, sino que has perdido el "enlace" entre el archivo que se crea en el servidor con los datos de tus variables de sesión que es el dichoso "SID" (Identificador Único de Sesión) .. ese SID es lo que se "propaga" (pasa) entre tus scripts/pàginas . .ya sea en una cookie o por el URL.

Un saludo,
  #13 (permalink)  
Antiguo 07/11/2004, 12:00
 
Fecha de Ingreso: septiembre-2003
Ubicación: Chile
Mensajes: 30
Antigüedad: 14 años, 3 meses
Puntos: 0
Si te sale ese maldito warning, solo anteponele una "@" a session_start();

asi:


@session_start();

a mi me pasaba lo mismo, hasta q lo resolvi asi y se acabo el problema

Suerte!!
  #14 (permalink)  
Antiguo 08/11/2004, 08:07
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Cita:
Iniciado por davineitor
Si te sale ese maldito warning, solo anteponele una "@" a session_start();

asi:


@session_start();

a mi me pasaba lo mismo, hasta q lo resolvi asi y se acabo el problema

Suerte!!
Un @ delante de una función no hace más que ocultar que veas el error .. pero no soluciona el problema .. Deberías interesarte por qué sucede y solventar el problema de raiz .. no "parchear".

De hecho . .un "Warning" es un error fatal, la ejecución del script se detiene y no debería funcionar nada.

Un saludo,
  #15 (permalink)  
Antiguo 08/11/2004, 13:01
 
Fecha de Ingreso: noviembre-2004
Ubicación: Oaxaca, Mexico
Mensajes: 97
Antigüedad: 13 años, 1 mes
Puntos: 0
Yo tambien tengo un problema con las sesiones, tambien soy nuevo en la programación en PHP, pero me base en unos scripts de un amigo, pero a mi no me funcionan y los suyos si.

Tengo una página de acceso, en la que introducen el id y password y los envio a otra donde valido al usuario, aca hago la conexión a la base de datos y de ahi direcciono a otra, la validación la hace correctamente, pero al ingresar a la otra página, me marca que no hay una sesion iniciada, les muestro mis scripts.


//acceso.php//

<?php
session_start();
session_cache_limiter('nocache,private');
?>
<title>ATEC/Acceso</title>
<?php include('librerias/fondo.php');
//include('librerias/fen.php');
?>

<form>
<?php include("codigo/validausuario.php");?>

<div id="Layer1" style="position:absolute; width:320px; height:166px; z-index:1; left: 358px; top: 380px;">
<div align="center">
<table width="217" height="50" border="0" align="center" bgcolor="#C6E8E8">
<tr align="center" valign="middle">
<td width="87" height="26">
<div align="center">
<h5>RPE</h5>
</div></td>
<td width="120">
<div align="center">
<input name="trpe" type="text" id="trpe" size="20">
</div></td>
</tr>
<tr align="center" valign="middle">
<td height="26">
<div align="center">
<h5>CONTRASE&Ntilde;A</h5>
</div></td>
<td>
<div align="center">
<input name="tpass" type="password" id="tpass" size="20">
</div></td>
</tr>
</table>
<p>
<input type="submit" name="btn" value="aceptar" id="aceptar" >
</p>
</div>
</div>
<p>&nbsp;</p>
</form>


//validausuarios.php//

<?php
session_start();
session_cache_limiter('nocache,private');
?>
<?php
if ($btn=='aceptar')
{
$trpe=strtoupper(trim($trpe));
$tpass=strtoupper($tpass);
include('librerias/conexion.php');
$qry=mysql_query("select * from usuarios where rpe='".$trpe."' and contraseña='".$tpass."'",$atcon);
if ($row = mysql_fetch_array($qry))
{
if ($tpass==$row[5])
{
$_SESSION['rpe']=$row[0];
print "<script> location.href = 'recage.php?' </script>";
}
else {print "<script> alert('RPE o Contraseña Incorrectos') </script>";}
}
else{print "<script> alert('RPE o contraseña Incorrectos o no estas registrado ') </script>";}
}
?>

//recage.php//

<?php
session_start();
session_cache_limiter('nocache,private');
if (!isset($_SESSION['rpe']))
{
print "<script>alert('Necesitas Registrarte Para Acceder a Esta Opción')</script>";
print "<script> location.href = 'acceso.php' </script>";
exit();
}
?>
<?php
include('librerias/fondo.php');
include('librerias/fen.php');
include ("librerias/conexion.php");
$qryx=mysql_query("select * from usuarios where rpe= '".$trpe."' ",$atcon);
$reg=mysql_fetch_array($qryx);
$clave = $reg["cve_area_resp"];
?>
<html>
<head>
<title>ATEC</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<body>
<form name="form1" method="post" action="">
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<div id="Layer1" style="position:absolute; width:342px; height:115px; z-index:1; left: 336px; top: 300px;">
<p>&nbsp;</p>
<table width="293" border="0" bgcolor="#C6E8E8">
<tr bgcolor="#C6E8E8">
<td width="287" height="40">
<div align="center">Tu &aacute;rea de responsabilidad es
<input name="tage" type="text" size="5" readonly="" value="<?php print $v2;?>">
</td>
</tr>
<tr>
<td bgcolor="#C6E8E8"> <div align="center">Deseas cambiarla?</div>
<div align="center"></div></td>
</tr>
<tr>
<td height="21" bgcolor="#C6E8E8"> <div align="center"> </div>
<div align="center">
<input type="submit" name="btn" value="cambiar">
<input type="submit" name="btn" value="aceptar">
</div></td>
<?php if ($btn=='aceptar')
{
print "<script> location.href = 'inicio.php?id=$v1' </script>";
}
if ($btn=='cambiar')
{
print "<script> alert('se cambia la agencia') </script>";
}
?>
</tr>
</table>
<p>&nbsp;</p>
</div>
</form>
</body>
</html>


Espero y me puedan ayudar, por que ya llevo 2 semanas buscandole por todas partes y no encuentro una solución y es para mi residencia profesional.
gracias
  #16 (permalink)  
Antiguo 09/11/2004, 06:28
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Danylo

Deberías hacer tu pregunta en un tema aparte (nuevo) .. Además de intentar leer la documentación oficial de PHP sobre sesiones y ver todas esas directivas de configuración que aquí por lo menos por mi parte comenté.

El tema de que a tu "amigo" le funcione ese script que usa sesiones y a tí no .. (hablando de que tu y tu amigo están ejecutandolos en servidores diferentes) .. se trata de configuración y sobre todo de saber como está uno propagando el SID (en su configuración de PHP) y de como lo hace tu aplicación (script), para poder determinar que puede suceder.

En tu caso .. por el tipo de redireccionamientos que haces completamente javascript .. PHP por sí sólo no va a insertar el SID en tus links de redireccionamiento (aunque uses session.use_Trans_sid= ON) .. así que te ves forzado a:
1) propagar el SID a mano en tus links/redireccionamientos/formularios que uses.
2) dejar que PHP lo haga en cookies (la propagación del SID) .. Lo cual (me repito una vez más) requiere de configuración de PHP (php.ini): session.use_cookies = ON y de un navegador que acepte cookies.

Tienes más información en:
www.php.net/session

Un saludo,
  #17 (permalink)  
Antiguo 09/11/2004, 09:03
 
Fecha de Ingreso: noviembre-2004
Ubicación: Oaxaca, Mexico
Mensajes: 97
Antigüedad: 13 años, 1 mes
Puntos: 0
Gracias por responder.

Probe los scripts de mi amigo en mi computadora y si jalaron, no puedo usar cookies por que usare un servidor linux en el cual estan desabilitadas las cookies y ya hay varios sistemas que estan corriendo actualmente, y la primera opción que me diste no se como implementarla, la use para ligar la 2a pagina con la 3era y si funciono, pase el id como parametro pero cuando me direccióna a otra página en la cual aparece el menu, no se como hacerle para pasarle los parámetros ya que puede acceder a cualquiera de las opciones y no tengo idea de donde le debo de pasar los parámetros.
Entonces no entiendo por que si corri los scripts de mi amigo y los mios en mi computadora y tomando en cuenta que es la misma sintaxis, por que en mi caso no funciona de la misma manera?
  #18 (permalink)  
Antiguo 09/11/2004, 10:34
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Cita:
Probe los scripts de mi amigo en mi computadora y si jalaron, no puedo usar cookies por que usare un servidor linux en el cual estan desabilitadas las cookies
Las cookies depende del "cliente" no del servidor .. Son los "PC's" .. que hacen de cliente (navegadores) los que deben aceptar esas cookies no tu servidor (otra cosa es que uses el mismo "PC" que hace de servidor .. como eventualmente también como "cliente").

Debes aclarar como haces tus pruebas .. ya sabes que hay "clientes" y "servidores" ... yo no sé a que te refieres cuando dices que lo pruebas en tu computadora o en la otra .. no sé si en tu PC ejecutas PHP o sólo accedes a tu script que está alojado en tal servidor ...

El caso es que a tu amigo le funciona por :
1) Su servidor usa session.use_cookies = ON
2) SU navegador acepta cookies.
3) No hay ningún proxy/firewall que esté bloqueando esas cookies.


Un saludo,
  #19 (permalink)  
Antiguo 10/11/2004, 08:53
 
Fecha de Ingreso: noviembre-2004
Ubicación: Oaxaca, Mexico
Mensajes: 97
Antigüedad: 13 años, 1 mes
Puntos: 0
Pruebo los scripts en mi PC, los mios y los de mi amigo, y el no usa cookies, te digo que tengo las mismas sentencias que el.

Gracias.
  #20 (permalink)  
Antiguo 10/11/2004, 09:42
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Pero .. insisto .. que es "probar los scrips en mi PC"? ..

Date cuenta que aquí hablamos de "cliente" .. "servidor" .. PHP puede ser el mismo siempre (en X sitio) y tus "clientes" pueden ser .. el navegador/PC tuyo o el de tu amigo.

Un saludo,
  #21 (permalink)  
Antiguo 10/11/2004, 11:46
 
Fecha de Ingreso: noviembre-2004
Ubicación: Oaxaca, Mexico
Mensajes: 97
Antigüedad: 13 años, 1 mes
Puntos: 0
En mi pc instale el apache y php sobre win98 SE, entonces mi pc es el servidor, y aca ejecute los scripts de mi amigo y los mios.
  #22 (permalink)  
Antiguo 10/11/2004, 14:32
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
(OK .. ahora para refrescar) ..

Ahora .. que código es el que no te funciona en tu servidor o en otro (ya no me perdí con tanto amigo y pruebas) ...

A todo esto .. tu has comparado o has visto la configuación de sesiones de tu servidor? .. Sabes como esta configurado (si lo pusistes ahora no lo recuerdo .. no está de más hacer un resumen).

Ya te comenté que usando redireccionamientos tipo:
print "<script> location.href = 'acceso.php' </script>";

ahí PHP ni que uses session.use_trans_sid = ON va a insertar el SID para que tu sesión siga válida en la página que redirecciona. En ese caso, deberías propagar el SID en cookies (session.use_cookies = ON) y que tu navegador de pruebas Acepte cookies. (no es cosa de "usar o no" sino de aceptarlas).

Un saludo,
  #23 (permalink)  
Antiguo 11/11/2004, 08:55
 
Fecha de Ingreso: noviembre-2004
Ubicación: Oaxaca, Mexico
Mensajes: 97
Antigüedad: 13 años, 1 mes
Puntos: 0
Creo que el redireccionamiento es el problema, mi amigo primero propagaba el SID mediante cookies pero como en el servidor donde se montan las páginas estan desabilitadas tuvo que cambiar a las sesiones, estoy haciendo la página para una paraestatal, asi que deberia checar si todos los clientes aceptan cookies. Pero insisto,
¿Que puedo hacer?
  #24 (permalink)  
Antiguo 11/11/2004, 12:37
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Pues si tu configuración de PHP no te permite propagar el SID en cookies, tendrás que propagarlo por el URL a mano usando SID como constante que es, tipo:

Código PHP:
print "<script> location.href = 'acceso.php?".SID."'</script>"
Te recomiendo una vez má que veas la documentación oficial sobre sesiones y la leas para ver como se propaga el SID, de que formas y en que afecta a la seguridad o que afecta la configuración de PHP al respecto.

Un saludo,
  #25 (permalink)  
Antiguo 11/11/2004, 13:03
 
Fecha de Ingreso: noviembre-2004
Ubicación: Oaxaca, Mexico
Mensajes: 97
Antigüedad: 13 años, 1 mes
Puntos: 0
Ya habia pensado en eso, pero no se como hacerle para propagar el SID cuando el usuario elija una opcion del menu, puesto que el menu lo incluyo en un archivo de una libreria.

<?php include('librerias/menu.php');?>

//menu.php//
<SCRIPT SRC="menu.js"></SCRIPT>

Espero me sigas ayudando. gracias
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 20:04.