Ir para conteúdo

Arquivado

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

Jusciel Gomes de Sousa

Como consultar se ja existe dados cadastrado no banco.

Recommended Posts

Olá galera gostaria de saber qual é a consulta que verifica se já existe usuário e e-mail cadastrado no banco. eu tenho o seguinte código php, só não sei onde colocar essa consulta.

<?php

class Usuarios
{
    
    protected $mysql;
    protected $db = array(
        'servidor'=>'////',
        'database'=>'////',
        'usuario'=>'////',
        'senha'=>'////',
    );
    
    public function __construct()
    {
        $this->conectaBd();
    }
    
    public function login()
    {
        session_start();
        
        if ($_SERVER['REQUEST_METHOD']=='POST') {
            
            $usuario=$this->retUsuario($_POST['usuario']);
            if (crypt($_POST['senha'], $usuario['senha']) === $usuario['senha']) {
                $_SESSION["usuario"] = $usuario;
                if (!empty($_POST['lembrar'])) {
                    $this->lembrar($usuario['senha']);
                }
            }
            
        } elseif ((!empty($_COOKIE['usuario'])) and (!empty($_COOKIE['senha']))) {
            
            $cookie['usuario'] = base64_decode(substr($_COOKIE['blog_ghj'],22,strlen($_COOKIE['usuario'])));
            $cookie['senha'] = base64_decode(substr($_COOKIE['blog_ghk'],22,strlen($_COOKIE['senha'])));
            $usuario=$this->retUsuario($cookie['usuario']);
            
            if ($cookie['senha']==$usuario['senha']) {
                $_SESSION["usuario"] = $usuario;
            }
            
        }
        
        
        
        if (!empty($_SESSION["usuario"])) {
            if (empty($_SESSION["url"])) {
                header('Location: index.html');
            } else {
                header('Location: '.$_SESSION["url"]);
            }
        }
    }
    
    public function logout()
    {
        session_start();
        session_unset();
        session_destroy();
        setcookie('blog_ghj');
        setcookie('blog_ghk');
        header('Location: index.html');
    }
    
    public function protege()
    {
        session_start();
        if (empty($_SESSION["usuario"])) {
            $_SESSION["url"]=$_SERVER['REQUEST_URI'];
            header('Location: login.php');
        }
    }
    
    public function cadastrar()
    {
        if ($_SERVER['REQUEST_METHOD']=='POST') {
            $sql='INSERT INTO `usuarios` (`nome`,`email`,`usuario`,`senha`) VALUES (:nome,:email,:usuario,:senha);';
            $mysql=$this->mysql->prepare($sql);
            $mysql->bindValue(':nome', $_POST['nome'],PDO::PARAM_STR);
            $mysql->bindValue(':email', $_POST['email'],PDO::PARAM_STR);
            $mysql->bindValue(':usuario', $_POST['usuario'],PDO::PARAM_STR);
            $mysql->bindValue(':senha', $this->hash($_POST['senha']),PDO::PARAM_STR);
            $mysql->execute();
            header('Location: confirma-cadastro.html');
        }
    }
    
    protected function lembrar($senha)
    {
        $cookie=array(
            'usuario'=>$this->salt().base64_encode($_POST['usuario']),
            'senha'=>$this->salt().base64_encode($senha)
        );
        setcookie('blog_ghj', $cookie['usuario'], (time() + (15 * 24 * 3600)),$_SERVER['SERVER_NAME']);
        setcookie('blog_ghk', $cookie['senha'], (time() + (15 * 24 * 3600)),$_SERVER['SERVER_NAME']);
    }
    
    protected function hash($senha)
    {
        return crypt($senha, '$2a$10$' . $this->salt() . '$');
    }
    
    protected function retUsuario($usuario)
    {
        $sql='SELECT * FROM `usuarios` WHERE `usuarios`.`usuario` = :usuario ;';
        $mysql=$this->mysql->prepare($sql);
        $mysql->bindValue(':usuario', $usuario,PDO::PARAM_STR);
        $mysql->execute();
        return $mysql->fetch(PDO::FETCH_ASSOC);
    }
    
    protected function conectaBd()
    {
        $this->mysql = new PDO(
            'mysql:host='.$this->db['servidor'].';dbname='.$this->db['database'], $this->db['usuario'], $this->db['senha']
        );
        $this->mysql->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    }
    
    protected function salt()
    {
        $string = 'abcdefghijkmnopqrstuvwxyzABCDEFGHIJKLMNPQRSTUVWXYZ0123456789';
        $retorno = '';
        for ($i = 1; $i <= 22; $i++) {
            $rand = mt_rand(1, strlen($string));
            $retorno .= $string[$rand-1];
        }
        return $retorno;
    }
    
}
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Por exemplo:

