Ir para conteúdo

Recommended Posts

Olá eu tenho tentado criar uma plantaforma que faça login e registro com php mysqli e ajax porém toda vez q tento fazer login ja com um usuario cadastro no banco de dados ele não funciona aparece que ta dando erro, porém não identifiquei o erro, e o registro também alguém poderia me ajudar a desenvolver?

meu arquivo valida para login;

Citar

<?php
    session_start(); 
        //Incluindo a conexão com banco de dados   
    include_once("config/conexao.php");    
    //O campo usuário e senha preenchido entra no if para validar
    
        $email = $_POST['email']; //Escapar de caracteres especiais, como aspas, prevenindo SQL injection
        $senha = $_POST['senha'];
    
if ((!$email) || (!$senha)){

echo 0;    //Responde erro
echo "Por favor, todos campos devem ser preenchidos!";

}else{


$sql = (

"SELECT * FROM clientes
WHERE email='{$email}'
AND senha='{$senha}'
AND termos='1'"

);
//$sqlquery = mysqli_query($conn, $sql);

//$login_check = mysqli_num_rows($sqlquery);

//if ($login_check > 0){

//while ($row = mysqli_fetch_array($sqlquery)){

//foreach ($row AS $key => $val){

//$$key = stripslashes( $val );

//}

$_SESSION['id'] = $id;

$sql2 = (

"UPDATE clientes SET data_ultimo_login = now()
WHERE id ='{$id}'"

);

mysqli_query ($conn, $sql2);

echo 1;    //Responde sucesso
//header("Location: ../index");

}

}else{

echo 0;    //Responde erro
echo "Você não pode logar-se! Este usuário e/ou senha não são válidos!<br />
Por favor tente novamente!";

}

}

?>

    
<!--        //Buscar na tabela usuario o usuário que corresponde com os dados digitado no formulário
        $result_usuario = "SELECT * FROM clientes WHERE email = '$email' && senha = '$senha' LIMIT 1";
        $resultado_usuario = mysqli_query($conn, $result_usuario);
        $resultado = mysqli_fetch_assoc($resultado_usuario);
        
        //Encontrado um usuario na tabela usuário com os mesmos dados digitado no formulário
        if(isset($resultado)){
            $_SESSION['uemail'] = $resultado['email'];
            //$dados = mysqli_fetch_array($conn, $result_usuario);
            //$_SESSION['uid'] = $dados['id'];
            
               //header("Location: index.php");
            //}
        //Não foi encontrado um usuario na tabela usuário com os mesmos dados digitado no formulário
        //redireciona o usuario para a página de login
        }else{    
            //Váriavel global recebendo a mensagem de erro
            $_SESSION['loginErro'] = "Usuário ou senha Inválido";
            header("Location: index.php#login");
        }
        }
?>-->

 

meu arquivo validareg.php valida o registro:

Citar

<?
//if ( isset( $_POST ) && !empty ( $_POST ) ) {
//    print_r( $_POST );
//}
    include_once("config/conexao.php");

    $unome = $_POST['nome'];
    $usobre = $_POST['sobrenome'];
    $uemail = $_POST['email'];
    $usenha = MD5($_POST['senha']);
    $ucpf = $_POST['cpf'];
    $unascimento = $_POST['nascimento'];
    //echo "$nome_usuario - $email_usuario";        
    
    $result_usuario = "INSERT INTO clientes(nome, sobrenome, email, senha, cpf, nascimento) VALUES ('$unome','$usobre','$uemail','$usenha','$ucpf','$unascimento')";
    $resultado_usuario = mysqli_query($conn, $result_usuario);
    
    if(mysqli_affected_rows($conn) != 0){
                echo '
                    <script type="text/javascript">
                        alert("Usuario cadastrado com Sucesso.");
                    </script>
                ';    
            }else{
                echo '
                    <script type="text/javascript">
                        alert("O Usuario não foi cadastrado com Sucesso.");
                    </script>
                ';    
            }
