Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá, eu tenho uma site em que as pessoas preenchem um formulário com as informações, e estas informações aparecem em uma tabela em outra pagina, para quem quiser realizar a consulta.
Este é um exemplo
/applications/core/interface/imageproxy/imageproxy.php?img=http://img69.imageshack.us/img69/2299/48520048.jpg&key=f611c1cd6c5e90478cff0022680ea8eef1d7f3358138911e59a7223188d606e5" alt="48520048.jpg" />
Após colocar as informações, elas vão aparecer em uma tabela em outra página.
O meu problema é que este formulário pode ser preenchido varias vezes seguidas sem nenhum tipo de bloqueio.
Então eu queria saber como que eu faço para que depois que o formulário for preenchido e enviado para o BD, esta pessoa não pudesse preencher novamente pelos próximos 5 minutos. Algum tipo de bloqueio por IP, a cada 5 min a pessoa poderia preencher novamente o formulário.
Ou alguma outra ideia para realizar este bloqueio.
>
Não sei se é isto, mas :
Grave o registro com um campo de data de gravação , teste por
Select se esta data/hora é menor que a data/hora corrente menos 5 minutos.
Não entendi oq você quis dizer... tem como enviar o script?
você vai entender o script?
http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html
Pelo que entendi numa tabela você grava o registro da página
tabela
-------
ip
nick
senha
host
Inclua
tabela
-------
ip
nick
senha
host
data_hora
data_hota recebe a hora da gravação
na página antes de inserir teste
select count(*) qtd
from tabela
where ip = <ip página>
and data_hora >= Now() - (5/(24*60))
1) <ip página> é o ip preenchido na página
2) Não estou certo se Now() - (5/(24*60)) funciona, (não lido diretamento com Mysql)
mas a ideia é a data/hora menos 5 minutos
Se o QTD do select retornar valor maior que 1 não faz o insert é retorne um erro ou aviso
ao usuário.
Ajudou ?
Não sei se é isto, mas :
Grave o registro com um campo de data de gravação , teste por
Select se esta data/hora é menor que a data/hora corrente menos 5 minutos.