jatobas Postado Setembro 2, 2010 Denunciar Share Postado Setembro 2, 2010 Galera já peguei um site que está todo pronto e preciso troca a forma de login em vez de usar num_serie ele vai busca email no banco de dados.Onde devo fazer as alterações pra validar email e não num_serie? obs.: Site estruturado em modelo MVCutil login.php<?php require_once('../dao/UserDAO.php'); $login = $_POST['login']; $senha = $_POST['senha']; $usr = new UserDao(); $usuario = $usr->logar($login, $senha); if($usuario == null){ include "protege.php"; $protege = new protege(); $protege->destroiSession(); }else{ if($usuario=="cliente"){ header("location:../view/vizualizarCliente.php"); }else{ header("location:../view/cadastro.php"); } } ?> UserDao() para validar o login <?php require_once "../entidade/Cliente.class.php"; require_once "../entidade/Cidade.class.php"; require_once "../entidade/Endereco.class.php"; require_once "../entidade/Estado.class.php"; require_once "../entidade/Faq.class.php"; require_once "../util/ConnectionFactory.class.php"; require_once "../util/ServiceDB.php"; session_start(); class UserDao { function logar($login, $senha) { $servicedb = new ServiceDB(); $cf = ConnectionFactory::singleton(); try{ $sql = "SELECT * FROM cliente WHERE num_serie='$login' and senha='$senha'"; $query = $servicedb->ExecutarSQL($sql, $cf->conn); $linha= $servicedb->NumRows($query); if($linha){ while($linha = mysql_fetch_object($query)){ $_SESSION['tipo'] = "cliente"; $_SESSION['num_serie'] = $linha->num_serie; } return "cliente"; }else{ $sql = "SELECT * FROM administrador WHERE cpf='$login' and senha='$senha'"; $query = $servicedb->ExecutarSQL($sql, $cf->conn); $linha= $servicedb->NumRows($query); if($linha){ while($linha = mysql_fetch_object($query)){ $_SESSION['tipo'] = "administrador"; $_SESSION['num_serie'] = $linha->cpf; } return "administrador"; }else{ return null; } } }catch ( PDOException $ex ){ echo "Erro: ".$ex->getMessage(); } } function userNumberSerie($num_serie){ $servicedb = new ServiceDB(); $cf = ConnectionFactory::singleton(); try{ $sql = "SELECT * FROM cliente,endereco,cidade,estado WHERE num_serie='$num_serie' and cliente.endereco=endereco.idEndereco and endereco.cidade=cidade.id and cidade.estado=estado.id"; $query = $servicedb->ExecutarSQL($sql, $cf->conn); $linha= $servicedb->NumRows($query); if($linha){ while($linha = mysql_fetch_object($query)){ $idCliente=$linha->idCliente; $_SESSION['tipo'] = "cliente"; $nomeFantasia= $linha->nomeFantasia; $razaoSocial= $linha->razaoSocial; $tipoPessoa= $linha->tipoPessoa; $cnpjCpf=$linha->cnpjCpf; $ieRG= $linha->ieRG; $_SESSION['num_serie'] = $linha->num_serie; $senha= $linha->senha; $qtd_pto= $linha->qtd_pto; $qtd_proc= $linha->qtd_proc; $valor_manut= $linha->valor_manut; $telefone= $linha->telefone; $ddd= $linha->ddd; $fax=$linha->fax; $email= $linha->email; //endereco $idEndereco= $linha->idEndereco; $logradouro = $linha->logradouro; $quadra= $linha->quadra; $lote=$linha->lote; $numero=$linha->numero; $complemento=$linha->complemento; $setor=$linha->setor; $cep=$linha->cep; //cidade $nomeCidade=$linha->cidade; $nomeEstado=$linha->nomeEstado; } $estado= new Estado(); $estado->construtorEstado($nomeEstado); $cidade=new Cidade(); $cidade->construtorCidade($nomeCidade, $estado); $endereco= new Endereco(); $endereco->construtorEndereco($idEndereco,$logradouro,$quadra, $lote, $numero, $complemento, $setor, $cidade, $cep); $cliente = new Cliente(); $cliente->construtorCliente($idCliente,$nomeFantasia,$razaoSocial,$tipoPessoa,$cnpjCpf,$ieRG,$num_serie, $senha,$qtd_pto,$qtd_proc,$valor_manut,$telefone,$ddd,$fax,$email,$endereco ); return $cliente; }else{ return null; } }catch ( PDOException $ex ){ echo "Erro: ".$ex->getMessage(); } } public function alteraSenha($login, $senha, $nova_senha){ require_once('../util/ServiceDB.php'); $servicedb = new ServiceDB(); $cf = ConnectionFactory::singleton(); try{ $sql = "UPDATE cliente SET senha = '$nova_senha' WHERE num_serie = '$login' AND senha = '$senha' "; $query = $servicedb->ExecutarSQL($sql, $cf->conn); if($query){ return "Alteração de senha realizada com sucesso."; }else{ return "Erro ao realizar alteração de senha."; } }catch ( PDOException $ex ){ echo "Erro: ".$ex->getMessage(); } } } ?> Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Renato Penna Postado Setembro 2, 2010 Denunciar Share Postado Setembro 2, 2010 Onde tiver num_serie, troque por email:$sql = "SELECT * FROM cliente WHERE email='$login' and senha='$senha'"; $_SESSION['email'] = $linha->email; $sql = "SELECT * FROM cliente,endereco,cidade,estado WHERE email='$email' and cliente.endereco=endereco.idEndereco and endereco.cidade=cidade.id and cidade.estado=estado.id"; $cliente->construtorCliente($idCliente,$nomeFantasia,$razaoSocial,$tipoPessoa,$cnpjCpf,$ieRG,$email,$senha,$qtd_pto,$qtd_proc,$valor_manut,$telefone,$ddd,$fax,$email,$endereco );OBS: Verifique se o E-mail está escrito email, ou e_mail na tabela do banco de dados. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 jatobas Postado Setembro 3, 2010 Autor Denunciar Share Postado Setembro 3, 2010 Obrigado estarei testando e já posto o resultado! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 jatobas Postado Setembro 3, 2010 Autor Denunciar Share Postado Setembro 3, 2010 Fiz as alterações mais não tive sucesso, estarei mostrando como meu codigo está funcionando e vou postar.Meu formulario está na pasta view login.php SEGUE ABAIXO O FORMULARIO<form action="../util/login.php" method="post"> <label style="font-weight:bold;font-family: Tahoma; font-size: 12px; padding: 50px 0px 0px 40px;float: left;clear: both;">Login:</label> <input type="text" name="login" size="60" maxleght="14" style="float: left;padding: 8px 0px 0px 0px; margin: 16px 0px 0px 40px; border: 2px solid #D3D3D3;background: #F5F5F5;clear: both;-moz-border-radius: 5px;-webkit-border-radius: 5px;border-radius: 5px;" /> <label style="font-weight:bold;font-family: Tahoma; font-size: 12px; padding: 50px 0px 0px 40px;float: left;clear: both;">Senha:</label> <a href="../contato.php" style="color:#6699cc;font-family: Tahoma; font-size: 12px; padding: 8px 0px 0px 40px;float: left;clear: both;"><span>Ainda não sou cadastrado</span></a> <label style="font-family: Tahoma; font-size: 12px; padding: 8px 0px 0px 40px;float: left;clear: both;">Já sou cadastrado, esta é minha senha:</label> <input type="password" name="senha" size="60" maxleght="6" style="float: left;padding: 8px 0px 0px 0px; margin: 16px 0px 0px 40px; border: 2px solid #D3D3D3;background: #F5F5F5;clear: both;-moz-border-radius: 5px;-webkit-border-radius: 5px;border-radius: 5px;"/><br/> <a href="lembrarSenha.php" style="color:#6699cc;font-family: Tahoma; font-size: 12px; padding: 8px 0px 0px 40px;float: left;clear: both;"><span>Lembrar Senha</span></a> <input type="submit" value="Login" style="float: left;padding: 4px 0px 4px 0px;font-family: Tahoma; font-size: 12px;font-weight:bold;color:#6699cc; margin: 20px 0px 0px 380px;border: 2px solid #D3D3D3;background: #F5F5F5;clear: both;-moz-border-radius: 5px;-webkit-border-radius: 5px;border-radius: 5px;"/> <?php @$log = $_GET['log']; if($log==1) { echo'<script> alert("Login ou senha incorreto.")</script>'; }else { if($log==2) echo'<script> alert("Usuario sem permissão.")</script>'; } ?> </form> Com o Action submeto os dados para o documento dentro da pasta util=> util login.php <?php require_once('../dao/UserDAO.php'); $login = $_POST['login']; $senha = $_POST['senha']; $usr = new UserDao(); $usuario = $usr->logar($login, $senha); if($usuario == null){ include "protege.php"; $protege = new protege(); $protege->destroiSession(); }else{ if($usuario=="cliente"){ header("location:../view/vizualizarCliente.php"); }else{ header("location:../view/cadastro.php"); } } ?> E tem o protege dentro da pasta util protege.php pra fazer o tratamento. <?php class protege{ public function userlog(){ session_start(); if( $_SESSION['tipo'] == '' || $_SESSION['email'] == ''){ header("location:login.php"); } } public function userProtege($idperm, $idUser){ if( !($idperm == $idUser) || $idUser == ''){ $this->destroiSemPermissao(); } } public function destroi(){ session_start(); $_SESSION = array(); session_destroy(); header("location:../view/login.php"); } public function destroiSession(){ session_start(); $_SESSION = array(); session_destroy(); header("location:../view/login.php?log=1"); } public function destroiSemPermissao(){ session_start(); $_SESSION = array(); session_destroy(); header("location:../view/login.php?log=2"); } } ?> Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
jatobas
Galera já peguei um site que está todo pronto e preciso troca a forma de login em vez de usar num_serie ele vai busca email no banco de dados.
Onde devo fazer as alterações pra validar email e não num_serie? obs.: Site estruturado em modelo MVC
util login.php
UserDao() para validar o loginLink para o comentário
Compartilhar em outros sites
3 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.