Sistema De Login Usando Sessions E Mysql

Por Programação Pular para comentários
Sistema De Login Usando Sessions E Mysql 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..

Compartilhe com seus amigos:
Igor Diniz
Igor Diniz Desenvolvedor web, design, programação, marketing, dentre outros ;)
Quer conversar com o(a) Igor, comente:
Carregar comentários
Últimas notícias