Newsgroup: it.comp.www.php
Titolo: Problema con i Click Ripetuti

Buona sera a tutti...
allora..... ho il seguente problema che spero e penso che qualch'uno mi
possa aiutare a risolvere...
Sul mio sito ho una pagina contentene un form che gli utenti del sito
devono completare con i loro dati. Banalmente cliccando conferma, invio i
dati immessi in un database MYSQL e faccio altri 4 aggiornamenti su
tabelle diverse....
Ogni tot di inserimenti (direi uno su 100) ho il problema che mi ritrovo
sul db solo una parte dei dati o comunque inserimenti incompleti.....
Ritegno con una certa sicurezza che questo si verifichi quanto a causa di
rallentamenti sul mio sito gli utenti piů impazienti sparino una cifra di
click sul tasto conferma che ha come conseguenza il problema che ho
indicato.....
Come posso evitare che i clienti clicchino piů volte sul tasto e mi
sottomettano cosě piů volte lo stesso form?? (scriverlo non č stato
sufficiente)...
Grazie 1000.....
Saluti...
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 sottomettano così più volte lo stesso form?
1. Utilizzando JS lato client, al submit disabiliti il bottone
2. Per ogni form genera un campo hash univoco. Ad ogni submit verifichi
che se il valore hash e' presente in una tabella, in caso contrario lo
aggiungi e continui l'inserimento dei tuoi dati, altrimenti blocchi
l'operazione.
3. Altre soluzioni che non mi vengono in mente.
-- 
I am what I am, I do what I can
Sei un newbie? Leggi questo 
http://url.repository.biz/go/3C
Vuoi supportarmi? 
http://url.repository.biz/go/3E
Do. Or do not. There is not try.

 
se per parte dei dati od inserimenti incompleti intendi che su alcune
tabelle vengono inseriti i dati ed in altre no, prova ad usare le
transazioni e qualche controllo.. per il resto ha già risposto Setec
Astronomy
-- 
www.iuz-lab.info

 1. Utilizzando JS lato client, al submit disabiliti il bottone
più che al submit consiglio di farlo su onclick e contemporaneamente 
gestire l'invio intercettando via js la pressione del pulsante invio.
Cmq questi lato server e anche l'idea dell'hash che lessi anche su un 
libro non ci preservano dal fatto che uno prema F5 o aggiorna, in quanto 
  la pagina aggiornandosi creerebbe un altro hash, e alcune volte 
terrebbe i campi prefillati. Facile quindi
Io a tal fine tengo due hash (md5 o sha1), di cui il primo è quello 
consigliato intelligentemente nel thread il secondo lo registro in 
sessione ed è un hash della stringa chiave-valore di tutti i campi. In 
questo modo non è possibile inviare due volte lo stesso form con i 
stessi dati ...o quantomeno ci aggiungo un confirm javascript se proprio 
proprio si volesse farlo.
saluti.

 l'operazione.
mhmmh un pò complicato... ho paura che se durante il submit l'utente
clicchi + volte la pagina non farebbe a tempo ad inserire l'hash in
tabella....vanificando l'idea...


 difficile....(netscape 4.7 ti frega sempre e forse anche altri???) 
con ns 4.7 basta che ti setti un flag e funziona, ma qui saremmo OT.

 altri???)
Puoi anche impostare un valore in una variabile JS sull'OnClick del
submit e sull'OnSubmit della form verifichi che la variabile non abbia
il valore impostato (es. usi un contatore che parte da 0 e fail il
submit solo se e' minore o uguale a 1 etc).


 proprio si volesse farlo.
usare le sessioni!..ottima idea....!!!......
Grazie a tutti ragazzi, siete stati molto preziosi....!!
Paolo....


 usare le sessioni!..ottima idea....!!!......
Le session standar in questo caso potrebbero non funzionare a causa dei
locking utilizzati dal sistema interno di PHP.
-- 
I am what I am, I do what I can


 locking utilizzati dal sistema interno di PHP.
-- 
questo articolo e` stato inviato via web dal servizio gratuito 


 con ns 4.7 basta che ti setti un flag e funziona, ma qui saremmo OT.


 submit solo se e' minore o uguale a 1 etc).
-- 
questo articolo e` stato inviato via web dal servizio gratuito 


 ma con ns 4,7 non funziona!!!
vedi risposta di Setec dopo era quello che intendevo.
cmq la gestione del submit handler non si usa come lo stavi facendo tu.
saluti.

 submit solo se e' minore o uguale a 1 etc).
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
