2009-01-19 28 views
7

Estoy trabajando en el sitio web de un cliente y me han pedido un carrito de compras. Necesitan usar securetrading.net para el pago, por lo que no es necesario que soliciten ningún detalle de la tarjeta de crédito. Todo lo que necesito hacer es realizar un seguimiento de los artículos en su carrito.La mejor manera de implementar un carrito de compras usando PHP/MySQL

He leído sobre el uso de sesiones de PHP, pero me preocupa la seguridad. ¿Esto no es un problema si la única información que estoy almacenando es códigos de productos y cantidades? De lo contrario, ¿vale la pena usar una base de datos MySQL?

Lo siento si esto parece obvio, pero esta es la primera vez que implemento este tipo de cosas.

+0

Simplemente use uno existente; No tiene sentido perder tiempo y dinero escribiendo el suyo. Parece que securetrading.net no tiene una API, necesita hablar con sus desarrolladores directamente para rodar su propio sistema. Aquí hay una lista de los carros existentes que admiten: http://securetrading.net/shopping-carts.html. – Kevin

Respuesta

8

Hay un tutorial para carro simple/pequeño de php/MySQL que mantiene el estado del carrito en las sesiones, incluso hay un código de demostración descargable y una demostración en línea.

http://v3.thewatchmakerproject.com/journal/276/building-a-simple-php-shopping-cart

lo usé cuando toda regla en línea shoping programas eran simplemente que "más del soplado". Igual que usted, no hubo necesidad de tomar datos de CC, registro de usuarios, etc. ... solo un lugar para enviar elementos seleccionados al proceso de compra de la pasarela de pago y luego olvidarlo. Eso es lo que el cliente quería, y eso es lo que obtuvo al final (mi primera elección fue magento pero fue demasiado complicado para los clientes 3 productos).

Por supuesto, necesita extenderlo para satisfacer sus necesidades, pero es un buen punto de partida para algo simple.

+0

link not working –

1

Utilizaría las sesiones de PHP ya que solo está almacenando códigos/cantidades de productos. Sí, están abiertos a "atacar", pero el ataque sería algo similar al cambio de códigos de productos (asegúrese de agregar un cheque de códigos válidos antes de pasar información a su pasarela de pago) y cantidades (nuevamente, verifique la cantidad en la mano si es necesario)

Las variables de sesión están abiertas al ataque de los usuarios, pero si alguien quiere "engañar" mi sistema y pagar 4 elementos en lugar de 1, realmente no es un problema.

+0

Pero recuerde que intentar 4 en lugar de 1 no es suficiente. Lo que es más importante y sobre todo ignorado es que no es posible verificar con números negativos o con un cero. – bicycle

3

Usaría una solución prefabricada de código abierto. Realmente no quiere dejar pasar tontos problemas de seguridad cuando está tratando con el dinero de otras personas.

Magento me viene a la mente. Ciertamente es el más resbaloso que he visto en mucho tiempo ... Y parece que hay soporte seguro para el comercio si you hack it in yourself.

+0

Siento que me falta algo aquí.Todo lo que realmente necesito es un registro de los números y las cantidades de los artículos para que puedan pasarse a la forma segura de compra. ¿Seguro que esto es realmente simple? – Skilldrick

0

Tenga en cuenta que las sesiones solo durarán, bueno, la sesión. Si su cliente se retira y regresa mañana para seguir comprando, verá que su cesta está vacía nuevamente.

Si va a utilizar sesiones para que las cosas funcionen rápidamente, intente diseñar su código para que sea fácil cambiar de opinión en el futuro y cambiar a una solución Mysql.

Sin embargo, a menos que tenga requisitos muy específicos, solo encuentre una de las cientos de soluciones gratuitas disponibles y ahórrese un montón de tiempo.

+0

Entonces, ¿qué sugiere que maneje el manejo del carrito de usuario invitado? La sesión no se puede mantener durante un período prolongado, las cookies también funcionan solo para un navegador, entonces, ¿cuáles son las sugerencias? Tengo el mismo problema al desarrollar mi proyecto –

Cuestiones relacionadas