ok quanto ci penso...![]()
ok quanto ci penso...![]()
Sistemi di allarme, telecamere, autoradio, video proiettori e altri prodotti tecnologici: fedom.it
Prova a fare una cosa del genere:
quando l'utente arriva alla pagina dove deve inviare il form, setta un cookie( per esempio:camera) facendo un insert in una tabella in cui viene aggiunto nickname e camera e aggiungendo 'occupata', nella pagina prima di questa, nn so come è strutturato il sito, metti un controllo che se è settato il cookie camera, cioè se l'utente ritorna indietro dalla pagina del form, cancelli quell'insert che hai fatto prima, così la camera risulta libera, magari fallo con le sessioni.
Però nn sono sicuro, è una cosa che ho pensato in due secondi...spero di esserti stato d'aiuto
Ciao
Alberto
Sistemi di allarme, telecamere, autoradio, video proiettori e altri prodotti tecnologici: fedom.it
ma alla chiusura del browser la sessione scade??
se si (altrimenti con un js controlli la chiusura del browser...), crei una tabella sessioni e ci metti le camere in prenotazione e allo scadere della sessione o a prenotazione avvenuta le liberi (ovviamente se sono state prenotate le occupi definitivamente nel DB)
non vedo altre soluzioni!
Ciao!
si la sessione scade
Sistemi di allarme, telecamere, autoradio, video proiettori e altri prodotti tecnologici: fedom.it
Credo che i cookie o le sessioni non sono adatte perchè sono visibili al singolo utente.
Il problema è globale visto che quando un utente sta prenotando a tutti gli altri eventuali utenti che tentano di prenotare deve essere comunicato.
![]()
Vincenzo Miele
condordo con vinmieOriginariamente inviato da fmortara
..crei una tabella sessioni e ci metti le camere in prenotazione e allo scadere della sessione o a prenotazione avvenuta le liberi (ovviamente se sono state prenotate le occupi definitivamente nel DB)
ma se io chiudo il browser (e di consegunza faccio scadere la sessione) in che modo dico al server di liberare la prenotazione?!?
questo passo non mi è molto chiaro :master:
aquatimer2000
Perchè?
Quando l'utente torna indietro tu cancelli l'insert e il cookie o la variabile di sessione che sia, nn so come hai strutturato le tabelle, se ci sarà un campo occupato quando l'utente è dentro la pagina del form, questo campo della tabella quando l'utente torna indietro fai un update e lo setti come libero.
Il problema rimane quando l'utente chiude il browser, potresti usare un timestamp di quando l'utente entra e dopo 5 min se l'utente nn ha prenotato setti da occupato a libero, non saprei come...
Sistemi di allarme, telecamere, autoradio, video proiettori e altri prodotti tecnologici: fedom.it
Originariamente inviato da Albertorrr
....il problema rimane quando l'utente chiude il browser, potresti usare un timestamp di quando l'utente entra e dopo 5 min se l'utente nn ha prenotato setti da occupato a libero, non saprei come...
però anche qui la soluzione non è proprio il massimo...
in base a che cosa setti il tempo di reset (i 5 minuti che hai indicato)
se uno ha una connessione lenta... oppure se non sa cosa fare, è indeciso se pagare o meno, se scade il tempo da te settato perde la prenotazione..?!?
aquatimer2000
Ragazzi il problema si fa sempre più "tosto".
Forse la strada dei flag è quella giusta.
Allora per rendere il funzionamento più chiaro il sistema funziona nel seguente modo.
1) Un utente verifica se la stanza è libera
2) Se la stanza è libera allora glli viene mostrato il bottone prenota
3) Cliccando sul bottone prenota il controllo viene passato a banca sella.
4) se il cliente paga il sistema di banca sella ritorna il controllo al sito (ad una pagina specificata) altrimenti
Il pagamento viene interrotto
5) Se il pagamento non va a buon fine il sistema di Sella ritorna il controllo al sito ma ad una particolare pagina che ho chiamato di errore
Quindi da come si può notatre che nel punto 3 e 4 il cliente abbondona il sito ed è in quel momento che si può verificare una doppia prenotazione.
Vincenzo Miele
in questo caso la soluzione è semplice, ma resteresti scoperto nel caso in cui l'utente chiude il browser.Originariamente inviato da vinmie
1) Un utente verifica se la stanza è libera
2) Se la stanza è libera allora glli viene mostrato il bottone prenota
3) Cliccando sul bottone prenota il controllo viene passato a banca sella.
4) se il cliente paga il sistema di banca sella ritorna il controllo al sito (ad una pagina specificata) altrimenti
Il pagamento viene interrotto
5) Se il pagamento non va a buon fine il sistema di Sella ritorna il controllo al sito ma ad una particolare pagina che ho chiamato di errore
ecco come:
supponi di avere una tabella "camere" cosiì stutturata:
id | nome_camera | stato(disp=0,pren=1,pagato=2)|
punto 3) passi il controllo a banca sella e contemporaneamente aggiorni il campo "stato" della camera a "1" (in precedenza era "0" perchè altrimenti non avresti potuto prenotare)
punto 4) se il pagamento va a buon fine aggiorni "stato=2"
punto 5) se il pagamento non va a buon fine aggiorni "stato=0" (liberi di nuovo la camera)
il problema potrebbe nascere subito dopo aver premuto "prenota" (punto 3)
tu aggiorni "stato=1" ma se l'utente da questo punto in poi chiude il browser, chi dice a MySql di riportare "stato=0" ?!?
non so se mi sono spiegato...?
aquatimer2000