?>
                 <!--   <META HTTP-EQUIV=REFRESH CONTENT = '0;URL=http://localhost/aula/cadastro.php'>-->

arquivo formulario do registro:

Citar

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script type="text/javascript" src="https://code.jquery.com/jquery-3.3.1.min.js"></script>
<!--<script>
<!--$(function(){
<!--    $('.form').submit(function() {
    <!--    $.ajax({
        <!--    url: 'validareg.php',
            <!--type: 'POST',
        <!--    data: $('.form').serialize();
    <!--    });
<!--    });
<!--});-->
<!--$(function() {
    $(".form").submit(function() {
        var nome = $("#nome");
        var nomePost = nome.val();
        var sobrenome = $("#sobrenome");
        var sobrenomePost = sobrenome.val();
        var email = $("#email");
        var emailPost = email.val();
        var senha = $("#senha");
        var senhaPost = senha.val();    
        var cpf = $("#cpf");
        var cpfPost = cpf.val();    
        var nascimento = $("#nascimento");
        var nascimentoPost = nascimento.val();    
        $.post("validareg.php", {nome: nomePost, sobrenome: sobrenomePost, email: emailPost, senha: senhaPost, cpf: cpfPost, nascimento: nascimentoPost},
        function(data){
         $("#resposta").html(data);
         }
         , "html");
    });
});
</script>-->

<div class="content">
                                    <header class="align-center">
                                        <p>Registrando-se</p>
                                    </header>
<form id="formregister" method="post" action="">

            <label>Nome</label>
            <input type="text" id="nome" name="nome" maxlength='50' placeholder="Nome" required><br/>
            <label>Sobrenome</label>
            <input type="text" id="sobrenome" name="sobrenome" maxlength='50' placeholder="Sobrenome" required></br>
            <label>Email</label>
            <input type="email" id="email" name="email" maxlength='50' placeholder="Email" required></br>
            <label>Senha</label>
            <input type="password" id="senha" name="senha" maxlength='50' placeholder="Senha" required></br>
            <label>CPF</label>
            <input type="text" id="cpf" maxlength='11' name='cpf' placeholder="CPF" required><br/>
            <label>Data de nascimento</label>
            <input type="date" id="nascimento" name="nascimento" placeholder="19/05/2000" required><br/>                    
           </br><footer class="align-center"> <button class="button alt" type="submit">Avançar</button></footer>
        </form>
</div>

parte do arquivo de login: 

Citar

<script>        
        $(document).ready(function() {
    $("a#ajax").click(function() { // inclui todos os links com id="ajax"
        $("#ajaxcontent").load($(this).attr("href")); // carrega o conteúdo da página em HREF dentro da DIV #ajaxContent (id="ajaxContent")
        return false; // remove a ação do link para navegar até a página do HREF, pois ela já foi carregada na DIV
    });
});
</script>
            <div id="login">
        <!-- One -->
            <section id="one" class="wrapper style2">
                <div class="inner">
                    <div class="grid-style">

                        <div>
                            <div class="box" id="ajaxcontent">
                                <div class="content">
                                    <header class="align-center">
                                        <p>Entre já</p>
                                        <h2>Não sou um usúario registrado <a id="ajax" href="register.php">Registrar-se</a></h2>
                                    </header>
                                    <form id="formlogin" method="POST" action="">
            <label>Email</label>
            <input type="email" id="email" name="email" placeholder="Email" required><br/>
            <label>Senha</label>
            <input type="password" id="senha" name="senha" placeholder="Senha" required>
           </br><footer class="align-center"> <button class="button alt" type="submit">Acessar</button></footer>
        </form>
        <div id="errolog">ERRO</div>
        <div id="loginlog">Logado</div>
        <center><p style="background-color:red;border-radius:15px;width:auto;">
            <?php if(isset($_SESSION['loginErro'])){
                echo $_SESSION['loginErro'];
                unset($_SESSION['loginErro']);
            }?>
        </p></center>
        <p>
            <?php 
            if(isset($_SESSION['logindeslogado'])){
                echo $_SESSION['logindeslogado'];
                unset($_SESSION['logindeslogado']);
            }
            ?>
        </p>
        </div>
                            </div>
                        </div>

