Como fazer um sistema de login para seu website

Este é um sistema simples de login que tem sido muito confiável e seguro para mim. Eu mesmo o uso em meus sites, quando um sistema simples de login é necessário. Se você souber um pouco de PHP e MySQL, é muito fácil de usar. Se você achar que precisa de um pouco de atualização em PHP, procure cursos, apostilas ou tutoriais na Internet; você facilmente vai encontrar bastante material.

Primeiro, você vai precisar do MySQL instalado no seu computador. Eu tenho XAMMP instalado, e uso PHPmyADMIN para acessar meus bancos de dados. São gratuitos para download, é só procurá-los na Internet. Você também precisará criar um banco de dados em seu MySQL. À medida que você avança, lembre-se de que os nomes de arquivos nos servidores linux sempre diferenciam minúsculas e maiúsculas. LOGIN.PHP não é igual a login.php, como em servidores Windows.

  • Execute este comando SQL em sua base de dados MySQL (que você deve ter um):
    CREATE TABLE ‘users’ (
    `` id int (3) NOT NULL AUTO_INCREMENT,
    `login` varchar (8) default NULL,
    `login` varchar (8) default NULL,
    PRIMARY KEY ( `id`)
    ) TYPE = MyISAM AUTO_INCREMENT = 3;
    Isto criará a tabela que irá armazenar os nomes de usuários e senhas.
  • Então, crie o arquivo LOGIN.PHP. Esta página vai conter o formulário que vai enviará os dados do usuário para o sistema.
    <?
    session_name ( "MyLogin");
    session_start ();
    session_destroy ();
    if ($ _GET[ 'Login'] == "failed") (
    print $ _GET [ 'cause'];
    )
    ?>
    <form name="login_form" method="post" action="log.php?action=login">
    Login: <input type="text" name="user"> <BR>
    Password: <input type="password" name="pwd"><BR>
    <input type="submit">
    </form>
  • Agora, crie o arquivo LOG.PHP. Este é o arquivo que executa a action do formulário.
    <?
    session_name("MyLogin");
    session_start();
    if($_GET['action'] == "login") {
    $conn = mysql_connect("localhost","user","password"); // your MySQL connection data
    $db = mysql_select_db("DATABASENAME"); //put your database name in here
    $name = $_POST['user'];
    $q_user = mysql_query("SELECT * FROM USERS WHERE login='$name'");
    if(mysql_num_rows($q_user) == 1) {

    $query = mysql_query("SELECT * FROM USERS WHERE login='$name'");
    $data = mysql_fetch_array($query);
    if($_POST['pwd'] == $data['password']) {
    session_register("name");
    header("Location: yourpage.php"); // success page. put the URL you want
    exit;
    } else {
    header("Location: login.php?login=failed&cause=".urlencode('Wrong Password'));
    exit;
    }
    } else {

    header("Location: login.php?login=failed&cause=".urlencode('Invalid User'));
    exit;
    }
    }
    // if the session is not registered
    if(session_is_registered("name") == false) {
    header("Location: login.php");
    }
    ?>
  • Se você prestou bem atenção, notou que o login irá levar o usuário a YOURPAGE.PHP. Acrescente essas linhas de código em todas as páginas que pretende proteger (incluindo yourpage.php):
    <?
    require("log.php");
    ?>
    Imprimir o nome do usuário na tela é muito fácil. Basta adicionar este código:
    <? print $_SESSION["name"]; ?>


É isto! Funciona muito bem mas, se você tiver qualquer problema com estes códigos, entre em contato comigo!