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 JullySL
      Boa tarde!

      Tenho um formulário e quando clico no botão Enviar/Submit preciso que na tela de resultado, mostre somente o resultado da busca do usuário sem mostrar o banner, fazendo o efeito do scrollspy,
      eu consegui fazer o efeito porém ou ele executa o afeito ou ele executa a busca =( alguém pode me ajudar por favor


      (Ps não se atende aos nomes das variáveis, pois são de teste)
      function showDetails() {
          $('.Classname').click(function(){
          $("html, body").animate({ scrollTop: 2000 }, 200);
          //alert("teste2")
          return false;
      });
          
      }
      </script>

        <form method="POST" action="pagina.asp?id=14" onSubmit="return valida(this);">
      <select name="nome" class="select_opc" id="nome" onChange="chamarLista(this.value);" >
       <button type="submit" onclick="showDetails()" id="section42" class="Classname" data-animal-type="section42"> Pesquisar</button>
      </form>


      Agradeço desde ja
    • Por marlone
      Estou tentando gerar um boleto com o checkout pagseguro transparente, mas não consigo de jeito algum. Alguém tem algum codigo pronto para disponibilizar ?
    • Por Dionatan Melo
      Estou integrando com a API Cielo 3.0, utilizado o framework Laravel, ao realizar os testes e quando criado um novo pagamento, os campos Status, ReturnCode e ReturnMessage retornam nulos.
      Segue abaixo o código de testes, lembrando que as requisições estão sendo testadas com o Postman.
      use Illuminate\Http\Request; use Cielo\API30\Merchant; use Cielo\API30\Ecommerce\Environment; use Cielo\API30\Ecommerce\Sale; use Cielo\API30\Ecommerce\CieloEcommerce; use Cielo\API30\Ecommerce\Payment; use Cielo\API30\Ecommerce\CreditCard; use Cielo\API30\Ecommerce\RecurrentPayment; use Cielo\API30\Ecommerce\Request\CieloRequestException; class CieloPaymentController extends Controller { public function store(Request $request) { // Configurão do ambiente, sandbox ou production. $environment = $environment = Environment::sandbox(); // Configuração do merchantId e mercantKey $merchant = new Merchant('a2a9c6cb-9479-43b9-8361-e0e62101f8be', 'SQQLXFTEUFTPIAVSX0WJXLKZVZJNBINKDKXUGCFC'); // Criando uma instancia com o id do pagamento. $sale = new Sale(mt_rand(11111,99999)); $customer = $sale->customer("Fulano de tal"); $payment = $sale->payment(1500); $payment->setSoftDescriptor('Empresa Teste'); $payment->setRecurrent(true); // Criando uma instancia de pagamento com cartão de credito. $payment->setType(Payment::PAYMENTTYPE_CREDITCARD) ->creditCard("123", CreditCard::VISA) ->setExpirationDate("12/2018") ->setCardNumber("4024.0071.5376.3191") ->setHolder("Fulano de Tal"); // Configuração do pagamento recorrente $payment->recurrentPayment(true)->setInterval(RecurrentPayment::INTERVAL_MONTHLY) ->setAuthorizeNow(true); $payment->setProvider(Payment::PROVIDER_SIMULADO); // Crie o pagamento na Cielo try { // Configuração do SDK com o merchant e o ambiente apropriado para criar a venda $sale = (new CieloEcommerce($merchant, $environment))->createSale($sale)->getReturnCode(); $recurrentPaymentId = $sale->getPayment()->getRecurrentPayment()->getRecurrentPaymentId(); } catch (CieloRequestException $e) { // Em caso de erros de integração, podemos tratar o erro aqui. $error = $e->getCieloError(); } return $sale; } }  
×

Informação importante

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