e por fim o ajaxlogin que faz a função ajax

Citar

$(document).ready(function(){
    $('#errolog').hide(); //Esconde o elemento com id errolog
    $('#loginlog').hide(); //Esconde o elemento com id loginlog
    $('#formlogin').submit(function(){     //Ao submeter formulário
        var email=$('#email').val();    //Pega valor do campo email
        var senha=$('#senha').val();    //Pega valor do campo senha
        $.ajax({            //Função AJAX
            url:"valida.php",            //Arquivo php
            type:"post",                //Método de envio
            data: "email="+email+"&senha="+senha,    //Dados
               success: function (result){            //Sucesso no AJAX
                        if(result==1){                        
                            $('#errolog').hide(1000); //Esconde o elemento com id errolog
                            $('#loginlog').show(850);        //Informa que está logado
                            $('#formlogin').hide(500);        //ESCONDE FORMULARIO DE LOGIN
                            setTimeout("document.location = 'http://am.autec.net.br/'",3100); //location.href='https://www.webcarlos.com.br/'    //Redireciona
                        }else{
                            $('#errolog').show(850);        //Informa o erro
                        }
                    }
        })
        return false;    //Evita que a página seja atualizada
    })
})

$(document).ready(function(){
    $('#formregister').submit(function(){     //Ao submeter formulário
        var nome=$('#nome').val();    //Pega valor do campo email
        var sobrenome=$('#sobrenome').val();    //Pega valor do campo usuario
        var email=$('#email').val();    //Pega valor do campo senha
        var senha=$('#senha').val();    //Pega valor do campo senha
        var cpf=$('#cpf').val();    //Pega valor do campo senha
        var nascimento=$('#nascimento').val();    //Pega valor do checkbox termos
        $.ajax({            //Função AJAX
            url:"validareg.php",            //Arquivo php
            type:"post",                //Método de envio
            data: "email="+email+"&senha="+senha,    //Dados
               success: function (result){            //Sucesso no AJAX
                        if(result==1){                        
                            $('#errolog').hide(1000); //Esconde o elemento com id errolog
                            $('#loginlog').show(850);        //Informa que está logado
                            $('#formlogin').hide(500);        //ESCONDE FORMULARIO DE LOGIN
                            setTimeout("document.location = 'http://am.autec.net.br/'",3100); //location.href='https://www.webcarlos.com.br/'    //Redireciona
                        }else{
                            $('#errolog').show(850);        //Informa o erro
                        }
                    }
        })
        return false;    //Evita que a página seja atualizada
    })
})

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não pode existis dados duplicados para esquema de LOGIN. Você só pode ter 2 logins iguais por exemplo.

