Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2004
    Messaggi
    60

    Annosa Q. carrello: sess, cookie, db???

    Girovagando su questo e altri forum (per non parlare di varie guide, tutorial, articoli...) mi sono fatto una piccola cultura sulla costruzione dei carrelli della spesa con le sessioni, i cookie e MySQL, da soli o combinati tra loro.
    Problema incontrato da chiunque necessiti di memorizzare più di un valore (ad esempio categoria, codice, quantità del prodotto)

    Quello che non sono ancora riuscito a capire è quale sia effettivamente il metodo migliore , probabilmente perchè ho ancora molti dubbi... vediamo di fare un piccolo sum di pro e contro (per quello che sono riuscito a capire... )

    - le SESSIONI appesantiscono il server se non cancellate correttamente con il gc del php.ini però funzionano sempre perchè lato/server; inoltre è possibile memorizzare array ottenendo così un array di array (la sessione in fondo è impostabile anche come array, giusto?) cosa non fattibile coi cookie...

    - i COOKIE risiedono lato client e non appesantiscono il server; per questo stesso motivo però non è possibile avere un controllo completo (ad esempio se non attivati sul browser), se ne possono inviare al max 20 per dominio e possono pesare ax 4 kb; inoltre non potendo memorizzare array si dovrebbe inserire una stringa da processare di volta in volta con explode (ad esempio memorizzare categoria_codice_quantità|categoria_codice_quantit à e poi fare due explode per | e poi per _ ) I cookie però permetterebbero di interagire meglio con clienti non registrati o autenticati e tenerne traccia anche alla chiusura del browser e per molto tempo senza riempire il server dei file di sessione

    - MySQL permetterebbe di memorizzare comodamente i dati in un db carrelli contenente tabelle associate ai clienti tramite cookie o sessioni; personalmente avevo pensato di inviare un cookie con l'id del cliente che corrisponderebbe poi al nome della tabella del db carrelli contenente una riga per ogni item nel carrello; tutto ciò richiederebbe però una connessione al db gni volta serva modificare/visualizzare il carrello; inoltre non si correrebbe il rischio, se non cancellando manualmente, di sovraccaricare il db di carrelli inutilizzati?

    VVoVe:

    Forse la soluzione più semplice sarebbe utilizzare tutti e tre gli strumenti: sessioni per gli utenti non registrati che scadono alla chiusura del browser, cookie e db per gli utenti registrati (in modo da fornire un servizio di memorizzazione del carrello) utilizzando però le sessioni per tenere traccia finchè il cliente è connesso così da non appesantire il db con continue interrogazioni. Ma probabilmente sbaglio tutto

    Qualcuno ha risposte a tutti questi dubbi e soluzioni ai miei problemi? grazie ciao

    (credo possa interessare a molti, no? scusate se ho scritt una cosa a metà tra una pillola e una niubbata :maLOL: )
    Non esiste niente di più serio dell'arte; e non esiste niente di meno serio dell'artista. (O.Wilde)

  2. #2
    Utente di HTML.it
    Registrato dal
    Mar 2004
    Messaggi
    60
    up

    nessuno ha qualcosa da dire?

    Non esiste niente di più serio dell'arte; e non esiste niente di meno serio dell'artista. (O.Wilde)

  3. #3
    non ti fasciare la testa prima di romperla

    visto che già ti devi complicare la vita per renderla facile agli utenti... non cercare di complicarla ulteriormente cercando soluzioni difficili.

    trovi che utilizzare un database sia comodo? bene scegli quella via.
    mysql è in grado di gestire talmente tanti record che probabilmente non riuscirai a metterlo in crisi.

    se le tabelle dovessero ingrandirsi parecchio puoi pensare a qualche procedura di manutenzione.


  4. #4
    beh...io direi solo sessioni e db

    con la sessione tieni traccia della posizione corrente dell'utente...mentre nel db inserisci tuto ciò che contiene il carrello e lo agganci all'hash della sessione...in questo modo chi esce perde le varie info...chi invece è registrato avrà legato alla sessione anche l'id utente...quindi basta fare una ricerca combinata e trovi tutto anche se trovo inutile mantenere la lista delle cose nel carrello dopo che uno chiude la pagina web (xche se lo fa vuol dire che nn gli interessa acquistare)
    The fastest Redis alternative ... cachegrand! https://github.com/danielealbano/cachegrand

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.