Verificar campos e DB
Olá,
Estou fazendo um sistema de cadastro em PDO OO.
Cadastro.php
public function insert() {
if(isset($usuario) && isset($nomesobrenome) && isset($email) && isset($senha)) {
if(empty($usuario) OR empty($nomesobrenome) OR empty($email) OR empty($senha)) {
echo 'Existe campos vazios.</div>';
}
}else {
$verifica = DB::prepare("SELECT * FROM {$this->table} WHERE usuario=:usuario OR nomesobrenome=:nomesobrenome OR email=:email");
$verifica->bindValue(':usuario',$this->usuario,PDO::PARAM_STR);
$verifica->bindValue(':nomesobrenome',$this->nomesobrenome,PDO::PARAM_STR);
$verifica->bindValue(':email',$this->email,PDO::PARAM_STR);
$verifica->execute();
if($verifica->rowCount() == 0) {
$sql = "INSERT INTO $this->table (usuario, nomesobrenome, email, senha) VALUES (:usuario, :nomesobrenome, :email, :senha)";
$stmt = DB::prepare($sql);
$stmt->bindParam(':usuario', $this->usuario);
$stmt->bindParam(':nomesobrenome', $this->nomesobrenome);
$stmt->bindParam(':email', $this->email);
$stmt->bindParam(':senha', $this->senha);
return $stmt->execute();
}else {
return false;
}
}
}
**register.php**
<?php
$usuarios = new Usuarios();
if(isset($_POST['cadastrar'])) {
$usuario = $_POST['usuario'];
$nomesobrenome = $_POST['nomesobrenome'];
$email = $_POST['email'];
$senha = $_POST['senha'];
$usuarios->setUsuario($usuario);
$usuarios->setNomesobrenome($nomesobrenome);
$usuarios->setEmail($email);
$usuarios->setSenha($senha);
#Insert
if($usuarios->insert()) {
echo 'Conta registrada com sucesso! Você deverá confirmar a conta em seu endereço de e-mail.</div>';
}
}
?>
Quando eu registro a conta aparece a seguinte frase "Conta registrada com sucesso! Você deverá confirmar a conta em seu endereço de e-mail.". Mas já existe um cadastro no banco de dados não aparece nenhum erro, informando que já existe o usuário, o nome e sobrenome ou o e-mail. E quando existe campos vazios o script cadastra a conta do mesmo jeito. O que preciso mudar para corrigir o meu código?
Obrigado desde já.Discussão (22)
Carregando comentários...