Oficina da Net Logo

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
Comentários
Você precisa lerver tudo
Mais recentesver tudo
 
  • ASSINE NOSSA NEWSLETTER

    As melhores publicações no
    seu e-mail