Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 21
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    909

    Conservare temporaneamente delle info

    Salve gente,
    sto realizzando un semplice e-commerce php e mysql e, ovviamente devo offrire la possiblità agli utenti di selezionare vari prodotti e, solo alla fine fare il conteggio degli stessi, compilare il form ed inviare una mail.

    Il problema ora è che non riesco a capire come fare per salvare temporaneamente i prodotti selezionati dall'utente(prodotto, immagine, codice, prezzo), non posso neanche inserirli nel db perchè poi non sarei in grado di capire chi li ha inseriti! e se 2 utenti selezionano il medesimo prodotto contemporaneamente succede un casino!

    Pensavo alle variabili di sessioni, può funzionare? E se funziona, come faccio a salvare quelle informazioni che mi interessano e poi richiamarle ed inserirle nel db?



    grazie mille come sempre.

  2. #2
    Utente di HTML.it L'avatar di Il_Drugo
    Registrato dal
    May 2006
    Messaggi
    1,220
    Le soluzioni credo siano solo 2:

    - $_SESSION

    - $_COOKIE

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    10
    $_SESSION e $_COOKIE vanno bene!

    Ma puoi inserirli nel db se tu li associ all'indirizzo ip del utente

    -M

  4. #4
    Utente di HTML.it L'avatar di wallrider
    Registrato dal
    Apr 2003
    Messaggi
    2,755
    Originariamente inviato da Moogey
    $_SESSION e $_COOKIE vanno bene!

    Ma puoi inserirli nel db se tu li associ all'indirizzo ip del utente

    -M
    E' una domanda? :master:
    RIP Cicciobenzina 9/11/2010

    "Riseminaciceli, i ceci nell'orto"

  5. #5
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    909
    sareste così gentili da farmi un esempio pratico?

    ...magari anche con l'ip

    chiedo troppo? grazie mille

  6. #6
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    10
    wallrider: No. Non fa senso o il problema è il mio italiano?

  7. #7
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    30
    Se devi creare qualcosa di estremamente preciso come un servizio di e-commerce, non ti sconsiglio di utilizzare come identificazione l'ip dell'utente, o anche solo il session_id() generato dal server.
    Piuttosto, ad ogni inizio sessione, attribuisci ad ogni utente un id progressivo, che magari prende in considerazione anche le prime due cifre dell'ip, inserendo anche qualcosa di alfabetico.. (ES: 1270i135a), così sarai sicuro che i dati non si potrano assolutamente duplicare.
    per la memorizzazione temporanea di dati, potresti sempre memorizzare su db, e ad ogni richiesta di pagina 'modifichi' un valore contente il tempo con quello attuale. Così facendo potresti eliminare tutti quelli che non effettuano una richiesta (nel senso di: un aggiornamento) per X tempo
    naturalmente, solo idee sparse

  8. #8
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    909
    saresti così gentile da farmi un esempio concreto?...già mi sono perso nella teoria.....

    grazie

  9. #9
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    10
    Originariamente inviato da yusizu
    sareste così gentili da farmi un esempio pratico?

    ...magari anche con l'ip

    chiedo troppo? grazie mille
    Dopo averci pensato, non penso che la mia idea sia buona. Dovresti fare il tuo programma sgombrare il db spesso per liberarsi del data scaduto. Per esempio, se l'utente seleziona un prodotto e poi decide di non comprarlo e parta il tuo sito, il data non è necessario nel db più.

    Spero di essermi spiegato. Forse dovrei esercitarmi più e poi ritornare quando il mio italiano è meglio!

    -M

  10. #10
    Utente di HTML.it L'avatar di Il_Drugo
    Registrato dal
    May 2006
    Messaggi
    1,220
    Se gli utenti sono registrati (quindi hai un sistema di login) allora ti consiglio di fare tutto su DB, con apposite funzioni per la rimozione e l'aggiunta di prodotti nel carrello. In questo modo un utente che si logga poi avra' un carrello persistente.

    Se non hai un sistema di login, ma l'acquisto è "libero" allora di consiglio di restare sull'idea $_SESSION / $_COOKIE:

    - $_SESSION : le sessioni sono molto comode, ma devi conoscere alcuni tricks per evitare errori o notice. In ogni caso è pieno di tutorial in giro per la rete (cmq in poche parole è un array che resta a disposizione degli script del tuo sito finchè l'utente non chiude il browser). Il difetto delle variabili di sessione è, appunto, che una volta chiuso il browser perdi tutto (ma potrebbe essere un vantaggio^^ ).

    - $_COOKIE : come le sessioni, permette la "persistenza" dei dati durante la navigazione del sito, ma l contrario delle sessioni, mantiene i dati anche alla chiusura del browser (se la data di scadenza del cookie viene impostata a dovere). Il difetto dei cookies è che possono essere cancellati dall'utente (tramite le impostaazioni del proprio browser) e questo spesso sballa i piani di un webmaster inesperto ^^'

    Personalmente di consiglio un "carello temporaneo" basato sulle $_SESSION. Al massimo ti crei un file di LOG in cui annoti tutte le sessioni, con IP, ora e data etc...tanto per sicurezza.


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.