Ir para conteúdo

POWERED BY:

Arquivado

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

weslleysolo

Ao apertar a tecla F5, insere dados em branco no BD.

Recommended Posts

Fala meu povo...seguinte, tenho esse script>>

 

<?php $conexao = mysql_connect("localhost","root","");mysql_select_db("usuarios", $conexao); $nome = $_POST["nome"];$email = $_POST ["email"];$inserir = mysql_query("INSERT INTO dados (nome,email) VALUES('$nome','$email')");?><? $result = mysql_query("select nome, email from dados ORDER BY `ID` DESC LIMIT 0, 30 " , $conexao);echo "nome - email<br>";while($row = mysql_fetch_array($result)) {echo $row["nome"], " ", $row["email"], "<BR>";}mysql_free_result($result);mysql_close ($conexao);?>

 

<< oq acontece eh q quando aperto F5 continua inserindo dados em branco la meu BD...como resolver issu..loucura, ne!!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fala meu povo...seguinte, tenho esse script>>

<?php $conexao = mysql_connect("localhost","root","");mysql_select_db("usuarios", $conexao); $nome = $_POST["nome"];$email = $_POST ["email"];$inserir = mysql_query("INSERT INTO dados (nome,email) VALUES('$nome','$email')");?><? $result = mysql_query("select nome, email from dados ORDER BY `ID` DESC LIMIT 0, 30 " , $conexao);echo "nome - email<br>";while($row = mysql_fetch_array($result)) {echo $row["nome"], " ", $row["email"], "<BR>";}mysql_free_result($result);mysql_close ($conexao);?>
<< oq acontece eh q quando aperto F5 continua inserindo dados em branco la meu BD...como resolver issu..loucura, ne!!!!
Olá, tente colocar um if desta forma
<?php $conexao = mysql_connect("localhost","root","");mysql_select_db("usuarios", $conexao); if ($_POST){  $nome = $_POST["nome"];  $email = $_POST ["email"];  $inserir = mysql_query("INSERT INTO dados (nome,email) VALUES('$nome','$email')");}?>
pois assim, ele só irá gravar se for postado algo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

ele insere novamente mais ele faz um pergunta não faz : "Deseja reenviar as informações e etc.. ?"envia para uma terceira pagina dai ele não vai ter esse problema:$inserir = mysql_query("INSERT INTO dados (nome,email) VALUES('$nome','$email')");if($inserir){header("Location: outrapagina.php");}else{echo"deu erro";}ou se não usa o issetif (!isset($_POST['nome'])) {cadastra }else{ não cadastra }

Compartilhar este post


Link para o post
Compartilhar em outros sites

syntax error, unexpected '[', expecting ...linha do if q você falou///

perdão, eu coloquei colchetes "[" no lugar de parenteses "(", mas já está corrigido, tente novamente

Compartilhar este post


Link para o post
Compartilhar em outros sites

perdão, eu coloquei colchetes "[" no lugar de parenteses "(", mas já está corrigido, tente novamente

funcionou sim...valeu.Valeu mesmo, brother!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Outra solução seria testar o campo antes de inserir os dados no banco:

 

$existe = mysql_query("SELECT * FROM dados WHERE email = '$email'");$contar = mysql_num_rows($existe);if($contar > 0) {echo "registro duplicado";}else{$inserir = mysql_query("INSERT INTO dados (nome,email) VALUES('$nome','$email')");

note que só testei o email.

Compartilhar este post


Link para o post
Compartilhar em outros sites

há mais de uma maneira para solucionar isso.o mais prático é redirecionar para uma terceira páginaum modo mais seguro seria guardar uma informação na memória ( sessions ou cookies ) para impedir registro vazio

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.