O correto é você "travar" isso no cadastro do User, se já tiver o login cadastrado escolha outro. O mesmo é válido para o e-mail do cadastro. Defina colunas do mysql que armazena o email e login como UNIQUE e trate isso no PHP.

  • Obrigado! 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro 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

  • Conteúdo Similar

    • Por fellipe.arakaki
      Boa tarde, sou novo no php e estou tentando listar os produtos do banco na pagina web que fiz, porém eu ja tentei listar os dados colocando a table dentro da tag <?php> e fora da tag php, e nenhum dos dois jeitos exibe os dados, eu tambem testei a query e quando dei echo no array ele esta imprimindo todos os valores os dados das tabelas bo banco porem nao mostra na tabela, alguem poderia me ajudar com esse problema? Nos dois casos as colunas são exibidas mas os dados não.
      Segue anexo o código da pagina e da query que eu criei:
       
       




    • Por Adriano Weverton
      Necessito de ajuda em relação a como gerar um pdf pegando imagens do banco de dados utilizando a biblioteca fpdf e se for possível colocar um limite de resolução padrão.
    • Por andersonx
      Galera, estou desenvolvendo um sistema, e estou mexendo agora, na parte de recuperação de senha, segui um tutorial que achei bem interessante, no YT, fiz tudo que o cara fez, mas esta aparecendo um erro , na hora de enviar o email, usando um sistema de hospedagem externo, 
       
      Código para recuperação: 
       
      <head>
        <?php 
                date_default_timezone_get("America/Ponta_Pora");
              include "../includes/inc_head.php"; 
              include "../../helpers/conexao.php";  
            
              if(isset($_POST['acao']) && $_POST['']=='recuperar'):
                  $email = strip_tags(filter_input(INPUT_POST,'emailrecupera',FILTER_SANITIZE_STRING));
                  $verificar = mysqli_query($conexao,"SELECT email FROM educadores  WHERE email='$email'");
                  if(mysqli_num_rows($verificar==1)){
                      
                  $codigo = base64_encode($email);
                  $data_expirar= date('Y-m-d H:i:s', strtotime('+ 1 day'));
                  
                  $mensagem='<p>Recebemos uma tentativa de redefiniçao de senha  para esse email, causo não foi voce que enviou,'
                          . ' desconsidere esse email, caso  contrário clique no link abaixo <br /> '
                          . '<a href="nomedosite/recuperar_senha.php?codigo='. $codigo.'  ">Recuperar Senha </a>    </p>';
                  $email_remetente='andersonshipuden@gmail.com';
                  
                  
                  
                          $headers = "MINE-Version: 1.1\n";
                          $headers .= "Content-type: text/html; charset-iso-8859-1\n";
                          $headers .= "From: $email_remetente\n";
                          $headers .= "Return-Path: $email_remetente\n";
                          $headers .= "Reply-To: $email\n";
                          $inserir= mysqli_query($conexao,"INSERT INTO codigos  SET codigo='$codigo', data='$data_expirar'");
                         if($inserir){
                           if (mail("$email", "Assunto", "$mensagem", $headers, "-f$email_remetente")){
                            echo 'Enviamos um email com um link para a recuperaçao de senha para o endereço de e-mail, que enviou';
                            
                        
                             
                         }                    
                       }
                  
                  }
                  
                
                 
               
                  
                  endif;
              
         /*$headers = "MINE-Version: 1.1\n";
         $headers .= "Content-type: text/plain; charset-iso-8859-1\n";
         $headers .= "From: $email_remetente\n";
         $headers .= "Return-Path: $email_remetente\n";
         $headers .= "Reply-To: $email_usuario\n";
         mail("$email_usuario", "Assunto", "$mensagem", $headers, "-f$email_remetente");
         
              */
              
              ?>
         
             
             
              
              
              
             
      </head>
      <body  >
        <div class="container-fluid">
                  <?php include "../includes/inc_nav.php"; ?>
              </div>
          
         
          
          <div class="form-horizontal" id="img" >
            <div class="row">
                  
                   
                     
                       
                       <center>    <h4 id="tit"><strong>Recuperar Senha</strong></h4> </center>
                     
                       <form id="f"  class="form-horizontal" method="POST" enctype="multipart/form-data">
                    
                           
                          <img src="../img/logo.png" id="fff">
                         <br>
                         <br>
                         <br>
                          <br>
                           <br>
                         <br>
                         <center>    <h6 id="recs"><strong>Para recuperar sua  Senha inseira o seu Email Cadastrado!</strong></h6> </center>
                         <br>
               
                         
                        <div class="control-group">
                          <label class="control-label">Email:</label>
                          <div class="controls glyphicon glyphicon-envelope" >
                              <input type="text" name="emailrecupera" value="" class="form-control"  placeholder="Email" required>
                              <input type="hidden" name="acao" value="recuperar" class="form-control" required>
                               
                          </div>
                        </div>
                     
                     
                        <div class="control-group">
                          <div class="controls">
                              <button type="submit"  value="recuperar Senha" id="submit" class="btn-success" >Enviar</button>
                          </div>
                            <br>
                            <div class="controls" >
                                      <button type="reset"  id="reset" class="btn-warning">Limpar Campos</button>
                          </div>
                          
                        </div>
                           <br>
                         <br>
                         <br>
                          <p class="aligncenter margintop500" id="registrar" >
                            Nao Possui uma  conta? <a href="registrar.php"  aria-hidden="true" >Registre-se</a>
                          </p>
                          
                      </form>
                    </div>  
          </div>
       
      ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
      Essa é a segunda tela, quando ele clicar no codigo enviado por email par aele
      <head>
       

        <?php 
               
              include "../includes/inc_head.php"; 
              include "../../helpers/conexao.php";        
              
               if(isset($_GET['codigo'])){
                   $codigo= $_GET['codigo'];
                   $email_codigo= base64_decode($codigo);
                   $selecionar = mysqli_query($conexao,"SELECT * FROM codigos WHERE codigo = '$codigo' AND  data > NOW()");
                   if(mysqli_num_rows($selecionar)>=1){
                       if(isset($_POST['acao']) && $_POST['acao']=='mudar'){
                           $nova_senha= $_POST['novasenha'];
                           $atualizar= mysqli_query($conexao,"UPDATE educadores SET senha ='$nova_senha' WHERE email='$email_codigo'");
                           if($atualizar){
                               $mudar= mysqli_query($conexao,"DELET FROM codigos WHERE codigo='$codigo'");
                                    
                               echo 'Sua senha foi modificada com sucesso';
                           }
                       }
             ?>
          
          <div class="row">
                  
                   
                     
                       
                       <center>    <h4 id="tit"><strong>Por Favor, insira a sua  nova senha:</strong></h4> </center>
                       <form id="f"  class="form-horizontal" method="POST" enctype="multipart/form-data">
                    
                           
                          <img src="../img/logo.png" id="fff">
                         <br>
                         <br>
                         <br>
                          <br>
                           <br>
                         <br>
                         <center>    <h6 id="recs"><strong>Para atualizar sua  Senha insira sua nova senha no campo abaixo!</strong></h6> </center>
                         <br>
               
                        <div class="control-group">
                          <label class="control-label">Nova Senha:</label>
                          <div class="controls glyphicon glyphicon-envelope" >
                              <input type="password" name="novasenha" value="" class="form-control"  placeholder="Nova Senha" required>
                              <input type="hidden" name="acao" value="mudar" class="form-control" required>
                               
                          </div>
                        </div>
                     
                     
                        <div class="control-group">
                          <div class="controls">
                              <button type="submit"  value="Mudar Senha" id="submit" class="btn-success" >Salvar Senha</button>
                          </div>
                            <br>
                            <div class="controls" >
                                      <button type="reset"  id="reset" class="btn-warning">Limpar Campos</button>
                          </div>
                          
                        </div>
                           <br>
                         <br>
                         <br>
                          
                      </form>
                    </div>  
          
          
          
          <?php 
                       
                   }else {
                       echo 'Desculpe mais esse link já expirou';
                       
                   }
                   
               }
                  
                ?>  
        
              
         Esta dando um erro, na seguinte linha :    if(mysqli_num_rows($verificar==1))
       
      esse erro: 
       
      Notice: Object of class mysqli_result could not be converted to int in /storage/ssd4/199/6565199/public_html/EducAtiv/view/home/recuperarSenha.php on line 14

      Warning: mysqli_num_rows() expects parameter 1 to be mysqli_result, boolean given in /storage/ssd4/199/6565199/public_html/EducAtiv/view/home/recuperarSenha.php on line 14
       
             
             
              
          
    • Por BryanSamuel
      Eu preciso somar a coluna SOMA onde a coluna A e a coluna B(ao outro registro, por exemplo A do registro 1 e A do registro 2 forem iguais) forem iguais, após isso dividir por 3 e em seguida inserir em outra tabela.
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.