$email = $_POST['email'];

$sqlbusca = mysql_num_rows(mysql_query("SELECT * FROM sua_tabela WHERE email = '$email1'"));
	

	if ($sqlemail == 1) {
			echo "<script>alert('Email ja existe! ');</script>";
			exit;
		
	}

Este é um exemplo de verificação se já existe o e-mail no banco de dados por exemplo. É básico mas da pra entender.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Por exemplo:

$email = $_POST['email'];

$sqlbusca = mysql_num_rows(mysql_query("SELECT * FROM sua_tabela WHERE email = '$email1'"));
	

	if ($sqlemail == 1) {
			echo "<script>alert('Email ja existe! ');</script>";
			exit;
		
	}

Este é um exemplo de verificação se já existe o e-mail no banco de dados por exemplo. É básico mas da pra entender.

A minha principal dúvida é onde eu encaixo esse comando: é junto com esste?

public function cadastrar()
    {
        if ($_SERVER['REQUEST_METHOD']=='POST') {
            $sql='INSERT INTO `usuarios` (`nome`,`email`,`usuario`,`senha`) VALUES (:nome,:email,:usuario,:senha);';
            $mysql=$this->mysql->prepare($sql);
            $mysql->bindValue(':nome', $_POST['nome'],PDO::PARAM_STR);
            $mysql->bindValue(':email', $_POST['email'],PDO::PARAM_STR);
            $mysql->bindValue(':usuario', $_POST['usuario'],PDO::PARAM_STR);
            $mysql->bindValue(':senha', $this->hash($_POST['senha']),PDO::PARAM_STR);
            $mysql->execute();
            header('Location: confirma-cadastro.html');
        }
    }

Compartilhar este post


Link para o post
Compartilhar em outros sites

Antes de você fazer o Inserte você faz a verificação.

Exemplo:

public function cadastrar()
    {
        if ($_SERVER['REQUEST_METHOD']=='POST') {
            $email = $_POST['email'];
            $sql_busca_email = mysql_query("SELECT * FROM nome_tabela WHERE email = '$email'");
             $linhas = mysql_num_rows($sql_busca_email);

             if($linhas == 1){
               echo "Email já existe";
             }
           
            else{
            $sql='INSERT INTO `usuarios` (`nome`,`email`,`usuario`,`senha`) VALUES (:nome,:email,:usuario,:senha);';
            $mysql=$this->mysql->prepare($sql);
            $mysql->bindValue(':nome', $_POST['nome'],PDO::PARAM_STR);
            $mysql->bindValue(':email', $_POST['email'],PDO::PARAM_STR);
            $mysql->bindValue(':usuario', $_POST['usuario'],PDO::PARAM_STR);
            $mysql->bindValue(':senha', $this->hash($_POST['senha']),PDO::PARAM_STR);
            $mysql->execute();
            header('Location: confirma-cadastro.html');
        }
      }
    }

Espero ter Ajudado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Antes de você fazer o Inserte você faz a verificação.

Exemplo:

public function cadastrar()
    {
        if ($_SERVER['REQUEST_METHOD']=='POST') {
            $email = $_POST['email'];
            $sql_busca_email = mysql_query("SELECT * FROM nome_tabela WHERE email = '$email'");
             $linhas = mysql_num_rows($sql_busca_email);

             if($linhas == 1){
               echo "Email já existe";
             }
           
            else{
            $sql='INSERT INTO `usuarios` (`nome`,`email`,`usuario`,`senha`) VALUES (:nome,:email,:usuario,:senha);';
            $mysql=$this->mysql->prepare($sql);
            $mysql->bindValue(':nome', $_POST['nome'],PDO::PARAM_STR);
            $mysql->bindValue(':email', $_POST['email'],PDO::PARAM_STR);
            $mysql->bindValue(':usuario', $_POST['usuario'],PDO::PARAM_STR);
            $mysql->bindValue(':senha', $this->hash($_POST['senha']),PDO::PARAM_STR);
            $mysql->execute();
            header('Location: confirma-cadastro.html');
        }
      }
    }

Espero ter Ajudado!

Obrigado pela ajuda mais ainda não funcionou continua aceitando.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Obrigado pela ajuda mais ainda não funcionou continua aceitando.

 

Poste o código do Formulário dos Dados.

A página cadastrar.php

<?php

class Usuarios
{
    
    protected $mysql;
    protected $db = array(
        'servidor'=>'////',
        'database'=>'////',
        'usuario'=>'////',
        'senha'=>'////',
    );
    
