Il modo migliore per implementare il carrello degli acquisti utilizzando PHP / MySQL

Sto lavorando al sito web di un cliente e hanno chiesto un carrello della spesa. Hanno bisogno di usare securetrading.net per il pagamento, quindi non ho bisogno di chiedere i dettagli della carta di credito. Tutto quello che devo fare è tenere traccia degli articoli nel carrello.

Ho letto di usare le sessioni PHP, ma sono preoccupato per la sicurezza lì. Non è un problema se le uniche informazioni che sto memorizzando sono codici prodotto e quantità? Altrimenti, vale la pena usare un database MySQL?

Mi dispiace se sembra una cosa ovvia, ma questa è la prima volta che implemento questo genere di cose!

Esiste un tutorial per il carrello php / MySQL semplice / piccolo che mantiene lo stato del carrello nelle sessioni, c'è anche un codice demo scaricabile e una demo online.

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

L'ho usato quando i programmi di shop online in piena regola erano proprio "over blown". Come te non c'era bisogno di prendere i dati di cc, la logging degli utenti, ecc … basta inserire il punto per submit gli articoli selezionati ai processi di acquisto del gateway di pagamento e poi dimenticarsene. Questo è ciò che il cliente voleva, ed è quello che ha ottenuto alla fine (la mia prima scelta era Magento, ma era troppo complicata per i client 3 prodotti).

Ovviamente è necessario estenderlo per soddisfare le tue necessità, ma è un buon punto di partenza per qualcosa di semplice.

Userei una soluzione open source prefabbricata. Davvero non vuoi lasciarti scappare i problemi di sicurezza quando hai a che fare con i soldi degli altri.

Magento viene in mente. È sicuramente il più furbo che ho visto da un po '… E sembra che ci sia un supporto sicuro se lo fai in te stesso .

Io userei le sessioni PHP visto che memorizzi solo codici prodotto / quantità. Sì, questi sono aperti a "attacco" – ma l'attacco sarebbe qualcosa sulla falsarow di cambiare i codici prodotto (assicurati di aggiungere un controllo per i codici validi prima di passare le informazioni al tuo gateway di pagamento) e le quantità (di nuovo fai un controllo per la quantità a portta di mano se necessario)

Le variables di session sono aperte agli attacchi degli utenti, ma se qualcuno vuole "ingannare" il mio sistema e controllare 4 elementi anziché 1, non è affatto un problema.

Tieni presente che le sessioni dureranno solo per la session. Se il cliente si allontana e torna domani per continuare a fare shopping, scoprirà che il carrello è di nuovo vuoto.

Se hai intenzione di utilizzare le sessioni per fare in fretta le cose, prova a progettare il tuo codice in modo che sia semplice cambiare idea in futuro e passare a una soluzione Mysql.

Tuttavia, a less che tu non abbia requisiti molto specifici, trova una delle centinaia di soluzioni gratuite e risparmia un sacco di tempo.