SlideShare uma empresa Scribd logo
2
Mais lidos
3
Mais lidos
6
Mais lidos
Nos sistemas web que costumamos acessar hoje em dia é comum vermos controles de
usuários. Um exemplo seria o de sistemas de publicações de artigos ou textos onde temos
vários tipos de usuários como: Editor, Publicador, Revisor, etc, onde cada um possui
privilégios diferentes de acesso às páginas do sistema/site.
Neste artigo vamos abordar uma ideia básica de criação de controle de acesso, onde
teremos:
Tela de Login;
Tela de Cadastro de Usuário;
Funções que irão manipular os dados (cadastro no banco / verificação dos privilégios).
É um sistema simples, mas que pode ser tomado como base para a implementação de
sistemas de controle bastante complexos com sessions, cookies, e assim por diante.
O 1º passo é criarmos nossa index.php onde ficará nosso formulário de login e um link para
efetivar um cadastro, caso não possua.
Listagem 1: Criando arquivo index.php
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<div>
Login
</div>
<form action="controle.php" method="post">
<input type="text" name="login" value="" />
<input type="password" name="senha" value="" />
<input type="submit" name="enviar" value="Login"/>
<a href="cadastrar.php">Sem cadastro?</a>
</form>
</body>
</html>
Figura 1: Formulário de login
Após a criação deste arquivo vamos criar o formulário de cadastro de usuário, assim, quem
não possuir login e senha poderá realizar um cadastro rápido.
Listagem 2: Criando o arquivo cadastrar.php
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<div>
Cadastro de usuário
</div>
<form action="controle.php" method="post">
<label>Login</label>
<input type="text" name="login" value="" /><br />
<label>Senha</label>
<input type="password" name="senha" value="" /><br />
<label>Tipo de usuário</label>
<select name="tipo_usuario">
<option value="">Selecione</option>
<option value="1">Usuario Comum</option>
<option value="2">Administrador</option>
</select><br />
<input type="submit" name="cadastrar" value="cadastrar"/>
</form>
</body>
</html>
Figura 2: Formulário de cadastro de usuário
Com nossos formulários prontos, vamos prosseguir criando um controle para verificar se a
requisição é de um cadastro novo ou se é de um login. Para tal, vamos criar o arquivo
controler.php.
Listagem 3: Criando o arquivo controle.php
<?php
//utilização de namespaces
namespace controle;
include 'processaAcesso.php';
use processaAcesso as processaAcesso;
$controle = new processaAcessoProcessaAcesso;
if ($_POST['enviar']) {
$login = $_POST['login'];
$senha = md5($_POST['senha']);
$usuario = $controle->verificaAcesso($login, $senha);
//redirecionando para pagina conforme o tipo do usuário
if ($usuario[0]['id_tipo_acesso'] == 1) {
header("Location:paginas/pagina1.html");
} else if ($usuario[0]['id_tipo_acesso'] == 2) {
header("Location:paginas/pagina2.html");
}
} else if ($_POST['cadastrar']) {
$login = $_POST['login'];
$senha = md5($_POST['senha']);
$tipo_usuario = $_POST['tipo_usuario'];
$arr = array('login_usuario' => $login, 'senha_usuario' => $senha,
'id_tipo_acesso' => $tipo_usuario);
if (!$controle->cadastraUsuario($arr)) {
echo 'Aconteceu algum erro';
} else {
$tipo_acesso = $controle->verificaAcesso($login, $senha);
if ($tipo_acesso[0]['id_tipo_acesso'] == 1) {
header("Location:paginas/pagina1.html");
} else if ($tipo_acesso[0]['id_tipo_acesso'] == 2) {
header("Location:paginas/pagina2.html");
}
}
}
?>
Agora já sabemos se é uma requisição de login ou é um cadastro de usuário recente.
Nosso próximo passo é criar outro controler para inserir novos usuários e para verificar qual
o tipo de perfil que o usuário possui. Esse controler conversa diretamente com o controler
criado anteriormente (controler.php).
Listagem 4: Criando o arquivo processaAcesso.php
<?php
//utilização de namespaces
namespace processaAcesso {
include 'conexao/mysql.php';
use Mysql as Mysql;
class ProcessaAcesso {
var $db;
public function __construct() {
$conexao = new Mysqlmysql(DB_SERVER, DB_NAME, DB_USERNAME, DB_PASSWORD);
$this->db = $conexao;
}
public function verificaAcesso($login, $senha) {
$select = $this->db->select('tb_usuario', '*',
" where login_usuario = '$login' and senha_usuario = '$senha'");
return $select;
}
public function cadastraUsuario($dados){
$insert = $this->db->insert('tb_usuario', $dados);
return $insert;
}
}
}
?>
Para a lógica da nossa aplicação ficar completa, falta a comunicação com a base de dados
correto? Então vamos criar um controle para podermos realizar o CRUD.
Listagem 5: Criando o arquivo mysql.php dentro da pasta conexão
<?php
//utilização de namespaces
namespace Mysql {
//declaração de variáres globais
define('DB_SERVER', 'localhost');
define('DB_NAME', 'acesso');
define('DB_USERNAME', 'root');
define('DB_PASSWORD', '');
class mysql {
var $db, $conn;
public function __construct($server, $database, $username, $password) {
$this->conn = mysql_connect($server, $username, $password);
$this->db = mysql_select_db($database, $this->conn);
}
/**
* Função de seleção dos registros da tabela
* @param string $tabela tabela onde será buscado os registros
* @param string $colunas string contendo as colunas separadas
por virgula para seleção, se null busca por todas *
*/
public function select($tabela, $colunas = "*", $where = "1=1") {
$sql = "SELECT $colunas FROM $tabela $where";
$result = $this->executar($sql);
while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
$return[] = $row;
}
return $return;
}
/**
* Função para inserir dados na tabela
* @param array $dados Array contendo os dados a serem inseridos
* @param string $tabela tabela que será inserido os dados
* @return boolean verdadeiro ou falso
*/
public function insert($tabela, $dados) {
foreach ($dados as $key => $value) {
$keys[] = $key;
$insertvalues[] = ''' . $value . ''';
}
$keys = implode(',', $keys);
$insertvalues = implode(',', $insertvalues);
$sql = "INSERT INTO $tabela ($keys) VALUES ($insertvalues)";
return $this->executar($sql);
}
private function executar($sql) {
$return_result = mysql_query($sql, $this->conn);
if ($return_result) {
return $return_result;
} else {
$this->sql_error($sql);
}
}
private function sql_error($sql) {
echo mysql_error($this->conn) . '<br>';
die('error: ' . $sql);
}
}
}
?>
Pronto! Nossa lógica está toda montada. Para verificarmos a diferença dos acessos em
relação ao tipo do usuário, vamos criar uma pasta chamada “Paginas” e dentro dela 2
arquivos, um para determinado tipo de usuário e outro para outro tipo.
Listagem 6: Criando o arquivo Pagina1.html
<!DOCTYPE html>
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<div>Aqui, conteúdo para o login do tipo "Usuario comum"</div>
</body>
</html>
Listagem 7: Criando o arquivo Pagina2.html
<!DOCTYPE html>
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<div>Aqui, conteúdo para o login do tipo "Adminitrador"</div>
</body>
</html>
O código deste artigo e o script do banco de dados utilizado estão em anexo para melhor
aproveitamento. Lembre-se que este controle de usuário é simples, servindo apenas como
base, podendo ser aplicadas a ele várias técnicas de controle como mencionado no início
deste artigo.
Caso tenha dúvidas, criticas ou sugestões, não esqueça de deixar nos comentários. É
sempre bom saber o que o leitor acha. Espero que tenham aproveitado e até o próximo
artigo.