    public function __construct()
    {
        $this->conectaBd();
    }
    
    public function login()
    {
        session_start();
        
        if ($_SERVER['REQUEST_METHOD']=='POST') {
            
            $usuario=$this->retUsuario($_POST['usuario']);
            if (crypt($_POST['senha'], $usuario['senha']) === $usuario['senha']) {
                $_SESSION["usuario"] = $usuario;
                if (!empty($_POST['lembrar'])) {
                    $this->lembrar($usuario['senha']);
                }
            }
            
        } elseif ((!empty($_COOKIE['usuario'])) and (!empty($_COOKIE['senha']))) {
            
            $cookie['usuario'] = base64_decode(substr($_COOKIE['blog_ghj'],22,strlen($_COOKIE['usuario'])));
            $cookie['senha'] = base64_decode(substr($_COOKIE['blog_ghk'],22,strlen($_COOKIE['senha'])));
            $usuario=$this->retUsuario($cookie['usuario']);
            
            if ($cookie['senha']==$usuario['senha']) {
                $_SESSION["usuario"] = $usuario;
            }
            
        }
        
        
        
        if (!empty($_SESSION["usuario"])) {
            if (empty($_SESSION["url"])) {
                header('Location: index.html');
            } else {
                header('Location: '.$_SESSION["url"]);
            }
        }
    }
    
    public function logout()
    {
        session_start();
        session_unset();
        session_destroy();
        setcookie('blog_ghj');
        setcookie('blog_ghk');
        header('Location: index.html');
    }
    
    public function protege()
    {
        session_start();
        if (empty($_SESSION["usuario"])) {
            $_SESSION["url"]=$_SERVER['REQUEST_URI'];
            header('Location: login.php');
        }
    }
    
    public function cadastrar()
    {
        if ($_SERVER['REQUEST_METHOD']=='POST') {
            $sql='INSERT INTO `usuarios` (`nome`,`email`,`usuario`,`senha`) VALUES (:nome,:email,:usuario,:senha);';
            $mysql=$this->mysql->prepare($sql);
            $mysql->bindValue(':nome', $_POST['nome'],PDO::PARAM_STR);
            $mysql->bindValue(':email', $_POST['email'],PDO::PARAM_STR);
            $mysql->bindValue(':usuario', $_POST['usuario'],PDO::PARAM_STR);
            $mysql->bindValue(':senha', $this->hash($_POST['senha']),PDO::PARAM_STR);
            $mysql->execute();
            header('Location: confirma-cadastro.html');
        }
    }
    
    protected function lembrar($senha)
    {
        $cookie=array(
            'usuario'=>$this->salt().base64_encode($_POST['usuario']),
            'senha'=>$this->salt().base64_encode($senha)
        );
        setcookie('blog_ghj', $cookie['usuario'], (time() + (15 * 24 * 3600)),$_SERVER['SERVER_NAME']);
        setcookie('blog_ghk', $cookie['senha'], (time() + (15 * 24 * 3600)),$_SERVER['SERVER_NAME']);
    }
    
    protected function hash($senha)
    {
        return crypt($senha, '$2a$10$' . $this->salt() . '$');
    }
    
    protected function retUsuario($usuario)
    {
        $sql='SELECT * FROM `usuarios` WHERE `usuarios`.`usuario` = :usuario ;';
        $mysql=$this->mysql->prepare($sql);
        $mysql->bindValue(':usuario', $usuario,PDO::PARAM_STR);
        $mysql->execute();
        return $mysql->fetch(PDO::FETCH_ASSOC);
    }
    
    protected function conectaBd()
    {
        $this->mysql = new PDO(
            'mysql:host='.$this->db['servidor'].';dbname='.$this->db['database'], $this->db['usuario'], $this->db['senha']
        );
        $this->mysql->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    }
    
    protected function salt()
    {
        $string = 'abcdefghijkmnopqrstuvwxyzABCDEFGHIJKLMNPQRSTUVWXYZ0123456789';
        $retorno = '';
        for ($i = 1; $i <= 22; $i++) {
            $rand = mt_rand(1, strlen($string));
            $retorno .= $string[$rand-1];
        }
        return $retorno;
    }
    
}
?>

 

Usuarios.php

<?php

class Usuarios
{
    
    protected $mysql;
    protected $db = array(
        'servidor'=>'////',
        'database'=>'////',
        'usuario'=>'////',
        'senha'=>'////',
    );
    
    public function __construct()
    {
        $this->conectaBd();
    }
    
