Ir para conteúdo
Fórum Script Brasil

Rubens Meirelles

Membros
  • Total de itens

    1
  • Registro em

  • Última visita

Tudo que Rubens Meirelles postou

  1. Olá, sou novo no fórum e não consegui encontrar resposta para minha dúvida. Estou aprendendo PHP OO e minha dúvida é a seguinte. Tenho a seguinte classe (a função principal aqui é a de "adicionar" e a de "existeEmail": <?php include_once '../conection/config.php'; class Usuarios{ private $pdo; private $id; private $permissoes; public function __construct($pdo){ $this->pdo = $pdo; } public function fazerlogin($email, $senha){ $sql = "SELECT * FROM usuarios WHERE email = :email AND senha = :senha"; $sql = $this->pdo->prepare($sql); $sql->bindValue(":email",$email); $sql->bindValue(":senha",$senha); $sql->execute(); if($sql->rowCount() > 0){ $sql = $sql->fetch(); $_SESSION['logado'] = $sql['id']; return true; } else { return false; } } public function adicionar($email, $senha = ''){ //verificar se o e-mail já está cadastrado if ($this->existeEmail($email)==false) { $sql = "INSERT INTO usuarios (email, senha) VALUES (:email, :senha)"; $sql = $this->pdo->prepare($sql); $sql->bindValue(':email', $email); $sql->bindValue(':senha', $senha); $sql->execute(); return true; } else { return false; $msg = 'Email já cadastrado'; } } public function setUsuario($id){ $this->id = $id; $sql = "SELECT * FROM usuarios WHERE id = :id"; $sql = $this->pdo->prepare($sql); $sql->bindValue(":id",$id); $sql->execute(); if($sql->rowCount() > 0){ $sql = $sql->fetch(); $this->permissoes = explode(',', $sql['permissoes']); } } public function getPermissoes(){ return $this->permissoes; } public function temPermissao($p){ if (in_array($p, $this->permissoes)) { return true; } else { return false; } } //função auxiliar criada para verificar se existe o email cadastrdo private function existeEmail($email){ $sql = "SELECT * FROM usuarios WHERE email = :email"; $sql = $this->pdo->prepare($sql); $sql->bindValue(':email', $email); $sql->execute(); if ($sql->rowCount() > 0) { return true; } else { return false; } } } ?> Tenho o arquivo "insertUser.php" que de acordo com a classe Usuarios faz a inserção dos dados e em seguida retornar para a página de cadastro de usuários <?php session_start(); require '../conection/config.php'; require '../classes/usuarios.class.php'; if(!isset($_SESSION['logado'])){ header("Location:pages/login.php"); exit; } $usuarios = new Usuarios($pdo); $usuarios->setUsuario($_SESSION['logado']); //verifica se houve o recebimento dos dados if (!empty($_POST['email'])) { //se houve o recebimento dos dados adiciona em variáveis $email = $_POST['email']; $senha = $_POST['senha']; //utiliza a classe criada para adicionar $usuarios->adicionar($email, $senha); header("Location: cadUsuarios.php"); } E a página de cadastro de usuários: <?php session_start(); require '../conection/config.php'; require '../classes/usuarios.class.php'; if(!isset($_SESSION['logado'])){ header("Location:pages/login.php"); exit; } $usuarios = new Usuarios($pdo); $usuarios->setUsuario($_SESSION['logado']); ?> <!DOCTYPE html> <html lang="pt-br"> <head> </head> <body> <h1 class="page-header">Cadastrar Usuário</h1> <form method="POST" action="insertUser.php" role="form"> <div class="form-group"> <label>Email do usuário</label> <input type="email" name="email" class="form-control"> </div> <div class="form-group"> <label>Senha</label> <input type="password" name="senha" class="form-control"> </div> <input type="submit" value="Cadastrar" class="btn btn-primary" style="margin-bottom: 20px"> </form> </body> </html> Como faço pra inserir mensagem de alerta informando quando o usuário foi cadastrado ou quando o usuário já existe, no caso a validação é pelo e-mail. Como a validação é feita pela função que verifica se o e-mail já está cadastrado, não estou conseguindo inserir a mensagem de alerta, creio que seja no arquivo de insertUser, mas não estou conseguindo fazer. Alguém pode me ajudar?
×
×
  • Criar Novo...