Jump to content

ajuda em flood php (acho que e assim que se chama)


Recommended Posts

Posted

bom dia, gostaria que me ajudassem num site que ando a fazer, sempre que é feito um registo no site em que esse tenha que ir para a base de dados, nao queria que o cliente sempre que fizesse refresh da pagina escrevesse uma na base de dados, ja pensei usar um cookie para isso ou uma sessao, mas  tava a pensar se havia alguma funçao que verificasse isso automaticamente, é isso que procuro uma funçao. cumprimentos nuno batista

Posted

Não me lembro de nenhuma função que faça isso; tens mesmo de escrever código para validar ou controlar as acções do utilizador.

Tens várias hipóteses:

a) verificar se o registo já existe na base de dados antes de o inserir. Se já existe é porque o cliente fez um refresh da página.

😕 Arranjas uma chave única para cada inserção. Se a instrução INSERT do site der o erro de "chave duplicada", quer dizer que foi um refresh. Ignoras o erro e continuas normalmente.

c) Fazes o registo sem escrever nada na página e depois redireccionas o cliente para outra página. Assim, se ele fizer o refresh, faz o refresh à outra página, e não à página que insere dados.

What have you tried?

Não respondo a dúvidas por PM

A minha bola de cristal está para compor; deve ficar pronta para a semana.

Torna os teus tópicos mais atractivos e legíveis usando a tag CODE para colorir o código!

Posted

obrigada, mas nao se trata de registo se fosse era facil unique, primary key da base de dados registo unico na base de dados de username de email, mas nao se trata de registo, trata-se de mensagens, logo nao posso ir por verificaçoes na base de dados, mas posso usar um cookie por exemplo quando ele escreve a primeira vez na base de dados atribuir o titulo da mensagem ao cookie, se fizer um refresh e o cookie existir conclusao ignora simplesmente a inserçao na base de dados era isto que eu tinha em mente, quem diz isto diz sessoes mas para o meu caso e melhor cookies:P

obrigada pela resposta

bom fim de semana

Posted

E quando é que apagas o cookie?

O utilizador não pode escrever duas mensagens seguidas, na mesma sessão, com o mesmo cookie?

Não sei como é que usas as mensagens no teu site, mas se for uma coisa tipo e-mail o utilizador não pode responder a uma mensagem a dada altura (título "Re: mensagem") e passados dois minutos lembrar-se que queria dizer mais qualquer coisa nessa mensagem e mandar *outra* mensagem com o mesmo título?

A respeito da chave única: o que eu escrevi foi abuso de linguagem. É claro que a chave duma tabela é única. O que eu queria dizer é que podes limitar uma coluna qualquer (independentemente de fazer ou não parte da chave da tabela) para ter valores únicos.

CREATE UNIQUE INDEX idx_titulo ON mensagem (titulo)

A chave primária de uma tabela não é mais que um UNIQUE INDEX especializado.

Das soluções que apresentei na minha mensagem anterior, a que eu gosto mais é a última

      /* trata dos dados recebidos */
      $sql = "INSERT INTO mensagem VALUES ($id, $titulo, $recipiente)";
      mysql_query($sql);
      header('Location: inbox.php'); /* sem mandar nada para o browser antes! */
      exit('Redireccionado para a <a href="inbox.php">caixa de entrada</a>.');

What have you tried?

Não respondo a dúvidas por PM

A minha bola de cristal está para compor; deve ficar pronta para a semana.

Torna os teus tópicos mais atractivos e legíveis usando a tag CODE para colorir o código!

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.