|
Pablo |
at Dec 20, 2007 at 7:50 pm
|
⇧ |
| |
Hola Javier!
Te explico por que sucede eso (si no me equivoco)
El tema es asi, en php el PHPSESSID se puede mantener de 2 maneras. La
1° y mas sencilla para nosotros es a traves de una cookie que se guarda
en el cliente y que siembra automaticamente la funcion
session_start cuando se la llama, esto funciona de la siguiente manera:
Se siembra una cookie en el cliente y se crea un archivo en el servidor
con los valores de las variables, de manera que cuando se pasa de pagina
en pagina se captura la cookie y con el valor se ubica el archivo que
contiene los datos (si usas linux podes fijarte en el servido que cuando
accedes a alguna pagina que crea sesiones se te crea un archivo en /tmp
y si miras dentro estan los valores de las variables que guardaste vos)
La otra manera se usa solo cuando el cliente no acepta cookies, entonces
lo que se hace es pasar el PHPSESSID por GET y lo pongo en mayusculas
porque ahi esta tu problema :) vos pasas los datos por POST
Espero haberte aclarado un poco mas el asunto (y si me equivoque pido
disculpas)
Saludos
Pablo
Javier Martínez wrote:
Hola lista!
Estoy teniendo problemas con la inicializacion de las sesiones.
El caso es que estoy usando un javascript-flash para la subidad de
archivos. En el envio del fichero, mando tambien una variable
'PHPSESSID' con la sesion_id actual.
El problema es que inicialmente, PHP no me coge la sesion.
Nada mas empezar mi script PHP, pongo 'session_start()'. Segun la
documentacion de php, con esta funcion, me deberia crear una sesion
nueva o continuar la que se ha enviado por post, get o cookie (en mi
caso post). Pero no lo hace y no me setea la sesion.
Sin embargo, si hago esto...
------------------------------------------
if($_POST['PHPSESSID'])
session_id($_POST['PHPSESSID']);
session_start();
------------------------------------------
si me funciona. ¿Alguien puede aclararme todo esto? he buscado
informacion pero no encuentro nada que pueda darme una idea de mi
problema.
Gracias.