Ir ao conteúdo
  • Cadastre-se

PHP validar se e-mail já está cadastrado mysql php


Ir à solução Resolvido por vitizin,

Posts recomendados

<?php

//CONEXAO COM O BD
$hostname = "localhost";
$bancodedados= "psych";
$usuario= "root";
$senha= "";



$pdo = mysqli_connect ($hostname, $usuario, $senha, $bancodedados);

if (!$pdo) {

    die("houve um erro: ". $mysqli_connect_error ());
    }
    
    else{
      echo "conexão realizada com sucesso no BD";
      $email = $_POST['username']; //pega os dados do form 
      
      $query = mysqli_query($pdo, "SELECT * FROM pacientes WHERE emailPA ='$email'"); // monta a query
if(mysqli_num_rows($query) > 0 ) {//se retornar algum resultado
  echo"<script language='javascript' type='text/javascript'>
  alert('Já existe um usuário cadastrado nesse e-mail');window.location
  .href='../login.php';</script>";
  header ("Location:../index.php");   //sucesso
}

 else{
  echo"<script language='javascript' type='text/javascript'>
  alert('Não existe ainda!');window.location
  .href='../login.php';</script>";
  header ("Location:../index.php");

    }
  
  }

como faço para verificar se os e-mails já estão cadastrados no Mysql?? O código não me retorna nenhuma mensagem, e todos os e-mails vão para o banco

imagem_2022-10-12_114010967.png

Link para o comentário
Compartilhar em outros sites

  • 3 semanas depois...
  • Solução

em cima do codigo de inclusão de dados você coloca isso:

$sql = $pdo->prepare("SELECT * FROM 'nome da tabela' WHERE email = :email");

$sql->bindValue(':email', $email);

$sql->execute();



abaixo desse codigo coloque:



if($sql->rowCount() == 0) {

aqui é colocado o codigo de inclusão

}

else {

header("location: index.php);

}

 

Link para o comentário
Compartilhar em outros sites

Uma forma de garantir que não serão inseridos dois registros com o mesmo email, é declarar unique quando escrever o sql.
ex.:

create table users(
  id int(9) primary key auto_increment,
  name varchar(191) not null,
  email varchar(191) unique,
  created_at timestamp default current_timestamp
);

 

Link para o comentário
Compartilhar em outros sites

valeu rapaziada, mas tinha conseguido de outra forma. vou deixar o código aq caso for útil p alguém um dia.

<?php
$hostname = "localhost"; //CONEXAO COM O BD
$bancodedados= "psych";
$usuario= "root";
$senha= "";

$pdo = mysqli_connect($hostname, $usuario, $senha, $bancodedados);

//recebe as variáveis do form
$email = $_POST['username'];



//validação de E-MAIL -- criação de variaveis;
$dados_rc = filter_input_array(INPUT_POST, FILTER_DEFAULT);
$erro = false;
$dados_st = array_map('strip_tags', $dados_rc);
$dados = array_map('trim', $dados_st);


//faz a query;
$result_usuario = "SELECT * FROM pacientes WHERE emailPA='". $dados['username'] ."'";
$resultado_usuario = mysqli_query($pdo, $result_usuario);

//se o numero de linhas na coluna for diferente de 0;
if(($resultado_usuario) AND ($resultado_usuario->num_rows != 0)){
  $erro = true;
  echo"<script language='javascript' type='text/javascript'>
  alert('Esse e-mail já está em uso.'); window.location
  .href='../index.php';</script>";
  
  

}else{
echo"<script language='javascript' type='text/javascript'>
alert('E-mail cadastrado.'); window.location
  .href='../index.php';</script>";

 

  • Curtir 2
Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!