BANCO DE DADOS PARA WEB PROF. FABIANO TAGUCHI http://fabianotaguchi.wordpress.com fabianotaguchi@gmail.com COOKIES E SESSÃO Se em algum momento for necessário armazenar informações sobre seus usuários enquanto eles navegam em seu website, chega a hora de lidar com cookies ou sessão. COOKIES: Arquivos de texto que podem armazenar informações no computador do usuário. SESSÃO: São recursos que podemos utilizar para manter uma conexão como usuário enquanto ele estiver navegando pelo website. COOKIES E SESSÃO Ousodecookiesesessãopodemservirpara: Autenticação de usuários; Carrinho de compras; Exibição de anúncios de imagens; Personalização de páginas.
COOKIES Umcookieéformadoporumparcomposto deumnomeeumvalor. Podem ser usados em qualquer aplicação que necessite compartilhar dados entre diferentes páginas em dias e horários distintos. No PHP, a função setcookie é usada para manipular cookies no computador de um usuário. PARÂMETROS DA FUNÇÃO PARÂMETROS Nome Valor Validade Caminho Domínio Seguro Somente HTTP DESCRIÇÃO Parâmetro obrigatório. Define o nome do cookie Valor do cookie, se não for fornecido o servidor tenta apaga-lo Define o tempo de validade do cookie no computador do usuário Caminho no servidor na qual o cookie está disponível Domínio para o qual o cookie está disponível Indica a segurança do cookie.se o valor dor 1 será usada uma conexão HTTPS Se for TRUE, o cookie fica disponível apenas para o protocolo HTTP, não sendo acessado por scripts. SETCOOKIE O envio do cookie é a primeira ação a ser feia em uma página. Um exemplo de um cookie é apresentado a seguir: setcookie( nome, Fernanda ); setcookie( nome ); setcookie( nome, Fernanda, ime()+172800);
RECUPERANDO COOKIES Pararecuperarovalordeumcookieusamosoarray $_COOKIE,paraissoo nome do cookie é usado como chave associativa. No exemplo abaixo o cookie foi chamado de user. SETCOOKIE( user, Fabiano ); $_COOKIE[ user ]; CRIANDO UM SISTEMA DE USERNAME E SENHA CRIAÇÃO DO BANCO DE DADOS O nome do banco de dados criado é loja. A tabela deste banco de dados que foi criada é visualizada abaixo.
ARQUIVO login.html PÁGINA LOGIN O próximo passo é criar uma página HTML que irá solicitar que o usuário preencha o seu usernamee a sua senha. Essa página enviará os dados para a página de validação. LOGIN.PHP ARQUIVO login.php PÁGINA DE AUTENTICAÇÃO Após o primeiro acesso do usuário temos então os cookies já armazenados, é preciso que agora a cada página que o usuário acesse, verifique se os cookies existem e se as informações estão corretas. Se um usuário tentar fazer o acesso sem passar pelo login não será validado, por isso esta página valida_cookies.inc, deve ser incluída em todas as demais páginas.
ARQUIVO valida_cookies.inc VALIDANDO OS COOKIES ARQUIVO logout.php PÁGINA DE LOGOUT Basta agora em todas as páginas colocar um link para o arquivo de logout.php PÁGINA INICIAL ARQUIVO pagina_inicial.php Por mais que o usuário tente acessar diretamente esta página, ele não conseguirá sem fazer login devido aos cookies.
UTILIZANDO SESSÕES SESSÃO Umasessãoconsisteem um períodode tempoduranteoqualumapessoa navega pelas páginas de um site. Desta forma, quando um usuário entrar no site, podemos registrar várias variáveis no servidor, que poderão ser acessadas em qualquer página deste site, enquanto a sessão estiver aberta. Cada sessão possui um identificador chamado de session id. CRIANDO UMA SESSÃO A criação de uma sessão é feita através da função session_start. É possível também que uma sessão seja criada de forma automática, para isso é necessário ativar a diretiva session.auto_start do arquivo PHP.ini Uma sessão automática faz com que sempre que um usuário entre no site de forma automática comece a ser registrada a sessão.
REGISTRANDO VARIÁVEIS EM SESSÃO Oregistro deumasessão éfeitaatravésdo array $_SESSION. A operação é idêntica a dos cookies. Vejamos abaixo a criação e registro da sessão. MANIPULANDO UMA SESSÃO ARQUIVO pagina1.php A primeira página serve para criar a sessão, e nesta sessão são armazenadas três variáveis: nome, sobrenome e data. Os dados são enviados para uma próxima página que serão resultados. PÁGINA 2 ARQUIVO pagina2.php Para eliminar uma variável de sessão usamos a função unset($_session[ nome_variável ])
CRIANDO UM SISTEMA COM SESSÃO Usando a mesma ideia do controle por cookies, criaremos um controle de acesso a usuários através de sessão, a estrutura será composta por: Página de login Página de validação dos cookies e de validação de login Página de logout Página inicial PÁGINA PARA LOGIN E VALIDAÇÃO ARQUIVO login_sessão.html ARQUIVO login_sessão.php VALIDAÇÃO DA SESSÃO ARQUIVO valida_sessão.php
ARQUIVO pagina_inicial_sessão.php PÁGINA INICIAL E LOGOUT ARQUIVO logout_sessão.php