Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2008
    Messaggi
    81

    transazioni per shop / e-commerce

    Ciao a tutti,
    sto realizzando uno shop, o meglio un carrello prodotti. Fin qui tutto bene.
    Una cosa che non ho mai approffondito è la faccenda delle transazioni: pensavo di limitarmi al cotrassegno, paypal e bonifico bancario.
    1) Avete qualche link da suggerirmi per studiarmi le soluzioni?
    2) A cosa devo stare assolutamente attento?

    grazie!

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,503
    Devi stare attento agli accessi concorrenti al db, ovvero se un utente cerca di acquistare lo stesso prodotto che sta già acquistando un altro.

    Esempio:
    C'è 1 unità del prodotto X
    L'utente A va ad acquistarlo, nel momento in cui sta inserendo i dati per l'acquisto (ad esempio sta effettuando l'accesso a Paypal) si mette a perdere tempo, arriva l'utente B e anche lui vuole comprare X.

    B è più veloce di A ed inserisce prima i dati terminando l'acquisto, A termina l'acquisto.
    Entrambi hanno comprato X, ma ce n'era solo 1.

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2008
    Messaggi
    81
    Originariamente inviato da Alhazred
    Devi stare attento agli accessi concorrenti al db, ovvero se un utente cerca di acquistare lo stesso prodotto che sta già acquistando un altro.

    Esempio:
    C'è 1 unità del prodotto X
    L'utente A va ad acquistarlo, nel momento in cui sta inserendo i dati per l'acquisto (ad esempio sta effettuando l'accesso a Paypal) si mette a perdere tempo, arriva l'utente B e anche lui vuole comprare X.

    B è più veloce di A ed inserisce prima i dati terminando l'acquisto, A termina l'acquisto.
    Entrambi hanno comprato X, ma ce n'era solo 1.
    Grazie "arabo pazzo"
    non ci avevo pensato. Così su due piedi mi viene in mente l'accostamento dell'user ad un codice univoco di sessione... mah, vedremo.

    Altri suggerimenti?
    Qualche guida per le transizioni?

    oyea!

  4. #4
    qualcuno di esperto dovrebbe scrivere una bella pillola, non se ne trovano molte in giro ed è un argomento molto interessante!

  5. #5
    Utente di HTML.it L'avatar di las
    Registrato dal
    Apr 2002
    Messaggi
    1,221

    Re: transazioni per shop / e-commerce

    Originariamente inviato da ilsangue
    Una cosa che non ho mai approffondito è la faccenda delle transazioni: pensavo di limitarmi al cotrassegno, paypal e bonifico bancario.
    attenzione a non confondere le cose, le transazioni non hanno nulla a che fare con la 'transazione economica', servono solo a evitare che 2 utenti che accedono in contemporanea o quasi nel DB abbiano dati scorretti in quanto il primo modifica in contemporanea al secondo (come nell'esempio di Alhazred)

    Originariamente inviato da ilsangue
    2) A cosa devo stare assolutamente attento?
    intanto al motore del DB, le transazioni sono supportate solo da InnoDB, con myisam puoi solo bloccare le tabelle, ma non è una vera e propria transazione.

    Il calcolatore è straordinariamente veloce, accurato e stupido.
    L'uomo è incredibilmente lento, impreciso e creativo.
    L'insieme dei due costituisce una forza incalcolabile.
    (Albert Einstein)

  6. #6
    Utente di HTML.it
    Registrato dal
    Oct 2008
    Messaggi
    81

    Re: Re: transazioni per shop / e-commerce

    Originariamente inviato da las
    attenzione a non confondere le cose, le transazioni non hanno nulla a che fare con la 'transazione economica', servono solo a evitare che 2 utenti che accedono in contemporanea o quasi nel DB abbiano dati scorretti in quanto il primo modifica in contemporanea al secondo (come nell'esempio di Alhazred)
    Ho capito. Ho capito che ho malinteso. Sviluppando invece la questione sul punto "transazione economica": cosa devo studiarmi?

    intanto al motore del DB, le transazioni sono supportate solo da InnoDB, con myisam puoi solo bloccare le tabelle, ma non è una vera e propria transazione.

    Ahhh! Studiare, studiare, studiare! Finora non ho mai avuto necessità di usare tabelle di tipo diverso da MyISAM, dovrò studiarmi bene InnoDB ed il concetto di "transazione". A proposito, hai un link valido propedeutico all'argomento?

    Da ignorante però mi chiedo: senza usare InnoDB, non posso fare un controllo che mi filtri le richieste contemporanee degli utenti a monte con php?

    grazie,

  7. #7
    Utente di HTML.it L'avatar di las
    Registrato dal
    Apr 2002
    Messaggi
    1,221

    Re: Re: Re: transazioni per shop / e-commerce

    Originariamente inviato da ilsangue
    Ho capito. Ho capito che ho malinteso. Sviluppando invece la questione sul punto "transazione economica": cosa devo studiarmi?
    praticamente nulla, a parte le specifice che ti darà la banca del tuo cliente, in pratica per le carte di credito il giro è più p meno sempre questo:

    1. tu comunichi alla banca (il modo te lo devono dire loro) l'importo che l'utente deve pagare e lo reindirizzi ad una pagina presso un loro server
    2. l'utente effettua il pagamento nel server della banca (quindi sotto la loro responsabilità)
    3. la banca reindirizza l'utente presso di te comunicandoti anche se il pagamento è andato a buon fine o meno

    quindi in pratica tu a livello di sicurezza non devi fare nulla, perchè la transazione avviene in un sito della banca.

    Originariamente inviato da ilsangue
    Da ignorante però mi chiedo: senza usare InnoDB, non posso fare un controllo che mi filtri le richieste contemporanee degli utenti a monte con php?
    Quello che puoi fare con myIsam è bloccare le tabelle prima dell'ultima verifica del dato, in pratica riprendendo l'esempio di Alhazred gli utenti navigano entrambi convinti che ci sia ancora un prodotto B si reca al carrello e lo acquista in quel momento tu blocchi la tabella (quindi se A fa la stessa cosa nello stesso istante rimane in attesa) vedi che c'è un prodotto e concludi la vendita a B, scali il prodotto e sblocchi la tabella ..... quando A arriverà alla conclusione dell'acquisto farai la stessa cosa, ma ovviamente vedrai che la quantità per quel prodotto e 0 e quindi darai un messaggio di errore che informa A che non può acquistare quel prodotto.
    Questo può andar bene quando il numero di utenti contemporanei è basso, altrimenti servono le transazioni.
    Il calcolatore è straordinariamente veloce, accurato e stupido.
    L'uomo è incredibilmente lento, impreciso e creativo.
    L'insieme dei due costituisce una forza incalcolabile.
    (Albert Einstein)

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.