Foros del Web » Programando para Internet » PHP »

Variables sesion

Estas en el tema de Variables sesion en el foro de PHP en Foros del Web. Hola, despues de instalar PHP 4.3.9 en mi pc, con apache y phpmyadmin, compruebo que las vbles de sesion que utilizo en mi aplicación no ...
  #1 (permalink)  
Antiguo 18/10/2004, 10:11
Avatar de yesik  
Fecha de Ingreso: octubre-2004
Ubicación: Orense
Mensajes: 292
Antigüedad: 13 años, 2 meses
Puntos: 1
Pregunta Variables sesion

Hola, despues de instalar PHP 4.3.9 en mi pc, con apache y phpmyadmin, compruebo que las vbles de sesion que utilizo en mi aplicación no son propagadas,,
utilizo el $_SESSION[] para cargar los formularios y demás. en mi lugar de trabajo funciona (php4.3.4) pero en casa no lo consigo, he modificado el php.ini poniendo a on en valor de register globals y demás pero no hay manera, si alguien me pudiera ayudar..
Gracias de antemano
  #2 (permalink)  
Antiguo 18/10/2004, 11:16
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Y .. como propagas el SID en tu aplicación y como lo tienes configurado en tu php.ini?

Supongo que si no has mencionado el "SID" será por qué asumes que PHP lo va a propagar en una cookie (lo cual implica que tu navegador las acepte también).

Por defecto .. PHP intenta propagar el SID en cookies (session.use_cookies = ON) y no propaga el SID reescribiendo ciertos tags (los que define en sessio.url_rewrite_tags) bajo: session.use_trans_sid (a ON o 1 inserta el SID en tus links y otros redireccionamientos .. pero no así en header("Location" ...) ni en otros redireccionamientos como javascript, en esos casos debes propagar el SID tu a mano en tus link, redireccionamientos o bien dejar que lo propage en una cookie.).

Un saludo,
  #3 (permalink)  
Antiguo 19/10/2004, 01:46
Avatar de yesik  
Fecha de Ingreso: octubre-2004
Ubicación: Orense
Mensajes: 292
Antigüedad: 13 años, 2 meses
Puntos: 1
Haber si entiendo, es que soy nuevo en esto,, mis redireccionamientos los hago con javascript o bien con header (Location) ,, si no te importaría podrias decirme como debo propagar el sid "a mano" o bien mediante una cookie pq no sé como hacerlo, ni si esa es la mejor solucción

Gracias de nuevo
  #4 (permalink)  
Antiguo 19/10/2004, 06:15
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Para propagar el SID en cookies se hace vía configuración de PHP (php.ini o ajustable en ini_set()) como ya te he comentado. Esa es la forma más segura de propagar y usar sesiones pese que eso implica que debes usar un navegador que acepte cookies.

Si deseas propagar el SID en el URL de forma manual (como debes hacerlo en los casos de redireccionar vía javacript o bien header()) .. puedes usar SID como constante que es haciendo cosas tipo:

header ("Location: pagina.php?".SID);

o si usas javacript
window.location("pagina.php?"<? echo SID ?>)

Fijate que no uso "comillas" para llamar a SID pues es una constante ..

Más info y detalles los puedes ver en la recomendada lectura del tema sesiones de PHP en su manual oficial:
www.php.net/session

Un saludo,
  #5 (permalink)  
Antiguo 19/10/2004, 09:24
Avatar de yesik  
Fecha de Ingreso: octubre-2004
Ubicación: Orense
Mensajes: 292
Antigüedad: 13 años, 2 meses
Puntos: 1
Perdona x mi ignorancia,, pero entonces como se está propagando mi SID si yo estoy utilizando javascript y header() sin estar propagando el SID en el URL de forma manual?? No esta bien hacerlo así??
  #6 (permalink)  
Antiguo 19/10/2004, 10:03
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Para saberlo exactamente .. tendrías que poner la configuración de PHP sobre sesiones que uses (php.ini)

Se puede combinar ambos métodos aunque realmente el que manda siempre son las cookies si esta se pudo crear.

Será mejor también que pongas el código que te funciona correctamente.

Un saludo,
  #7 (permalink)  
Antiguo 19/10/2004, 10:24
Avatar de yesik  
Fecha de Ingreso: octubre-2004
Ubicación: Orense
Mensajes: 292
Antigüedad: 13 años, 2 meses
Puntos: 1
Pregunta

//La parte de sesiones del php.iniesta así:

[Session]
session.save_handler = files
session.save_path = "c:\winnt\temp"
session.use_cookies = 1
; session.use_only_cookies = 1
session.name = PHPSESSID
session.auto_start = 0
session.cookie_lifetime = 0
session.cookie_path = /
session.cookie_domain =
session.serialize_handler = php
session.gc_probability = 1
session.gc_divisor = 100
session.gc_maxlifetime = 1440
session.bug_compat_42 = 1
session.bug_compat_warn = 1
session.referer_check =
session.entropy_length = 0
session.entropy_file =
;session.entropy_length = 16
;session.entropy_file = /dev/urandom
session.cache_limiter = nocache
session.cache_expire = 180
session.use_trans_sid = 0
url_rewriter.tags = "a=href,area=href,frame=src,input=src,form=,fields et="


//Y yo simplemente registro en las páginas php mis variables de sesión

session_start();
$_SESSION['SCodObra'] =$CodObra;

//llamo a las nuevas páginas
location.href="../Vista/Altaobra.php?status=

//para luego mostrar su valor en otras páginas
<?print $SCodObra?>

Que te parece??
Gracias por tu ayuda desinteresada, es admirable
  #8 (permalink)  
Antiguo 19/10/2004, 10:55
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Según esta configuración .. El SID lo estás intentando propagar por Cookies. Lo cual como te he comentado anteriormente requiere que tu navegador acepte cookies.

session.use_cookies = 1
session.use_trans_sid = 0

Por el tipo de redireccionmiento que haces:
location.href="../Vista/Altaobra.php?status=

PHP aunque uses session.use_trans_sid = 1 no va a incrustrar (añadir) el SID en ese URL como una variable más que pasar por el URL a ese "altaobra.php" por ejemplo.

Ahora .. ¿ese código se supone que no te funciona o te funciona?

Que navegador usas (versión/tipo) sobre que S.O. para tus pruebas .. y que Servidor HTTP usas ¿IIS, Apache .. otro? .. Y ya puestos .. que versión de PHP.

Un saludo,
  #9 (permalink)  
Antiguo 20/10/2004, 02:39
Avatar de yesik  
Fecha de Ingreso: octubre-2004
Ubicación: Orense
Mensajes: 292
Antigüedad: 13 años, 2 meses
Puntos: 1
Hola,, de nuevo, la verdad que soy 1 güevón pq estoy terminando mi carrera y aún no he conseguido instalar en casa php y compañía,, el problema es +GRAVE de lo que pensaba en principio,, el código que te envié ayer funciona, con navegador explorer6.0, servidor apache y php4.3.4 (windows2000) pero en mi casa con los mismos componentes y (windowsxp) no consigo que se propague NINGUNA VARIABLE,, he estado comparando los php.ini y he detectado algunas diferencias en directivas como:: extension_dir,,upload_tmp_dir ,,session.save_path,, y tambien en httpd,, supongo que será por éste motivo,, lo miraré x la noche y te diré si lo he conseguido,,
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 16:21.