Foros del Web » Programando para Internet » PHP »

Llamada asíncrona y variables de sesión

Estas en el tema de Llamada asíncrona y variables de sesión en el foro de PHP en Foros del Web. Hola a todos, He implementado un carro de compra con php y pago a paypal, mi problema es que cuando recibo la notificación IPN, que ...
  #1 (permalink)  
Antiguo 18/06/2010, 03:11
Avatar de SUSMO  
Fecha de Ingreso: abril-2008
Ubicación: Barcelona
Mensajes: 188
Antigüedad: 16 años
Puntos: 0
Llamada asíncrona y variables de sesión

Hola a todos,

He implementado un carro de compra con php y pago a paypal, mi problema es que cuando recibo la notificación IPN, que se llama de forma asíncrona por header, pierdo las variables de sesión que tenía creadas con el carrito.

Mi pregunta es la siguiente, si yo creo desde la llamada de la función asíncrona las variables de sesión que se me han perdido para acabar de completar la compra, puede darme problemas? me refiero a que si puede machacarme las mismas variables de sesión de las compras que estan utilizando los usuarios en tiempo real.

Escribo esta pregunta en este foro pq entiendo que lo mismo que me pasa con la llamada asíncrona a paypal me pasará con cualquier llamada asíncrona.

Espero que puedan ayudarme
Saludos,
__________________
Perdida en el mundo del conocimiento
  #2 (permalink)  
Antiguo 18/06/2010, 08:57
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Llamada asíncrona y variables de sesión

Recuerda que las variables de sesión se mantienen por la cookie con el session ID, la llama asíncrona de Paypal NO transmite la cookie de sesión ya que se origina desde otro cliente en otro servidor.

No es que pase con todas las llamadas asíncronas, si no que las llamadas asíncronas que se originan desde tu cliente sí transmiten la cookie y por eso puedes ver las variables de sesión.

Saludos.
  #3 (permalink)  
Antiguo 18/06/2010, 09:18
Avatar de SUSMO  
Fecha de Ingreso: abril-2008
Ubicación: Barcelona
Mensajes: 188
Antigüedad: 16 años
Puntos: 0
Respuesta: Llamada asíncrona y variables de sesión

Gracias por tu respuesta GatorV, pero no acabo de entender que quieres decir con:

"si no que las llamadas asíncronas que se originan desde tu cliente sí transmiten la cookie y por eso puedes ver las variables de sesión."

De hecho mi problema es que cuando llamo desde una función de forma asíncrona para saber la notificación de IPN a PyaPal, las variables de sesion no existen. Por ese motivo me he visto forzada a volver a cargarlas dentro de la función que te comento.

Mi duda es si el hecho de volver a cargar las variables de sesion ($_SESSION) puede influir a las que se han cargado de forma "normal" cuando el usuario está efectuando una compra o por el lado contrario, el hecho de que se ejecute asíncronamente hace que se generen como variables independientes de las originales. (no se si me he explicado bien, lo siento)

Saludos.
__________________
Perdida en el mundo del conocimiento
  #4 (permalink)  
Antiguo 18/06/2010, 13:56
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Llamada asíncrona y variables de sesión

Te repito, cuando recibes el Postback del IPN de Paypal, este no transmite la cookie con el ID de sesión porque ese solo existe en el cliente que esta haciendo la compra, es por eso que pierdes todas las variables de sesión.

Lo mejor en estos casos es guardar los datos en una base de datos y mejor enviar un id de pedido o algo por el estilo.

Saludos.

Etiquetas: llamada, sesión, variables
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 04:00.