Sistema De Login Usando Sessions E Mysql

Por | @oficinadanet Programação
Bem amigo, como estou sem tempo irei publicar um artigo do fórum WMOnline, mas embreve estarei voltando a toda velocidade!
Bom pessoal..

Estava precisando de um sistema de login, e como naum haviam sistemas bons e confiáveis de login usando MySQL na Net, eu resolví estudar um pouco e fazer o meu próprio..

Ficou bom, e de acordo com os meus conhecimentos, sem falhas de segurança..

Bom vamos lá, execute isso no seu banco de dados MySQL:

SQL
CREATE TABLE `Sis_login` (
  `id` int(3) NOT NULL auto_increment,
  `login` varchar(8) default NULL,
  `senha` varchar(8) default NULL,
  PRIMARY KEY  (`id`)
) TYPE=MyISAM AUTO_INCREMENT=3 ;


Depois faça a página: login.php
PHP

session_name("MeuLogin");
session_start();
session_destroy();

if($_GET[ 'login' ] == "falhou") {
    print $_GET[ 'causa' ];
}
?>

Login:

Senha:




Depois a página: loga.php
PHP

session_name("MeuLogin");
session_start();

if($_GET[ 'acao' ] == "logar") {
    $conn = mysql_connect("localhost","user","senha"); //configure os dados do seu MySQL
    $banco = mysql_select_db("SEU_BANCO"); //coloque o nome do seu banco de dados
  
    $nome = $_POST[ 'nome' ];
    $q_user = mysql_query("SELECT * FROM Sis_login WHERE login='$nome'");

    if(mysql_num_rows($q_user) == 1) {
  
        $query = mysql_query("SELECT * FROM Sis_login WHERE login='$nome'");
        $dados = mysql_fetch_array($query);
        if($_POST[ 'pwd' ] == $dados[ 'senha' ]) {
            session_register("nome");
            header("Location: page.php");
            exit;
        } else {
            header("Location: login.php?login=falhou&causa=".urlencode('Senha Errada'));
            exit;
        }
    } else {
        header("Location: login.php?login=falhou&causa=".urlencode('User Inválido'));
        exit;
    }
}

//agora a parte que verifica se o login já foi feito
if(session_is_registered("nome") == false) {
    header("Location: login.php");
}
?>


Pronto, o principal já tá feito..

Bom pessoal, como pedido, eu to acrescentando no script, uma página para acrescentar usuários, creio q isso facilita aos q ainda não tem intimidade com a interface do MySQL..

Vamos lá, crie uma página com um nome qualquer, exemplo: new_users.php, e coloque esse código nela:
PHP


if($_GET[ 'act' ]=="gravar") {
  $conn = mysql_connect("localhost","user","senha");
  $banco = mysql_select_db("SEU_BANCO");

  mysql_query("INSERT INTO Sis_login (id, login, senha)
  VALUES (NULL, '{$_POST[ 'nuser' ]}', '{$_POST[ 'senha' ]}')");

  print "
Usuário criado com sucesso!
";
} else {
?>

User:

Senha:




}
?>


As páginas seguintes são só um complemento para mostrar o funcionamento do script:

page.php
PHP

require("loga.php");
?>
Olá ,

Aqui vem qualquer coisa, inclusive um link para outras páginas.


Link


page2.php
PHP

require("loga.php");
?>
Olá ,

Aqui tb diz que está logado direitinho

Como visto acima, para restringir o acesso às páginas, é só vc acrescentar isso nas primeiras linhas da page:
PHP

require("loga.php");
?>


E já era, todas as páginas que estiverem isso estarão protegidas.. Caso o login naum tenha sido feito, elas redirecionarão para a página que se faz o login..

Bom espero que tenham gostado, e que seja de bom proveito a todos..

Ps.: Testem esse script de preferência num servidor Linux, pois aqui mesmo no meu PC rodando Win, ele naum funfa..

Fui..

Mais sobre: php login session
Share Tweet
Recomendado
Comentários
Carregar comentários
Destaquesver tudo