Foros del Web » Programando para Internet » PHP »

Problema con sesiones

Estas en el tema de Problema con sesiones en el foro de PHP en Foros del Web. Hola, estoy trabajando con una carro de compra en php pero me encuentro con un problema: El tema es que necesito mantener el id de ...
  #1 (permalink)  
Antiguo 20/05/2004, 10:17
Avatar de fermartinfer  
Fecha de Ingreso: diciembre-2003
Mensajes: 84
Antigüedad: 14 años
Puntos: 0
Problema con sesiones

Hola, estoy trabajando con una carro de compra en php pero me encuentro con un problema:

El tema es que necesito mantener el id de sesion del visitante. Para navegar e ir realizando las compras todo funciona de maravilla, pero cuando el usuario va a pagar, la aplicacion lo envia a la web del banco, una vez que el cliente realizo el pago, el banco lo envia nuevamente a mi tienda, es aqui donde esta el problema. En este punto del programa no tengo forma de volver a obtener el id sesion del usuario que tenia antes.

Alguien me puede ayudar!!

Saludos y gracias desde ya
  #2 (permalink)  
Antiguo 20/05/2004, 20:45
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Para esos casos . usa preferentemente cookies en lugar de sesiones.

Las sesiones se crean y gestionan en el servidor .. El SID (Identificador único de sesión) que creas y se propaga en tu sistio .. al salir al otro dominio se pierde.

Con la "cookie" usarías el cliente (navegador) de ese usuario como "puente" para reestablecer su sesión. Puedes guardarte en dicha cookie el SID antes de salir al otro sitio y recuperarla al regresar a tu sitio restaurando el SID de esa cookie con: session_id()

Si tu pasarela de pago te permite enviar alguna variable de vuelta como parámetro de la página que redigirá al terminar el proceso ... podrias usar algún identificador de tu usuario para relacionarlo con algún registro de tu BD que restaure la sesión para ese usuario (tomando el SID nuevamente).

Sólo tendras que tener cuidado con el tiempo de expiración de la sesión: (php.ini) session.gc_maxtimelife .. por qué ese tiempo (en segundos) es lo que ese SID que propages en una cookie tuya (o de PHP incluso ajustando session.use_cookies y su tiempo de expiración de la cookie que crea PHP) será el tiempo que ese SID será válido.

Es recomendable que uses una cookie própia si lo deseas para "matarla" en cuanto regreses a tu sitio y darle un tiempo de expiración igual al session.gc_maxtimelife (intenta ajustar el tiempo justo de la transacción no le dés mucho tiempo más).

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 18:59.