Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá Amigos,
Estou fazendo um gerenciador e gostaria que quando o email da pessoa estivesse cadastrado o sistema nao inserisse novamente.
Vejam meu codigo
$con=mysqli_connect("localhost","root","","news"); //conexao com banco de dados
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
$sql="INSERT INTO news (nome, email)
VALUES
('nome da pessoa','email@dapessoa.com.br')";
if (!mysqli_query($con,$sql))
{
die('Error: ' . mysqli_error($con));
}
echo "Cadastrado com sucesso";
mysqli_close($con);
Alguem pode me ajudar?
Muito obrigado
Boa dica! Só gostaria de alterar o nome do erro.
De:
Error: Duplicate entry 'email@email.com' for key 'email'
Para: Email Já Cadastrado!
Pode me ajudar?
Antes de inserir faça uma consulta no BD, caso exista você dá um header.
Logo ele vai voltar para a página de cadastro do formulário, lá você pega a variável erro.
Caso exista o valor 1, você da a mensagem de email já Cadastrado, +/- assim:
$query = mysql_query("SELECT * FROM seuBanco WHERE email='$email'");
$linha = mysql_num_rows($query);
if($linha == 0){
// aqui você faz inseri os dados caso ele não achar o email
}
else
{
header("location: formulario.php?erro=1");
}essa mensagem veio daqui
if (!mysqli_query($con,$sql)) {
die('Error: ' . mysqli_error($con));
}
vc pode pegar o sqlsate e verificar se ele é de item duplicado e imprimir 'email ja cadastrado' se não imprime o normalmente.
defina a coluna email no banco dados como unique key.