27 comentários em “Criando um Sistema de Login em PHP/MySQL”

  1. Bom dia, procurei entender o código e até as partes iniciais consegui compreender, porém quando testo no navegador da erro 404 , logo após cadastrar.php. Quando evio o cadastro da erro, alguém ajuda?

    Responder
  2. Ola, os erros de login e senha e porque as variáveis que recebe dos formulários tem que conter “$_POST[…]” exemplo: $confirmacao = mysql_query(“SELECT * FROM `$tabela` WHERE login = ‘$_POST[login]’ AND senha = ‘$_POST[senha]'”, $db); sem isso o php não entende o que veio do formulário!!! tem que alterar todo que recebe de formulário. Espero ter ajudado!

    Responder
  3. Está dando erro será que alguém pode me ajuda?

    Quando alguém vai se cadastrar da esse erro:

    “”Ocorreu os seguintes erros ao tentar se cadastrar:

    Você não digitou um login

    Você não digitou uma senha””

    Responder
  4. Boa tarde, cara de todos que procurei o seu é o mais completo que achei, sou iniciante em php, estou usando o ultimo php versao 5.5, esta dando erro de deprecated nas conexoes, infelizmente ainda nao tenho conhecimento o suficiente para resolver, consegui resolver somente a conexao, mas os selects e inserts nao, teria como voce dar uma ajuda.

    Responder
  5. Boa noite a todos, eu postei relatando que o email de reenvio da senha estava chegando com o Login, Email e com a Senha estava em branco.
    Pois bem, estudando o código eu descobri um pequeno erro no pacote de download disponibilizado no arquivo enviar_senha.php na linha 29 tem o código $msg .= "Senha : " . $mensagem . chr(13) . chr(10); e para reenviar a senha basta substituir na linha 29 o . $mensagem por . $senha que funcionará perfeitamente.

    Responder
  6. Caro administrador e caros leitores boa noite, quero parabenizar por tão excelente material.
    Pois bem, fiz tudo como foi falado no tutorial e funcionou perfeitamente, exceto a parte de recuperação da senha.
    Quando solicito o reenvio da senha para o email cadastrado, somente chega no email o login e o email cadastrado e a senha vem em branco.
    Poderiam me ajudar a resolver esse problema?

    Responder
  7. Eu não estou conseguindo abrir a página teste. Eu logo, aparece a mensagem de que estou logado, mas quando vou abrir o teste.php aparece a mensagem de que não estou logado.

    Responder
  8. Olá, não compreendi como funciona o contador na última página(teste.php) para liberar ou não o conteúdo oculto, veja minha dúvida.

    Como chamar uma função PHP com base na variável $contador se a mesma ainda não foi definida nesta página? Para isso não teríamos que chamar(talvez com include) a página cuja qual atribui valor a respectiva variável? Penso que se usarmos apenas o IF como foi dito uma mensagem de erro será retornada dizendo que a vairável não foi declarada, estou errado?

    Responder
  9. Boa tarde, para que o pessoal perceba o codigo é nessessário que esteja completo! Mas, pelo que vejo, a maioria das pessoas que estão a colocar as duvidas não percebem nada de programação. Criar um sistema de login e cadastro de usuarios é das coisas mais simples de se fazer em php. O que vejo é muitos usuarios não querem ter um pouco de paciencia nem vontade de aprender, limitam-se a copiar os codigos e pronto, já está, isso não é ser programador. Isso é apenas copiar, nada mais. Agora, para entenderem melhor, convem também terem força de vontade para aprender e ir á carga, existem muitos toturiais, livros, E-books, video-aulas, pratiquem, agarrem num codigo e rinquem com ele, tentem inventar e alterar o que está feito. Só assim é que irão aprender.

    Responder
  10. Boas tenho um problema com o "enviar_cadastro.php aparecem os seguintes erros :
    Warning: mysql_connect() [function.mysql-connect]: It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'Europe/London' for '1.0/DST' instead in C:webrootPAPenviar_registo.php on line 3

    Warning: mysql_connect() [function.mysql-connect]: php_network_getaddresses: getaddrinfo failed: Este anfitrião não é conhecido. in C:webrootPAPenviar_registo.php on line 3

    Warning: mysql_connect() [function.mysql-connect]: It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'Europe/London' for '1.0/DST' instead in C:webrootPAPenviar_registo.php on line 3

    Warning: mysql_connect() [function.mysql-connect]: [2002] php_network_getaddresses: getaddrinfo failed: Este anfitrião não é conhecido. (trying to connect via tcp://http:3306) in C:webrootPAPenviar_registo.php on line 3

    Responder
  11. podem-me ajudar?
    ta dizendo que a vriavel error nao era definida nesta parte aqui:

    if ($error == "" )
    {
    $inserir="insert into utilizadores(nome,pass,idade,email) values ('".$nome."','".$pass."','".$idade."','".$email."')";
    if ($inserir == 1 )
    {
    echo "<div align=center><font size=2 face=Verdana, Arial, Helvetica, sans-serif>Registado com sucesso.</font></div>";
    }
    else
    {
    echo "<div align=center><font size=2 face=Verdana, Arial, Helvetica, sans-serif>Ocorreu um erro no servidor ao tentar se registar.</font></div>";
    }
    }
    else
    {
    echo "<div align=center><font size=2 face=Verdana, Arial, Helvetica, sans-serif>Ocorreu os seguintes erros ao tentar se registar:'".$error."'</font></div>";
    }

    Responder
  12. Ótimo sistma de login:

    index.html

    Faça o login

    Login:

    Senha:

    ou faça o Cadastro

    <a>

    login.html

    Login

    Senha

    ou Cadastre-se

    login.php

    <?php

    $user = $_POST['user'];

    $pass = $_POST['pass'];

    include("bd.php");

    if($valida[$user]==$pass){

    setcookie("logado", "1");

    echo "location.href='main.php'";

    }

    else{

    echo "";

    echo "Usuário ou senha incorretos!";

    echo "";

    echo "";

    echo "Clique aqui para tentar novamente.";

    echo "";

    }

    ?>

    logout.php

    Deslogado

    function deleteCookie(nome){

    var exdate = new Date();

    exdate.setTime(exdate.getTime() + (-1 * 24 * 3600

    * 1000));

    document.cookie = nome + "=" + escape("")+ ((-1

    == null) ? "" : "; expires=" + exdate);

    }

    Você foi deslogado!

    deleteCookie("logado");

    main.php

    <?php

    if(IsSet($_COOKIE["logado"])){}

    else{

    echo '';

    exit;

    }

    ?>

    Sair

    cadastro.html

    Nome:

    Login:

    Senha:

    ou faça o Login

    cadastro.php

    <?php

    session_start("logado");

    include("bd.php");

    $nome = $_POST['nome'];

    $login = $_POST['login'];

    $senha = $_POST['senha'];

    $bd = fopen("bd.php","a+");

    $varval = "valida[";

    $new = "";

    fputs($bd, $new);

    fclose($bd);

    echo "location.href='sucesso.html'";

    ?>

    crie um arquivo no bloco de notas chamado BD.PHP

    Responder
  13. Olá, coloquei o código mas não está funcionando aqui. Para os usuários se cadastrarem aparece um erro:

    ""Ocorreu os seguintes erros ao tentar se cadastrar:

    Você não digitou um login

    Você não digitou uma senha""

    e para reecuperar a senha, ocorre outro erro tambem.

    Peço que entre em contato comigo atraves do e-mail, assim ficaria mais fácil explicar.

    Abraços.

    Responder
  14. Excelente material… porém senti falta de uma coisa…a passagem dos dados do form para o códgio PHP….. queria entender como no seu código é passado…

    De qualquer forma … abaixo a solução que usei.

    //Variáveis recebidas do formulário

    $nome = $_POST['nome'];

    $login = $_POST['login'];

    $senha = $_POST['senha'];

    $senha2 = $_POST['senha2'];

    $email = $_POST['email'];

    Este código deverá ser inserido para "enviar_cadastro.php" já os demais é só usar como base esse e incluir nos demais.

    []´s

    Responder

Deixe um comentário