Posts Tagged ‘login’

Tutorial - PHP / MySQL - Módulo 02

Temos como objetivo para este módulo a explicação de como fazermos o login no mini-sistema, como sempre gosto de salientar, tenho feito os códigos da maneira mais simples e direta possível, para que o público que considerei como alvo para estes tutoriais, consigam acompanhar, se você já está em um nível um pouco maior e quiser discutir sobre questões de segurança e complexidade do código, fico a disposição também.

A forma que utilizei no exemplo, não é a única à ser utilizada para se efetuar login em php, existem outras como, através da utilização de Cookie.

Segue abaixo o código, e logo em seguida comentários sobre ele.

<?php
session_start();

if($_SERVER['REQUEST_METHOD'] == “POST”) {

$usuario = $_POST["usuario"];
$senha = $_POST["senha"];
8º
if($usuario == “exemplo” && $senha == “xhtml”)  {
10º
11º $_SESSION['usuario'] = $usuario;
12º
13º header(”Location: cadastro.php”);
14º
15º }
16º else {
17º header(”Location: login.php”);
18º }
19º
20º }
21º
22º ?>

Logo na linha 2, temos um dos pontos chaves, a função session_start() inicia uma sessão, mas o que é uma sessão? Segundo o php.net, “Sessões no PHP consiste em uma maneira de preservar certos dados atráves dos acessos subsequentes..”, e com isso conseguimos controlar se o usuário está logado ou não.

A linha 4, serve apenas pra checarmos se a forma de acesso ao arquivo está sendo feita através do método “post”, ou seja, se está sendo acessado após o formulário ter sido submetido.

Linhas 6 e 7, armazenamos nas variáveis os valores digitados nos inputs respectivos.

Linha 9, verificamos se os valores digitados correspondem aos corretos, é neste ponto que fazemos a validação. Fica claro que, por se tratar de um exemplo, esta validação está sendo feita de forma direta, normalmente, se estivessemos tratando de um sistema de uso real, fariamos esta validação, com algumas questões de segurança, além de acesso à um Banco de Dados, e não diretamente por código.

Você ainda verá algo neste sentido aqui nos tutoriais.

Linha 11, aqui setamos a variável global $_SESSION, é com ela que controlaremos certas operações nas outras páginas.

Linha 13, redirecionamos para a página cadastro.php .

Agora, segue abaixo o código para fazermos o logout.

<?php
session_start();

unset($_SESSION);

session_destroy();

header(”Location: login.php”);
?>

Linha 4, destruímos a váriavel em questão.

Linha 6, a funcão session_destroy() destrói todos os dados registrados em uma sessão.

Para conferir como está nosso mini-sistema até o momento:
http://www.andersonarcenio.com/exemplos/tutorial_php_mysql_modulo_2

Para fazer o download do código-fonte.
http://www.andersonarcenio.com/exemplos/tutorial_php_mysql_modulo_2.rar