Dipende un po' cosa vuoi esattamente dal carrello. Se deve essere persistente all'interno di una sessione, puoi usare le variabili 'session' e un array dove ci sono immagazzinati tutti i prodotti scelti. Se invece deve essere persistente fra le sessioni, cioè oggi e futuro, dovrai salvare i dati o in un cookie lato client (perde le informazioni se li azzera), oppure in un database. Quest'ultimo però richiede che l'utente sia in qualche modo registrato e che abbia un ID univoco.
Puoi tranquallamente usare lo stesso database dove risiedono i prodotti, ma aggiungi una tabella che contiene i dati utente, e un'altra che contiene i prodotti scelti, abbinati a questo ID.
Il procedimento in grandi linee è:
- registrazione utente/login
- presentazione del carrello attuale
- selezione dei prodotti
- aggiunta al carrello
- conferma acquisto
- richiesta tipo di pagamento
- delegazione acquisto ai siti come PayPal, NoChex etc
- elaborazione dati risposta PayPal, NoChex etc
- invio email di conferma all'utente
- chiusura carrello (storico)
Alla visualizzazione del carrello c'è da fare la sommatoria di tutti i prodotti uguali, ed applicare lo sconto quantitativo, e il costo di trasporto in base ai volumi, ma questo è più che altro una semplice query.
La parte più rognosa è l'invio degli acquisti ai siti esterni per il pagamento, e l'elaborazione delle risposte. Non ci devono essere errori, sennò gli utenti non comprano più, ed è una faticaccia di rintracciare l'utente, soprattutto se ha omesso il numero di telefono o sbagliato qualcosa, che purtroppo è molto, molto frequente, sia perché la gente sbaglia, sia perché non vogliono comunicare certi dati.
Giovanni
---
http://www.y2ksw.com/vbulletin