Buscar

16050514-Apostila-Programacao-PHP-e-MySQL-ExatasWeb-73


Prévia do material em texto

PHP e MySQL 
Cookies e Sessões - Autenticação
Cookies
Você já deve ter vivido essa situação: Você acessa seu perfil em um site de 
relacionamentos e navega por ele por algum tempo. Depois você fecha seu navegador para 
terminar um trabalho que deixou para trás. Logo depois, você entra naquele site de 
relacionamentos novamente e, qual a sua surpresa quando percebe que o site já abre 
diretamente em seu perfil, sem que você precise digitar seu nome de login e sua senha 
novamente. Então você se pergunta: “Como isso é possível?”. A resposta está, 
primeiramente nos cookies. Eles são pequenos arquivos de texto que o próprio PHP grava 
em sua máquina, com informações relevantes para a aplicação (ex: seu login e sua senha, 
para que não tenha que logar-se novamente). Gravar um cookie é uma tarefa muito 
simples, é necessário apenas o uso da seguinte função:
setcookie(“nomedocookie”,”valor a ser gravado”);
Ex: vamos gravar um cookie contendo a data atual:
$datadehoje = date(“d-m-Y”);
setcookie(“datadehoje”,$datadehoje);
Este cookie agora está gravado na máquina do usuário, e contém uma string com a 
data atual. Todos os cookies podem ser acessados através do array superglobal $_COOKIE[] 
da seguinte forma:
$datadehoje = $_COOKIE['datadehoje'];
Para que um cookie seja excluído, basta utilizar novamente a função setcookie(), 
porém sem nenhum valor como conteúdo:
setcookie(“datadehoje”);
Isso fará com que o cookie seja apagado. O uso de cookies pode parecer uma boa 
prática a princípio, mas em muitos casos, os usuários configuram os navegadores para não 
aceitarem cookies, o que dificulta a implementação dos mesmos. 
Sessões
Uma alternativa ao uso de cookies é o uso de sessões. Seu uso é idêntico ao dos 
cookies, porém, os dados não ficam gravados no computador do usuário. Qualquer 
navegador aceita sessão, por isso torna-se uma boa prática criar autenticação utilizando 
sesões. Para criar uma sessão, devemos adicionar em nossos scripts PHP a função 
session_start(). Recomenda-se que ela esteja nas primeiras linhas do script, antes de 
qualquer processamento: 
<?php
session_start();
?>
Para registrar uma sessão, podemos inserir dados diretamente no array superglobal 
$_SESSION[], da seguinte forma:
<?php
session_start();
$_SESSION['login'] = $login;
?>
73
	Aplicações em PHP e MySQL
	Cookies e Sessões - Autenticação
	Cookies
	Sessões

Mais conteúdos dessa disciplina