Vamos supor que para inserir um registro um usuário deve clicar em um botão. O usuário clica várias vezes no botão (o cara está nervoso, hehe), mas o sistema deve inserir apenas uma vez. Como vcs costumam resolver este tipo de problema? Acredito que seja bem típico.
Quando o usuário clicar na segunda vez, ele não enviará mais o formulário. Você também pode desabilitar o botão também no seu JavaScript, como sugerido pelo Vinny.
se o mesmo registro esta sendo inserido varias vezes, não deveria estourar alguma coisa tipo uma PK? :roll:
lembre-se que codigo js roda no cliente e pode ser desabilitado.
acho que tratar isso no servidor tmb seria uma boa.
Eu concordo com o que você diz, mas tem alguns casos desse meu sistema que não há uma nenhuma restrição do banco que impeça a inserção. E mesmo na maioria dos casos, onde o banco impede a inserção, fazendo o que o rcastro sugeriu evitamos que o servidor receba mais solicitações e consequentemente tenha que processar mais coisas.
mas a soluçao em js não impede de eu entrar na pagina de novo, digitar os mesmo valores e inserir.
como falei, validar em js tmb é importante, ma não confie 100% nisso. validar no servidor sempre vai ser mais seguro e confiavel.
se não quer validar no bd, de uma procurada no conceito de token em aplicações web.
Concordo plenamente com que o jgbt falou, ao inserir faça um select na tabela, por exemplo um cpf seria uma PK pois é unico, se o cpf já existir não cadastra de novo.