277 messaggi dal 08 luglio 2008
Ciao,

ho bisogno di un suggerimento su come gestire il classico carrello di un ecommerce.

In particolare vorrei aiuto su dove memorizzare i dati dei prodotti e delle quantita inserite nel carrello tenendo presente che l'utente puo inserire i prodotti pur non essendo registrato.

Proprio per questo volevo sapere come gestire con i cookie le informazioni. Secondo voi è meglio memorizzare i dati prodotti e quantite del carrello su db e lasciare un cookie solo con l'id carrello, o memorizzare nel cookie tutte le informazioni su prodotti e quantita?

grazie
214 messaggi dal 25 settembre 2001
ti dico come faccio io...

ho creato un oggetto cart in cui vado a caricare i prodotti che l'utente sta inserendo nel carrello... lo "porto in giro tramite una session"
poi al momento in cui il cliente va a concludere l'acquisto .. registro il cliente ed inserisco i dati nelle apposite tabelle associando il cliente...

Ciao
674 messaggi dal 12 maggio 2001
www.idioteca.it
io invece inserisco tutto nel db e nella tabella del mio carrello aggiungo il sessionID. Al momento della registrazione aggiorno la tabella con l'idUtente associato al sessionID corrente e così rendo "stabili" i dati memorizzati nel carrello.
Dato che così si rischierebbe di avere tanti dati inutili nel caso in cui un utente non concluda un ordine, nel load della mia pagina di selezione prodotti verifico che i dati presenti a db senza idUtente valido non siano scaduti (secondo regole che definisco a priori con il cliente) e in tal caso elimino tutti quelli non validi.
In questo modo riaggiorno eventuali quantità da rendere nuovamente disponibili e tengo il db sempre pulito. La mia pulizia avviene a prescindere dall'utente collegato e così è sempre il prossimo potenziale cliente a farmi pulizia e ad avere la situazione completamente aggiornata.
ciao
277 messaggi dal 08 luglio 2008
Ciao, ma un oggetto in sessione non è oneroso in termini di prestazioni dell'applicazione? e come gestisci il caso in cui la sessione scade?

Io pensavo di memorizzare il tutto in un cookie con una data di scadenza molto elevata in modo che l'utente può ritrovare il suo carrello anche in momenti diversi di navigazione nel tempo.

Pensavo di generare una stringa (magari criptata) di questo tipo:

codProdotto=12345&quantita=1&codProdotto=abcde&quantita=3&...&...&...

in questo modo recupero il codice prodotto e la quantita scelta per ogni prodotto e interrogo il db tramite il codice per recuperare l'anagrafica del prodotto.

Potrebbe andare come soluzione?

grazie

zaffo ha scritto:
ti dico come faccio io...

ho creato un oggetto cart in cui vado a caricare i prodotti che l'utente sta inserendo nel carrello... lo "porto in giro tramite una session"
poi al momento in cui il cliente va a concludere l'acquisto .. registro il cliente ed inserisco i dati nelle apposite tabelle associando il cliente...

Ciao
39 messaggi dal 12 febbraio 2016
Ciao ragazzi,
anche io ho questo quesito. Cosa mi consigliate?
Posso usare la session?
E se mi scade?
10.018 messaggi dal 09 febbraio 2002
Contributi
Ciao,
le soluzioni di cui hanno parlato gli altri sono valide.
Se ti preoccupa la scadenza della sessione, puoi memorizzare id e quantità dei prodotti (ma non i prezzi) in un cookie persistente, che può sopravvive anche ad un lungo periodo di inattività o al riavvio del PC. Sei tu ad impostare la scadenza del cookie. Se l'utente dovesse cancellare i cookie o cambiare browser, si troverebbe senza più articoli nel carrello e questo è un problema considerando che oggi un utente possiede più dispositivi diversi ed un acquisto iniziato su smartphone può concludersi su PC (o viceversa). In quest'ottica, potresti memorizzare i carrelli lato server, all'interno del database. Loggandosi da dispositivi diversi, l'utente ritroverà comunque il suo carrello.

Ovviamente, verifica sempre se le quantità nel carrello sono ancora disponibili prima di lasciar procedere l'utente all'acquisto. Un articolo aggiunto al carrello 15 giorni fa potrebbe non essere più disponibile oggi. Questo problema deve essere segnalato nel carrello.

ciao,
Moreno

Enjoy learning and just keep making

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.