Pagina 1 di 4 1 2 3 ... ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 36
  1. #1

    accesso concorrente al database

    Salve ragazzi,
    devo realizzare un sistema di prenotazione on-line di una pensione.

    In fase di sviluppo mi si è presentrato il seguente problema:
    Se due persone vanno contemporaneamente a prenotare lo stesso giorno la camera risulta entrambi libera ma solo una persona può prenotare la camera.

    Esiste un modo per bloccare l'accesso ai dati ad una persona alla volta? oppure se un cliente sta prenotando la camera, durate la prenotazione i restanti clienti possono essere bloccati in modo da evitare che più clienti prenotato lo stesso giorno la stessa camera?

    Vi aggiungo che il sistema prevede anche il pagamento online e che i dati sono salvati all'interno di una base di dati mysql.

    Grazie a tutti
    Vincenzo Miele

  2. #2
    secondo me devi fare un test da eseguire subito dopo la prenotazione.

    del tipo:

    prenota>

    se la pensione è libera > prenotazione effettuata con successo (aggiorna la pensione come occupata);

    altrimenti > pensione occupata, scegli un'altra pensione;

    ho scritto un po' male non so se ho reso l'idea...!
    aquatimer2000

  3. #3
    Originariamente inviato da aquatimer2000
    secondo me devi fare un test da eseguire subito dopo la prenotazione.

    del tipo:

    prenota>

    se la pensione è libera > prenotazione effettuata con successo (aggiorna la pensione come occupata);

    altrimenti > pensione occupata, scegli un'altra pensione;

    ho scritto un po' male non so se ho reso l'idea...!
    ok questa cosa viene fatta alla fine.
    Il problema si presenta durante la prenotazione.
    Per esempio mentre sto prenotando oppure sto effettuando il pagamento un altro utente può effettuare la stessa prenotazione.
    Ho reso l'idea?
    Spero che qualcuno mi viene in aiuto.
    Vincenzo Miele

  4. #4
    ma a nessuno interessa questo problema?
    Vincenzo Miele

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2003
    Messaggi
    591
    mentre sta prenotando si suppone che non si sappia cosa sta prenotando x cui non puoi fare nulla.
    nel momento che sceglie cosa prenotare (invia i dati di qualche form) puoi marcare o inserire dei record di qualche tabella per indicare che sono in prenotazione (chi arriva dopo lo fai aspettare o gli dici di riprovare) dopo il pagamento registri la conferma o in caso di mancato pagamento togli lo stato in prenotazione.
    forse si può fare meglio per evitare tentativi di prenotazione (quasi) contemporanei ma dipende da come è fatto il tutto.

  6. #6
    ok,
    supponiamo che per ipotesi quando un utente sta in fase di prenotazione setta un flag a indicare che quella particolare data è in fase di prenotazione.
    A questo punto occorre però risolvere un altro problema. Quando il flag viene "sflaggato" ? e se durante la prenotazione il cliente chiude il browser oppure cade la connessione ad internet?
    non voglio essere pessimista ma purtroppo sono problemi che ci sono e devono essere gestiti per creare una applicazione sicura.

    Deve essistere un modo per risolvere il problema altrimenti tutti i siti e-commerce come fanno?
    Vincenzo Miele

  7. #7
    secondo me ti conviene differenziare i due procedimenti (prenotazione / pagamento)

    cioè, tu prima prenoti e subito accedi alla sezione pagamenti.
    nel momento in cui effettui la prenotazione ci deve essere del codice che verifica che un'altro utente non ti abbia preceduto..

    no?!?
    aquatimer2000

  8. #8
    la mia paura e che più persone pagano la stessa camera oppure la camera risulta prenotata e non pagata.
    cmq sicuramente occorre differenziare la cosa.
    Altri consigli?
    Vincenzo Miele

  9. #9
    ma la prenotazione avviene solo per persone registrate, o fanno tutto lì per lì quando prenotano?
    Sistemi di allarme, telecamere, autoradio, video proiettori e altri prodotti tecnologici: fedom.it

  10. #10
    solo per le persone registrate
    Vincenzo Miele

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.