    public function login()
    {
        session_start();
        
        if ($_SERVER['REQUEST_METHOD']=='POST') {
            
            $usuario=$this->retUsuario($_POST['usuario']);
            if (crypt($_POST['senha'], $usuario['senha']) === $usuario['senha']) {
                $_SESSION["usuario"] = $usuario;
                if (!empty($_POST['lembrar'])) {
                    $this->lembrar($usuario['senha']);
                }
            }
            
        } elseif ((!empty($_COOKIE['usuario'])) and (!empty($_COOKIE['senha']))) {
            
            $cookie['usuario'] = base64_decode(substr($_COOKIE['blog_ghj'],22,strlen($_COOKIE['usuario'])));
            $cookie['senha'] = base64_decode(substr($_COOKIE['blog_ghk'],22,strlen($_COOKIE['senha'])));
            $usuario=$this->retUsuario($cookie['usuario']);
            
            if ($cookie['senha']==$usuario['senha']) {
                $_SESSION["usuario"] = $usuario;
            }
            
        }
        
        
        
        if (!empty($_SESSION["usuario"])) {
            if (empty($_SESSION["url"])) {
                header('Location: index.html');
            } else {
                header('Location: '.$_SESSION["url"]);
            }
        }
    }
    
    public function logout()
    {
        session_start();
        session_unset();
        session_destroy();
        setcookie('blog_ghj');
        setcookie('blog_ghk');
        header('Location: index.html');
    }
    
    public function protege()
    {
        session_start();
        if (empty($_SESSION["usuario"])) {
            $_SESSION["url"]=$_SERVER['REQUEST_URI'];
            header('Location: login.php');
        }
    }
    
    public function cadastrar()
    {
        if ($_SERVER['REQUEST_METHOD']=='POST') {
            $sql='INSERT INTO `usuarios` (`nome`,`email`,`usuario`,`senha`) VALUES (:nome,:email,:usuario,:senha);';
            $mysql=$this->mysql->prepare($sql);
            $mysql->bindValue(':nome', $_POST['nome'],PDO::PARAM_STR);
            $mysql->bindValue(':email', $_POST['email'],PDO::PARAM_STR);
            $mysql->bindValue(':usuario', $_POST['usuario'],PDO::PARAM_STR);
            $mysql->bindValue(':senha', $this->hash($_POST['senha']),PDO::PARAM_STR);
            $mysql->execute();
            header('Location: confirma-cadastro.html');
        }
    }
    
    protected function lembrar($senha)
    {
        $cookie=array(
            'usuario'=>$this->salt().base64_encode($_POST['usuario']),
            'senha'=>$this->salt().base64_encode($senha)
        );
        setcookie('blog_ghj', $cookie['usuario'], (time() + (15 * 24 * 3600)),$_SERVER['SERVER_NAME']);
        setcookie('blog_ghk', $cookie['senha'], (time() + (15 * 24 * 3600)),$_SERVER['SERVER_NAME']);
    }
    
    protected function hash($senha)
    {
        return crypt($senha, '$2a$10$' . $this->salt() . '$');
    }
    
    protected function retUsuario($usuario)
    {

 

 

A página cadastrar.php

<?php

	require 'php/Usuarios.php';
	$usuarios=new Usuarios();
	$usuarios->cadastrar();

?>

<!--INICIO DO CADASTRO-->
      <form action="cadastrar.php" method="post" class="">
        <div class="form-group"><br>
        <div class="col-sm-10">
		<label><strong> <span style="color: rgb(255, 255, 255);">Nome</strong></span><br>
		<input class="form-control" id="inputNome" name="nome" placeholder="" type="cadtext"></div>
        </label>
        </div>
        <div class="form-group">
        <label><strong><span style="color: rgb(255, 255, 255);">Email</strong></span><br>
        <div class="col-sm-10"><input class="form-control" id="inputEmail" name="email" placeholder="" type="cademail"></div>
         </label>
		</div>
        <div class="form-group">
       <label><strong><span style="color: rgb(255, 255, 255);">Usuário</strong></span><br>
        <div class="col-sm-10"><input class="form-control" id="inputUsuario" name="usuario" placeholder="" type="cadtext"></div>
        </label>
		</div>
        <div class="form-group">
        <label><strong><span style="color: rgb(255, 255, 255);">Senha</strong></span><br>
        <div class="col-sm-10">
		<input type="password" class="form-control" id="Senha" name="senha" placeholder="">
        </label>
		</div><br>
        <button class="btn btn-lg btn-danger btn-block" type="submit">Cadastrar
        </button> <input value="Ja sou cadastrado" onclick="Nova()" type="button"></form>
<!--FIM DO CADASTRO-->

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.