Foros del Web » Programando para Internet » PHP »

Como hago con las benditas sesiones

Estas en el tema de Como hago con las benditas sesiones en el foro de PHP en Foros del Web. Muchachos algo bien importante, como hago para controlar los usuarios como hago para pasarle el SID entre formularios, como hago con GET o con POST, ...
  #1 (permalink)  
Antiguo 04/01/2004, 22:58
 
Fecha de Ingreso: diciembre-2003
Mensajes: 148
Antigüedad: 14 años
Puntos: 0
Como hago con las benditas sesiones

Muchachos algo bien importante,
como hago para controlar los usuarios como hago para pasarle el SID entre formularios, como hago con GET o con POST, como hago para q no hagan CTRL-C CTRL-V y abran una url nueva y abran esa pagina, como hago, ayuda urgente


Saludos
Rubén :-p
  #2 (permalink)  
Antiguo 05/01/2004, 08:12
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Si propagas el SID en cookies .. te evitas el problema que te hagan un cut-and-paste de tu URL con el SID propagado .. también te evitas andar propagando el SID tu a mano pero tienes el problema que si un navegador no admite cookies tu aplicación no irá pese que uses sesiones.

Para propagar el SID manualmente en formularios debes propagarlo en una variable tipo hidden de tu formulario componiendo el SID con las funciones:

session_name() y session_id() para el nombre (name) y valor (value) de ese hidden

Código PHP:
<input type="hidden" name="<? echo session_name() ?>" value="<? echo session_id() ?>">
Y el método de tu formulario sería POST (si no quieres ver por el URL esa y el resto de variables de ese formulario).

www.php.net/session

Pero, antes de nada .. revisa los valores de tu php.ini (phpinfo() tambien se ven):

session.use_trans_sid = 1 o 0
session.use_cookies =1 o 0

Por qué .. del estado de estas directivas depende si PHP va a propagar el SID en modo automático (la primera a 1 lo indica) o si vas a usar cookies a su vez (la segunda a 1).

Lee la documentación oficial de las sesiones ..sobre todo su "teoría". Las configuración sobre sesioens es determinante cuando programas usando sesiones ya que del estado de esta configuración dependerá "como" puedes programar sesiones en PHP.


Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #3 (permalink)  
Antiguo 05/01/2004, 16:15
 
Fecha de Ingreso: diciembre-2003
Mensajes: 148
Antigüedad: 14 años
Puntos: 0
Ya pero esto

Código PHP:
<input type="hidden" name="<? echo session_name() ?>" value="<? echo session_id() ?>">
session_id() me sale vacio que pasa creo q tengo q hacer antes algo.
Saludos
Rubén
  #4 (permalink)  
Antiguo 05/01/2004, 19:28
Avatar de jpinedo
Colaborador
 
Fecha de Ingreso: septiembre-2003
Ubicación: Lima, Perú
Mensajes: 3.120
Antigüedad: 14 años, 2 meses
Puntos: 41
Iniciar la sesión:
Código PHP:
session_start(); 
Saludos
  #5 (permalink)  
Antiguo 05/01/2004, 21:27
 
Fecha de Ingreso: diciembre-2003
Mensajes: 148
Antigüedad: 14 años
Puntos: 0
ya ok, pero me sale esto


<input type="hidden" name="PHPSESSID" value="8aa882ae6a976e1659745768594cd574">

q es creo lo q quiero

pero me salen varios warnings tales como:


Warning: session_start(): open(c:/php/sessions/\sess_8aa882ae6a976e1659745768594cd574, O_RDWR) failed: No such file or directory (2) in C:\Web\ExManager\sesion1.php on line 1

Warning: session_start(): Cannot send session cookie - headers already sent by (output started at C:\Web\ExManager\sesion1.php:1) in C:\Web\ExManager\sesion1.php on line 1

Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at C:\Web\ExManager\sesion1.php:1) in C:\Web\ExManager\sesion1.php on line 1

Warning: Unknown(): open(c:/php/sessions/\sess_8aa882ae6a976e1659745768594cd574, O_RDWR) failed: No such file or directory (2) in Unknown on line 0

Warning: Unknown(): Failed to write session data (files). Please verify that the current setting of session.save_path is correct (c:/php/sessions/) in Unknown on line 0

Son varios warnings , a q se debe???, y por ultimo otra pregunta, como hago para validar en la otra pagina el session_id?? con un isset($_POST["PHPSESSID"])????

Gracias
Saludos
  #6 (permalink)  
Antiguo 06/01/2004, 00:40
 
Fecha de Ingreso: diciembre-2003
Mensajes: 148
Antigüedad: 14 años
Puntos: 0
Muchachos lo del warning era porq no tenia creada la carpeta sessions.

Solo me queda saber como hago para validar en la otra pagina el session_id??

- Verifico q el isset($_POST["PHPSESSID"])????

Y como hago q esta pagina guarde ese id para posibles llamadas de otra paginas

- Hago la misma jugada de poner session_start() y session_id
ó
- Pongo un hidden y lo guardo ahi y cada vez q llame a otra pagina el form lo pasa como variable?

Gracias
Saludos
  #7 (permalink)  
Antiguo 06/01/2004, 09:11
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
? validar el SID? ..

Lo que tienes que validar son las variables que has guardado en tu sesión ...

Para eso en algún momento debes registrar alguna variable en tu sesión para luego leerla.

Estas trabajando con alguna variable de sesión ya? o crees que por el hecho de "propagar" el SID en tu formulario ... esas variables van a guardarse "automáticamente" en la sesión?

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #8 (permalink)  
Antiguo 06/01/2004, 09:27
 
Fecha de Ingreso: diciembre-2003
Mensajes: 148
Antigüedad: 14 años
Puntos: 0
Cluster, gracias por contestar, creo q solo estoy propagando el SID nomas, me puedes decir la amnera correcta??


Saludos
Rubén
  #9 (permalink)  
Antiguo 06/01/2004, 09:41
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Revisa esta FAQ:

http://www.forosdelweb.com/showthrea...998#post238998

Las sesiones se basan en dos conceptos .. uno el de "registrar" o guardar tus variables en una sesión para poder recuperarlas y el otro concepto es el de "propagar" el SID para que el usuario que inicia una sesión (SID) siga en la misma. (parece que empezastes al reves tu xDD .. casi todo el mundo "se olvida" de propagar el SID ya que PHP si usas las directivas de tu php.ini mencionadas en este mensaje .. lo hace de forma automática y sin que tu tengas que hacerlo manualmente).

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
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 08:47.