página de login php + SESSÂO Exemplo 2
Olá galera do PHP!!!
Hoje vamos criar uma formulário de login a onde o usuário tem que se logar para ter acesso ao painel ou seu perfil, mas primeiro vamos entender como isso vai funcionar.
A imagem abaixo mostra como isso funciona:
Bom a imagem não esta muito boa mas acho que da pra entender o que vamos fazer...
crie uma tabela no seu banco dedados mysql chamada "users_db"
CREATE TABLE `users_db` (
`IdUser` int(11) unsigned NOT NULL AUTO_INCREMENT,
`username` varchar(50) DEFAULT NULL,
`password` varchar(10) DEFAULT NULL,
PRIMARY KEY (`IdUser`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1
Vamos ao php agora...
1º Passo
Criar o arquivo de conexão "conexao.php"
<?php
$hostname_data = 'localhost';
$database_data = 'test'; #Nome do db
$username_data = 'root'; #Usuário do banco
$password_data = '123'; #Senha do Banco
$cnn_data = mysql_connect($hostname_data, $username_data, $password_data) or trigger_error(mysql_error(),E_USER_ERROR);
?>
Informe os dados de conexão que o seu banco de dados usa e em seguida salve e esta pronto o seu arquivo de conexão...
2º Passo
Criar a página de Login "index.php"
<?php
/*
Informações de Código
Desenvolvido por Eduardo Vieira
Data:16/06/2014
Email:eduardocobain@bol.com.br
*/
include('conexao.php');
if (!isset($_SESSION)) {
session_start();
}
#Declarar as variaveis como nulas
$_SESSION['MM_Login'] = false;
$_SESSION['MM_Username'] = NULL;
$_SESSION['MM_UserGroup'] = NULL;
unset($_SESSION['MM_Username']);
unset($_SESSION['MM_UserGroup']);
if (isset($_POST['bnt'])) {
#Informações para o processamento do login
$loginUsuario = $_POST['txtuser']; #Recebe o valor do Campo Usuário
$LoginSenha = $_POST['txtpwd']; #Recebe o valor do Campo Senha
$Redirecionar_Confirmado = "home.php"; #Direciona para a pagina quando o login e confirmado
$Redirecionar_NãoComfirmado = "error.php"; #Direciona para a pagina quando o login não e confirmado
#Selecionar o banco de dados
mysql_select_db($database_data);
#Fazer a pesquisa na tabela
$sql_Login ="SELECT username, password FROM users_db WHERE username='".$loginUsuario."' AND password='".$LoginSenha."'";
$rs_login = mysql_query($sql_Login, $cnn_data) or die(mysql_error());
$rs_Login_Linhas = mysql_num_rows($rs_login);
#Validar o login
if($rs_Login_Linhas){
#Opcional Variavel de Grupo e Nome do Usuário
$loginGrupo = "";
$loginNome = "";
#Declarar as variaveis
$_SESSION['MM_Login'] = true;
$_SESSION['MM_Username'] = $loginUsuario;
$_SESSION['MM_UserGroup'] = $loginGrupo;
#Redirecionar a pagina
header("Location: ". $Redirecionar_Confirmado);
}
else
{
#Declarar as variaveis
$_SESSION['MM_Login'] = false;
$_SESSION['MM_frmLogin'] = "index.php";
$_SESSION['MM_Erro'] = "Erro ao realizar o login verifique o usuário e senha...";
#Redirecionar a pagina
header("Location: ". $Redirecionar_NãoComfirmado);
}
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Login</title>
</head>
<body>
<form name="form1" method="post" action="index.php">
<table width="200" border="0" cellpadding="2" cellspacing="0">
<tr>
<td align="left"><b>Usuário:</b></td>
<td align="left"><input type="text" name="txtuser" id="txtuser"></td>
</tr>
<tr>
<td align="left"><b>Senha:</b></td>
<td align="left"><input type="password" name="txtpwd" id="txtpwd"></td>
</tr>
<tr>
<td align="left"><b></b></td>
<td align="left"><input type="submit" name="bnt" id="bnt" value="Entrar"></td>
</tr>
</table>
</form>
</body>
</html>
3º Passo
Criar a página "error.php"
<?php
/*
Informações de Código
Desenvolvido por Eduardo Vieira
Data:16/06/2014
Email:eduardocobain@bol.com.br
*/
if (!isset($_SESSION)) {
session_start();
}
if($_SESSION['MM_Login']=="" || $_SESSION['MM_Login']==NULL || $_SESSION['MM_Login']==false){
#Declarar as variaveis
$_SESSION['MM_Login'] = false;
$_SESSION['MM_Username'] = NULL;
$_SESSION['MM_UserGroup'] = NULL;
unset($_SESSION['MM_Username']);
unset($_SESSION['MM_UserGroup']);
$Redirecionar = $_SESSION['MM_frmLogin'];
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Error</title>
</head>
<body>
<p><?php echo $_SESSION['MM_Erro'];?></p>
<a href="<?php echo $Redirecionar; ?>">Voltar</a>
</body>
</html>
4º Passo
Criar a pagina do Painel ou perfil "home.php"
<?php
/*
Informações de Código
Desenvolvido por Eduardo Vieira
Data:16/06/2014
Email:eduardocobain@bol.com.br
*/
if (!isset($_SESSION)) {
session_start();
}
if($_SESSION['MM_Login']=="" || $_SESSION['MM_Login']==NULL || $_SESSION['MM_Login']==false){
#Declarar as variaveis
$_SESSION['MM_Login'] = false;
$_SESSION['MM_Erro']= "Usuário não esta Logado..";
#Caso o tenha feito o login então enviar para a pagina de erro.
$Redirecionar_NãoComfirmado = "error.php";
header("Location: ". $Redirecionar_NãoComfirmado);
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Home</title>
</head>
<body>
<p>Página home</p>
</body>
</html>
Se você tentar acessar a pagina home direto sem ter feito o login ele redireciona para a pagina error.php
Bom é isso ai espero que tenha ajudado... até mais
Hoje vamos criar uma formulário de login a onde o usuário tem que se logar para ter acesso ao painel ou seu perfil, mas primeiro vamos entender como isso vai funcionar.
A imagem abaixo mostra como isso funciona:
Bom a imagem não esta muito boa mas acho que da pra entender o que vamos fazer...
crie uma tabela no seu banco dedados mysql chamada "users_db"
CREATE TABLE `users_db` (
`IdUser` int(11) unsigned NOT NULL AUTO_INCREMENT,
`username` varchar(50) DEFAULT NULL,
`password` varchar(10) DEFAULT NULL,
PRIMARY KEY (`IdUser`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1
Vamos ao php agora...
1º Passo
Criar o arquivo de conexão "conexao.php"
<?php
$hostname_data = 'localhost';
$database_data = 'test'; #Nome do db
$username_data = 'root'; #Usuário do banco
$password_data = '123'; #Senha do Banco
$cnn_data = mysql_connect($hostname_data, $username_data, $password_data) or trigger_error(mysql_error(),E_USER_ERROR);
?>
Informe os dados de conexão que o seu banco de dados usa e em seguida salve e esta pronto o seu arquivo de conexão...
2º Passo
Criar a página de Login "index.php"
<?php
/*
Informações de Código
Desenvolvido por Eduardo Vieira
Data:16/06/2014
Email:eduardocobain@bol.com.br
*/
include('conexao.php');
if (!isset($_SESSION)) {
session_start();
}
#Declarar as variaveis como nulas
$_SESSION['MM_Login'] = false;
$_SESSION['MM_Username'] = NULL;
$_SESSION['MM_UserGroup'] = NULL;
unset($_SESSION['MM_Username']);
unset($_SESSION['MM_UserGroup']);
if (isset($_POST['bnt'])) {
#Informações para o processamento do login
$loginUsuario = $_POST['txtuser']; #Recebe o valor do Campo Usuário
$LoginSenha = $_POST['txtpwd']; #Recebe o valor do Campo Senha
$Redirecionar_Confirmado = "home.php"; #Direciona para a pagina quando o login e confirmado
$Redirecionar_NãoComfirmado = "error.php"; #Direciona para a pagina quando o login não e confirmado
#Selecionar o banco de dados
mysql_select_db($database_data);
#Fazer a pesquisa na tabela
$sql_Login ="SELECT username, password FROM users_db WHERE username='".$loginUsuario."' AND password='".$LoginSenha."'";
$rs_login = mysql_query($sql_Login, $cnn_data) or die(mysql_error());
$rs_Login_Linhas = mysql_num_rows($rs_login);
#Validar o login
if($rs_Login_Linhas){
#Opcional Variavel de Grupo e Nome do Usuário
$loginGrupo = "";
$loginNome = "";
#Declarar as variaveis
$_SESSION['MM_Login'] = true;
$_SESSION['MM_Username'] = $loginUsuario;
$_SESSION['MM_UserGroup'] = $loginGrupo;
#Redirecionar a pagina
header("Location: ". $Redirecionar_Confirmado);
}
else
{
#Declarar as variaveis
$_SESSION['MM_Login'] = false;
$_SESSION['MM_frmLogin'] = "index.php";
$_SESSION['MM_Erro'] = "Erro ao realizar o login verifique o usuário e senha...";
#Redirecionar a pagina
header("Location: ". $Redirecionar_NãoComfirmado);
}
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Login</title>
</head>
<body>
<form name="form1" method="post" action="index.php">
<table width="200" border="0" cellpadding="2" cellspacing="0">
<tr>
<td align="left"><b>Usuário:</b></td>
<td align="left"><input type="text" name="txtuser" id="txtuser"></td>
</tr>
<tr>
<td align="left"><b>Senha:</b></td>
<td align="left"><input type="password" name="txtpwd" id="txtpwd"></td>
</tr>
<tr>
<td align="left"><b></b></td>
<td align="left"><input type="submit" name="bnt" id="bnt" value="Entrar"></td>
</tr>
</table>
</form>
</body>
</html>
3º Passo
Criar a página "error.php"
<?php
/*
Informações de Código
Desenvolvido por Eduardo Vieira
Data:16/06/2014
Email:eduardocobain@bol.com.br
*/
if (!isset($_SESSION)) {
session_start();
}
if($_SESSION['MM_Login']=="" || $_SESSION['MM_Login']==NULL || $_SESSION['MM_Login']==false){
#Declarar as variaveis
$_SESSION['MM_Login'] = false;
$_SESSION['MM_Username'] = NULL;
$_SESSION['MM_UserGroup'] = NULL;
unset($_SESSION['MM_Username']);
unset($_SESSION['MM_UserGroup']);
$Redirecionar = $_SESSION['MM_frmLogin'];
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Error</title>
</head>
<body>
<p><?php echo $_SESSION['MM_Erro'];?></p>
<a href="<?php echo $Redirecionar; ?>">Voltar</a>
</body>
</html>
4º Passo
Criar a pagina do Painel ou perfil "home.php"
<?php
/*
Informações de Código
Desenvolvido por Eduardo Vieira
Data:16/06/2014
Email:eduardocobain@bol.com.br
*/
if (!isset($_SESSION)) {
session_start();
}
if($_SESSION['MM_Login']=="" || $_SESSION['MM_Login']==NULL || $_SESSION['MM_Login']==false){
#Declarar as variaveis
$_SESSION['MM_Login'] = false;
$_SESSION['MM_Erro']= "Usuário não esta Logado..";
#Caso o tenha feito o login então enviar para a pagina de erro.
$Redirecionar_NãoComfirmado = "error.php";
header("Location: ". $Redirecionar_NãoComfirmado);
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Home</title>
</head>
<body>
<p>Página home</p>
</body>
</html>
Se você tentar acessar a pagina home direto sem ter feito o login ele redireciona para a pagina error.php
Bom é isso ai espero que tenha ajudado... até mais
Comentários
Postar um comentário