Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Wagner Web

Duplicação de Registro através do F5

Recommended Posts

Boa tarde pessoal,

 

Estou com a seguinte dúvida:

 

Estou cadastrando em meu bd os seguintes campos:

CODIGO,NOME,NASCIMENTO

 

Quando envio para o arquivo php que vai executar, ele cadastra, porém, se a pessoa apertar F5 ele cadastra novamente os mesmos dados!

 

Como evito isso?

 

Obrigado pela atenção, http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

 

Wagner Renzi

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se for o que eu to pensando, faz assim:Depois do camando insert , faz assim:echo "<script> location.href= 'pagina.php' </script>";você tem que redirecionar a página para outra qualquer, (no seu caso acho q para a mesma), pq assim as variaveis q você tava passando naum existiram mais.tenta ae

Compartilhar este post


Link para o post
Compartilhar em outros sites

ou então põe uma variável de verificação...se ela foi setada (use ISSET() pra isso), aih quer dizer que você jah entrou na condição, ou seja, jah inseriu.. entao não faz o insert de novo...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Kara como o leandru falou que funciona legal...abraçosMARCIO

Compartilhar este post


Link para o post
Compartilhar em outros sites

pra evitar que tenha cadastros repetidos faça um select antes de cadastrar

 

exemplo:

 

PHP
  1. $re = mysql_query("select count(*) as total from tabela where campo = '$campo'";
  2. $total = mysql_result($re, 0, "total");

  3. if ($total == 0) 
  4. {
  5. aqui você coloca o sql pra gravar
  6. }
  7. else
  8. {
  9. echo "Ja existe esse campo cadastrado";
  10. exit;
  11. }

Compartilhar este post


Link para o post
Compartilhar em outros sites

precisando tamos ai, e quero aproveitar o topico pra falar sobre o desafio de php, e ai vcs vao participar ?

<{POST_SNAPBACK}>

Oi Fabyo!

 

Olha, esses dias meu tempo está estourando, mas em breve eu irei participar sim. Gosto muito de incentivo ao estudo, okay? http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

 

 

[]'s

 

Wagner Renzi

Compartilhar este post


Link para o post
Compartilhar em outros sites

Isso pode ser uma Regra de Negócio da tua aplicação. Eu geralmente coloco as RNs em triggers do banco de dados.

Um exemplo em firebird seria:

 

-- REGRA NEGOCIO: Nao pode haver dois clientes com o mesmo CPF.  select count(*) from Tb_Cliente where NEW.Cpf = Tb_Cliente.Cpf into numrows;  IF (numrows > 0) THEN  BEGIN    EXCEPTION EGENERICA 'Já existe um cliente cadastrado com este CPF.';  END

Obs.: Isso numa Trigger de INSERT com action BEFORE.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Isso pode ser uma Regra de Negócio da tua aplicação. Eu geralmente coloco as RNs em triggers do banco de dados.

Um exemplo em firebird seria:

 

-- REGRA NEGOCIO: Nao pode haver dois clientes com o mesmo CPF.  select count(*) from Tb_Cliente where NEW.Cpf = Tb_Cliente.Cpf into numrows;  IF (numrows > 0) THEN  BEGIN    EXCEPTION EGENERICA 'Já existe um cliente cadastrado com este CPF.';  END
Obs.: Isso numa Trigger de INSERT com action BEFORE.

<{POST_SNAPBACK}>

O_O :S

 

que linguagem é essa ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.