Mais conteúdo relacionado

PDF
Curso De Extensão Em Equipamentos Não Letais-CENL I
PDF
CGCFN-12 - Normas para Administração de Material do Corpo de Fuzileiros Navais
PDF
CGCFN-334.2 - Manual de Embarque e Carregamento dos Grupamentos Operativos de...
PDF
4 embarcações
PDF
Regulamento de Uniformes para os Militares da Aeronáutica RUMAER (2012)
PDF
FORMAÇÃO BÁSICA DO COMBATENTE PPB/2
PDF
FORMAÇÃO BÁSICA DO COMBATENTE PPB/2 2010
PDF
RUE - Introdução Índice
Curso De Extensão Em Equipamentos Não Letais-CENL I
CGCFN-12 - Normas para Administração de Material do Corpo de Fuzileiros Navais
CGCFN-334.2 - Manual de Embarque e Carregamento dos Grupamentos Operativos de...
4 embarcações
Regulamento de Uniformes para os Militares da Aeronáutica RUMAER (2012)
FORMAÇÃO BÁSICA DO COMBATENTE PPB/2
FORMAÇÃO BÁSICA DO COMBATENTE PPB/2 2010
RUE - Introdução Índice

Mais procurados (20)

PDF
CGCFN-13 - Normas Gerais do Comando-Geral do Corpo de Fuzileiros Navais
PDF
MANUAL DE CAMPANHA SERVIÇO DA PEÇA DO OBUSEIRO L118 C 6-82
PDF
R-2 Regulamento de Continências Honras Sinais de Respeito e Cerimonial Militar
PDF
Orientação aos Candidatos do Curso Especial de Mergulhador de Combate (C-ESP-...
PDF
Caveira operações policiais especiais.
PDF
Regulamento de Uniformes da Marinha do Brasil RUMB
PDF
PROGRAMA-PADRÃO QUALIFICAÇÃO DO CABO E DO SOLDADO INSTRUÇÃO PECULIAR PPQ/2
PDF
CADERNO DE INSTRUÇÃO O PELOTÃO DE FUZILEIROS NO COMBATE EM ÁREA EDIFICADA CI ...
PDF
Guia do aluno comanf 2012
PDF
Regulamento de Uniformes da Marinha do Brasil RUMB VOLUME I
PDF
PROGRAMA-PADRÃO DE INSTRUÇÃO QUALIFICAÇÃO DO CABO E DO SOLDADO DE ENGENHARIA ...
PDF
CADERNO DE INSTRUÇÃO PISTA DE COMBATE DE GC NA DEFESA EXTERNA CI 21-76 2
PDF
CGCFN-1005 - Manual de Toques de Corneta da Marinha
PDF
Manual+echolink+espanol+(1)
PDF
MANUAL DE CAMPANHA ESTADO-MAIOR E ORDENS 1º VOLUME C 101-5
PDF
PROGRAMA-PADRÃO QUALIFICAÇÃO DO CABO E DO SOLDADO INSTRUÇÃO COMUM PPQ/1
PDF
MANUAL DE CAMPANHA TIRO DAS ARMAS PORTÁTEIS 1ª PARTE - FUZIL C 23-1
PDF
MANUAL DE ORDEM UNIDA EB 2019 - EB70-MC-10.308.pdf
PDF
CUIDADOS DURANTE FORMATURAS/CERIMÔNIAS MILITARES
PDF
Facão de guerra na selva
CGCFN-13 - Normas Gerais do Comando-Geral do Corpo de Fuzileiros Navais
MANUAL DE CAMPANHA SERVIÇO DA PEÇA DO OBUSEIRO L118 C 6-82
R-2 Regulamento de Continências Honras Sinais de Respeito e Cerimonial Militar
Orientação aos Candidatos do Curso Especial de Mergulhador de Combate (C-ESP-...
Caveira operações policiais especiais.
Regulamento de Uniformes da Marinha do Brasil RUMB
PROGRAMA-PADRÃO QUALIFICAÇÃO DO CABO E DO SOLDADO INSTRUÇÃO PECULIAR PPQ/2
CADERNO DE INSTRUÇÃO O PELOTÃO DE FUZILEIROS NO COMBATE EM ÁREA EDIFICADA CI ...
Guia do aluno comanf 2012
Regulamento de Uniformes da Marinha do Brasil RUMB VOLUME I
PROGRAMA-PADRÃO DE INSTRUÇÃO QUALIFICAÇÃO DO CABO E DO SOLDADO DE ENGENHARIA ...
CADERNO DE INSTRUÇÃO PISTA DE COMBATE DE GC NA DEFESA EXTERNA CI 21-76 2
CGCFN-1005 - Manual de Toques de Corneta da Marinha
Manual+echolink+espanol+(1)
MANUAL DE CAMPANHA ESTADO-MAIOR E ORDENS 1º VOLUME C 101-5
PROGRAMA-PADRÃO QUALIFICAÇÃO DO CABO E DO SOLDADO INSTRUÇÃO COMUM PPQ/1
MANUAL DE CAMPANHA TIRO DAS ARMAS PORTÁTEIS 1ª PARTE - FUZIL C 23-1
MANUAL DE ORDEM UNIDA EB 2019 - EB70-MC-10.308.pdf
CUIDADOS DURANTE FORMATURAS/CERIMÔNIAS MILITARES
Facão de guerra na selva
Anúncio

Destaque (12)

PPTX
Lagunas en la formación universitaria de los traductores europeos
PDF
Event Hacks: 5 things to look out for when choosing your venue
PDF
Working Jams: What Music Should You Listen to on The Job?
PDF
Blogging for business
DOCX
من تونس الى سويسرا ... الكل متعجبون؟
PDF
2017 CR Atelier Lieux partagés et approches communautaires dans la fabrique d...
PDF
Multi-Manager Insights
PPTX
Pesquisa de Mercado de RPG de Mesa 2016
PPTX
Announcements- Wednesday March 1, 2017
PDF
Recull de premsa #Figueres - 01/03/2017
PDF
Funny Money
PDF
Technology in Restaurants
Lagunas en la formación universitaria de los traductores europeos
Event Hacks: 5 things to look out for when choosing your venue
Working Jams: What Music Should You Listen to on The Job?
Blogging for business
من تونس الى سويسرا ... الكل متعجبون؟
2017 CR Atelier Lieux partagés et approches communautaires dans la fabrique d...
Multi-Manager Insights
Pesquisa de Mercado de RPG de Mesa 2016
Announcements- Wednesday March 1, 2017
Recull de premsa #Figueres - 01/03/2017
Funny Money
Technology in Restaurants
Anúncio

Semelhante a Criando controle de acesso com php e my sql (20)

PPT
ZF Básico - 6. Autenticação
PDF
Aula 12 Relatório - Tabelas
PDF
modernizando a arquitertura de sua aplicação
PDF
PHP ao Extremo
PPT
Aula 8 php
PDF
Bread board
PDF
Sistema php
PDF
Menu dinâmico com kendoUI
PDF
Ecommerce, mais simples do que parece
PDF
Ecommerce, mais simples do que parece
PDF
Play Framework - FLISOL
PPT
J query javascript para seres humanos
PDF
Evento Front End SP - Organizando o Javascript
DOC
PPTX
jQuery - Visão Geral
DOCX
Pg2
DOCX
Pgads42
PDF
Hooks, o condimento mágico e escondido do WordPress
PDF
Aula 08 - Introdução ao banco de dados MySQL - Programação Web
PDF
Escrevendo códigos php seguros
ZF Básico - 6. Autenticação
Aula 12 Relatório - Tabelas
modernizando a arquitertura de sua aplicação
PHP ao Extremo
Aula 8 php
Bread board
Sistema php
Menu dinâmico com kendoUI
Ecommerce, mais simples do que parece
Ecommerce, mais simples do que parece
Play Framework - FLISOL
J query javascript para seres humanos
Evento Front End SP - Organizando o Javascript
jQuery - Visão Geral
Pg2
Pgads42
Hooks, o condimento mágico e escondido do WordPress
Aula 08 - Introdução ao banco de dados MySQL - Programação Web
Escrevendo códigos php seguros

Último (12)

PDF
A teoria como arma da luta_ unidade, luta e cultura no pensamento político de...
PDF
Certificado de Conclusão Jornada Inteligência Artificial
PDF
Agosto-Lilas-Conscientizacao-e-Combate-a-Violencia-contra-a-Mulher.pdf
PDF
A sua pontuação aumenta ao escolher uma categoria, preencher uma descrição lo...
PDF
Apostila_de_Laboratorio_de_Quimica_Inorg.pdf
PDF
A teoria como arma da luta_ unidade, luta e cultura no pensamento político de...
PPTX
TURMA modelo de modelo apresentação 4DE.pptx
PPTX
AULA DE HTML E CSS PARA INICIANTES EM INFORMÁTICA
PDF
Metodologias ágeis - Slides - aulas 1 a 5.pdf
PPTX
Fundamentos do Desenvolvimento Web. Fundamentos do Desenvolvimento Web.Fundam...
PPTX
Classifirrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrcação_IPAQ.pptx
PDF
CORPO, ALMA E ESPÍRITO cura inteiror.pdf
A teoria como arma da luta_ unidade, luta e cultura no pensamento político de...
Certificado de Conclusão Jornada Inteligência Artificial
Agosto-Lilas-Conscientizacao-e-Combate-a-Violencia-contra-a-Mulher.pdf
A sua pontuação aumenta ao escolher uma categoria, preencher uma descrição lo...
Apostila_de_Laboratorio_de_Quimica_Inorg.pdf
A teoria como arma da luta_ unidade, luta e cultura no pensamento político de...
TURMA modelo de modelo apresentação 4DE.pptx
AULA DE HTML E CSS PARA INICIANTES EM INFORMÁTICA
Metodologias ágeis - Slides - aulas 1 a 5.pdf
Fundamentos do Desenvolvimento Web. Fundamentos do Desenvolvimento Web.Fundam...
Classifirrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrcação_IPAQ.pptx
CORPO, ALMA E ESPÍRITO cura inteiror.pdf

Criando controle de acesso com php e my sql

  • 1. Nos sistemas web que costumamos acessar hoje em dia é comum vermos controles de usuários. Um exemplo seria o de sistemas de publicações de artigos ou textos onde temos vários tipos de usuários como: Editor, Publicador, Revisor, etc, onde cada um possui privilégios diferentes de acesso às páginas do sistema/site. Neste artigo vamos abordar uma ideia básica de criação de controle de acesso, onde teremos: Tela de Login; Tela de Cadastro de Usuário; Funções que irão manipular os dados (cadastro no banco / verificação dos privilégios). É um sistema simples, mas que pode ser tomado como base para a implementação de sistemas de controle bastante complexos com sessions, cookies, e assim por diante. O 1º passo é criarmos nossa index.php onde ficará nosso formulário de login e um link para efetivar um cadastro, caso não possua.
  • 2. Listagem 1: Criando arquivo index.php <html> <head> <title></title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> </head> <body> <div> Login </div> <form action="controle.php" method="post"> <input type="text" name="login" value="" /> <input type="password" name="senha" value="" /> <input type="submit" name="enviar" value="Login"/> <a href="cadastrar.php">Sem cadastro?</a> </form> </body> </html> Figura 1: Formulário de login Após a criação deste arquivo vamos criar o formulário de cadastro de usuário, assim, quem não possuir login e senha poderá realizar um cadastro rápido. Listagem 2: Criando o arquivo cadastrar.php <html> <head> <title></title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> </head>
  • 3. <body> <div> Cadastro de usuário </div> <form action="controle.php" method="post"> <label>Login</label> <input type="text" name="login" value="" /><br /> <label>Senha</label> <input type="password" name="senha" value="" /><br /> <label>Tipo de usuário</label> <select name="tipo_usuario"> <option value="">Selecione</option> <option value="1">Usuario Comum</option> <option value="2">Administrador</option> </select><br /> <input type="submit" name="cadastrar" value="cadastrar"/> </form> </body> </html> Figura 2: Formulário de cadastro de usuário Com nossos formulários prontos, vamos prosseguir criando um controle para verificar se a requisição é de um cadastro novo ou se é de um login. Para tal, vamos criar o arquivo controler.php.
  • 4. Listagem 3: Criando o arquivo controle.php <?php //utilização de namespaces namespace controle; include 'processaAcesso.php'; use processaAcesso as processaAcesso; $controle = new processaAcessoProcessaAcesso; if ($_POST['enviar']) { $login = $_POST['login']; $senha = md5($_POST['senha']); $usuario = $controle->verificaAcesso($login, $senha); //redirecionando para pagina conforme o tipo do usuário if ($usuario[0]['id_tipo_acesso'] == 1) { header("Location:paginas/pagina1.html"); } else if ($usuario[0]['id_tipo_acesso'] == 2) { header("Location:paginas/pagina2.html"); } } else if ($_POST['cadastrar']) { $login = $_POST['login']; $senha = md5($_POST['senha']); $tipo_usuario = $_POST['tipo_usuario']; $arr = array('login_usuario' => $login, 'senha_usuario' => $senha, 'id_tipo_acesso' => $tipo_usuario); if (!$controle->cadastraUsuario($arr)) { echo 'Aconteceu algum erro'; } else { $tipo_acesso = $controle->verificaAcesso($login, $senha); if ($tipo_acesso[0]['id_tipo_acesso'] == 1) { header("Location:paginas/pagina1.html"); } else if ($tipo_acesso[0]['id_tipo_acesso'] == 2) { header("Location:paginas/pagina2.html"); } } } ?> Agora já sabemos se é uma requisição de login ou é um cadastro de usuário recente. Nosso próximo passo é criar outro controler para inserir novos usuários e para verificar qual
  • 5. o tipo de perfil que o usuário possui. Esse controler conversa diretamente com o controler criado anteriormente (controler.php). Listagem 4: Criando o arquivo processaAcesso.php <?php //utilização de namespaces namespace processaAcesso { include 'conexao/mysql.php'; use Mysql as Mysql; class ProcessaAcesso { var $db; public function __construct() { $conexao = new Mysqlmysql(DB_SERVER, DB_NAME, DB_USERNAME, DB_PASSWORD); $this->db = $conexao; } public function verificaAcesso($login, $senha) { $select = $this->db->select('tb_usuario', '*', " where login_usuario = '$login' and senha_usuario = '$senha'"); return $select; } public function cadastraUsuario($dados){ $insert = $this->db->insert('tb_usuario', $dados); return $insert; } } } ?> Para a lógica da nossa aplicação ficar completa, falta a comunicação com a base de dados correto? Então vamos criar um controle para podermos realizar o CRUD. Listagem 5: Criando o arquivo mysql.php dentro da pasta conexão <?php //utilização de namespaces namespace Mysql { //declaração de variáres globais define('DB_SERVER', 'localhost'); define('DB_NAME', 'acesso'); define('DB_USERNAME', 'root'); define('DB_PASSWORD', '');
  • 6. class mysql { var $db, $conn; public function __construct($server, $database, $username, $password) { $this->conn = mysql_connect($server, $username, $password); $this->db = mysql_select_db($database, $this->conn); } /** * Função de seleção dos registros da tabela * @param string $tabela tabela onde será buscado os registros * @param string $colunas string contendo as colunas separadas por virgula para seleção, se null busca por todas * */ public function select($tabela, $colunas = "*", $where = "1=1") { $sql = "SELECT $colunas FROM $tabela $where"; $result = $this->executar($sql); while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) { $return[] = $row; } return $return; } /** * Função para inserir dados na tabela * @param array $dados Array contendo os dados a serem inseridos * @param string $tabela tabela que será inserido os dados * @return boolean verdadeiro ou falso */ public function insert($tabela, $dados) { foreach ($dados as $key => $value) { $keys[] = $key; $insertvalues[] = ''' . $value . '''; } $keys = implode(',', $keys); $insertvalues = implode(',', $insertvalues); $sql = "INSERT INTO $tabela ($keys) VALUES ($insertvalues)"; return $this->executar($sql); } private function executar($sql) { $return_result = mysql_query($sql, $this->conn); if ($return_result) { return $return_result; } else { $this->sql_error($sql); } }
  • 7. private function sql_error($sql) { echo mysql_error($this->conn) . '<br>'; die('error: ' . $sql); } } } ?> Pronto! Nossa lógica está toda montada. Para verificarmos a diferença dos acessos em relação ao tipo do usuário, vamos criar uma pasta chamada “Paginas” e dentro dela 2 arquivos, um para determinado tipo de usuário e outro para outro tipo. Listagem 6: Criando o arquivo Pagina1.html <!DOCTYPE html> <html> <head> <title></title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> </head> <body> <div>Aqui, conteúdo para o login do tipo "Usuario comum"</div> </body> </html> Listagem 7: Criando o arquivo Pagina2.html <!DOCTYPE html> <html> <head> <title></title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> </head> <body> <div>Aqui, conteúdo para o login do tipo "Adminitrador"</div> </body> </html> O código deste artigo e o script do banco de dados utilizado estão em anexo para melhor aproveitamento. Lembre-se que este controle de usuário é simples, servindo apenas como
  • 8. base, podendo ser aplicadas a ele várias técnicas de controle como mencionado no início deste artigo. Caso tenha dúvidas, criticas ou sugestões, não esqueça de deixar nos comentários. É sempre bom saber o que o leitor acha. Espero que tenham aproveitado e até o próximo artigo.