Ver Mensaje Individual
  #2 (permalink)  
Antiguo 29/05/2008, 00:25
GreenEyed
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 21 años, 3 meses
Puntos: 51
Respuesta: megaformulario con carro de compras

No suele ser recomendable hacer que una transaccion abarque varias peticiones, por lo mismo que dices de que es dificil controlar si el usuario lo deja a la mitad.

Lo habitual suele ser ir almacenando los datos en sesion, o en la BDD pero marcandolos como "no confirmados", y esperar a que el usuario confirme al final para guardar los datos de sesion en BD, o marcar la transaccion en la BDD como "confirmada".

Para borrar las transacciones que se dejan a medias... si guardas las cosas en sesion, al caducar la sesion se borran, y si las guardas en BDD, puedes hacer un proceso que te borre de vez en cuando las transacciones "sin confirmar" que sean demasiado antiguas, o hacerlo cuando el mismo usuario vuelva a entrar etc. O guardar una referencia a esa transaccion en session y limpiarla cuando la session caduque.

El usar una opcion y otra depende de algunos factores. En una ocupas memoria del servidor, puede que no mucha o puede que si sea un problema, en el otro caso puedes hacer cosas aun que la sesion caduque, si se quiere, como dejarle continuar una transaccion en sesiones diferentes.

S!
__________________
Para obtener respuestas, pregunta de forma inteligente o si no, pregunta lo que quieras que yo contestaré lo que me dé la gana.