Foros del Web » Programando para Internet » PHP »

No puedo propagar la sesion!!!!

Estas en el tema de No puedo propagar la sesion!!!! en el foro de PHP en Foros del Web. Hola amigos, estoy construyendo una paginita y necesito trabajar con sesiones..tengo un apache instalado en mi pc local con php 4 e intento lo siguiente ...
  #1 (permalink)  
Antiguo 21/04/2004, 07:27
 
Fecha de Ingreso: septiembre-2003
Mensajes: 25
Antigüedad: 14 años, 2 meses
Puntos: 0
No puedo propagar la sesion!!!!

Hola amigos, estoy construyendo una paginita y necesito trabajar con sesiones..tengo un apache instalado en mi pc local con php 4
e intento lo siguiente para probra si se propaga la sesion:
el archivo se llama sesion.php

<?
session_start();
echo session_id();
?>
<a href="sesion.php">click</a>

si la sesion se propagara me tendria que escribir el mismo id de sesion siempre no???

bueno esto no es asi.

Tengo las cookies habilitadas, register_globals esta en on, no estoy dejando espacios en blanco en el script...

Tendre algun problema de configuracion en el servidor????

Tambien probe lo sgte:

<?
session_start();
echo session_id();
?>
<a href="sesion.php?<?=$SID?>">click</a>

y no pasa naranja, alguien me puede ayudar???

Gracias una vez mas amigos
  #2 (permalink)  
Antiguo 21/04/2004, 08:46
 
Fecha de Ingreso: diciembre-2003
Ubicación: Salamanca
Mensajes: 123
Antigüedad: 14 años
Puntos: 2
Yo hago esto:

Código PHP:
session_start(); //inicio sesion
<a href="sesion.php?id='.session_id().'">click</a
en sesion.php:
Código PHP:
session_start(); //inicio o continuo sesión
session_id($_GET['id']); //asigno el id de la sesión ya abierta 
Suerte.
Roberto
  #3 (permalink)  
Antiguo 21/04/2004, 09:56
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
dobeto .. eso es altamente peligroso!!!!

Así puedo empezar a probar ID de sesión (es cierto que tal vez no dé ni con uno válido) pero, .. me das la posibilidad con la asignación del ID de sesión de una variabel externa a que lo haga ..

-----

mmtaffarel

El SID es una constante .. así que va sin $ delante si quieres usarlo. O bien lo puedes componer con:

Código PHP:
$sid=session_name()."=".session_id(); 
así tomas el nombre de la sesión (que lo tiene y podrías hasta definirlo tu para tus própias aplicaciones) y el ID de sesión que todo junto compone el "SID" (Identificador único de sesión).

El SID se puede progagar de 2 formas:

Por el URL o por cookies.

Por el URL a su vez puede ser propagado "manualmente" o automático (por parte de PHP).

Esto lo define la directiva (php.ini):
session.use_trans_sid = 1 (a 1 lo hará PHP automático).

El hecho de que lo haga automático implica que PHP reescribe ciertos tags HTML para propagarle ahí el SID .. por ejemplo en links, en formularios (crea campo hidden) y otros.

NO lo hace de forma automática en redireccionamientos tipo header("Location....") ni en javacript (window.open, window.location .. etc) ni en etiquetas <meta> de refresh ... (y en frames no recuerdo ahora ..) Las etiquetas HTML que reescribe PHP si usas session.use_trans_sid = 1 las define otra directiva (url_rewrite_tangs o algo así .. ).

Si quires propagar el SID en cookeis (sólo el identificador . los datos de la sesión siguen en el servidor) tan sólo tienes que activar:
session.use_cookies=1 y/o session.use_only_cookeis = 1

Y tener un navegador que acepte cookies. (a su vez podrías desactivar la anterior directiva).

Dependiendo de esa configuración .. de sesiones, así tendrás que trabajar o podrás trabajar con sesiones. Es importantiiiiisiiiimoooo conocerla antes de tocar algo de sesiones.

Por lo demás .. la mejor manera de comprobar si funcionan las sesiones es creando una variable de sesión y leyendola en otro script .. por qué todas esas variables dependen del SID y de que si es el mismo que se propagó o no.

nose.php
Código PHP:
<?
session_start
();
$_SESSION['variable']="valor";
echo 
"<a href=\"sesion.php?".SID."\">click</a>";
?>
sesion.php
Código PHP:
<?
session_start
();
echo 
$_SESSION['variable'];
?>
Y luego si quires (si propagas el SID en cookies) .. quitale el SID al link que pasa a tu sesion.php y observa.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.

Última edición por Cluster; 21/04/2004 a las 09:58
  #4 (permalink)  
Antiguo 21/04/2004, 10:32
 
Fecha de Ingreso: septiembre-2003
Mensajes: 25
Antigüedad: 14 años, 2 meses
Puntos: 0
Gracias por la ayuda...voy a probar...y perdon por el mensaje duplicado, no fue mi intencion romper las reglas del foro..Saludos
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 10:21.