php aula 05 - e-mails, cookies e sessoes
TRANSCRIPT
![Page 1: PHP Aula 05 - E-mails, Cookies e Sessoes](https://reader031.vdocuments.com.br/reader031/viewer/2022030202/58a753f91a28ab9f5a8b6949/html5/thumbnails/1.jpg)
Programação Dinâmica para Web
E-mails, Cookies e Sessões
www.DanielBrandao.com.br
![Page 2: PHP Aula 05 - E-mails, Cookies e Sessoes](https://reader031.vdocuments.com.br/reader031/viewer/2022030202/58a753f91a28ab9f5a8b6949/html5/thumbnails/2.jpg)
Envio de E-mails via PHP
![Page 3: PHP Aula 05 - E-mails, Cookies e Sessoes](https://reader031.vdocuments.com.br/reader031/viewer/2022030202/58a753f91a28ab9f5a8b6949/html5/thumbnails/3.jpg)
Envio de E-mails via PHP
mail: Envia um e-mail de acordo com as configurações SMTP do servidor;
OBS.: Para o envio, deve haver no servidor a configuração do serviço SMTP. Do contrário o envio não será possível.
3
mail (destino, assunto, corpo)
Parâmetros Descrição
destino Endereço de e-mail do destino
assunto Assunto do e-mail
corpo Corpo do e-mail
![Page 4: PHP Aula 05 - E-mails, Cookies e Sessoes](https://reader031.vdocuments.com.br/reader031/viewer/2022030202/58a753f91a28ab9f5a8b6949/html5/thumbnails/4.jpg)
Manipulação de Arquivos
Função mail() – Exemplo:
4
![Page 5: PHP Aula 05 - E-mails, Cookies e Sessoes](https://reader031.vdocuments.com.br/reader031/viewer/2022030202/58a753f91a28ab9f5a8b6949/html5/thumbnails/5.jpg)
Cookies
![Page 6: PHP Aula 05 - E-mails, Cookies e Sessoes](https://reader031.vdocuments.com.br/reader031/viewer/2022030202/58a753f91a28ab9f5a8b6949/html5/thumbnails/6.jpg)
Cookies
• Frequentemente utilizados para identificar um usuário, trata-se de um pequeno arquivo texto que o servidor “instala” no computador do usuário;
• Cada vez que este computador efetuar uma requisição pelo navegador, ele também enviará o cookie ao servidor;
![Page 7: PHP Aula 05 - E-mails, Cookies e Sessoes](https://reader031.vdocuments.com.br/reader031/viewer/2022030202/58a753f91a28ab9f5a8b6949/html5/thumbnails/7.jpg)
Cookies
• Utilidades práticas de Cookies e Sessões:
– Autenticação de usuários;
– Carrinho de compras;
– Exibição de anúncios ou imagens;
– Personalização de Páginas.
![Page 8: PHP Aula 05 - E-mails, Cookies e Sessoes](https://reader031.vdocuments.com.br/reader031/viewer/2022030202/58a753f91a28ab9f5a8b6949/html5/thumbnails/8.jpg)
Criando um Cookie
![Page 9: PHP Aula 05 - E-mails, Cookies e Sessoes](https://reader031.vdocuments.com.br/reader031/viewer/2022030202/58a753f91a28ab9f5a8b6949/html5/thumbnails/9.jpg)
Criando um Cookie
• A função setcookie() é utilizada para setar um cookie. Sua sintaxe é simples e segue essa estrutura:
10
![Page 10: PHP Aula 05 - E-mails, Cookies e Sessoes](https://reader031.vdocuments.com.br/reader031/viewer/2022030202/58a753f91a28ab9f5a8b6949/html5/thumbnails/10.jpg)
Criando um Cookie
• Exemplo:
11
![Page 11: PHP Aula 05 - E-mails, Cookies e Sessoes](https://reader031.vdocuments.com.br/reader031/viewer/2022030202/58a753f91a28ab9f5a8b6949/html5/thumbnails/11.jpg)
Obtendo o Valor de um Cookie
![Page 12: PHP Aula 05 - E-mails, Cookies e Sessoes](https://reader031.vdocuments.com.br/reader031/viewer/2022030202/58a753f91a28ab9f5a8b6949/html5/thumbnails/12.jpg)
Obtendo o Valor de um Cookie
• A variável superglobal $_COOKIE é utilizada para receber o valor de um Cookie. Exemplo:
13
![Page 13: PHP Aula 05 - E-mails, Cookies e Sessoes](https://reader031.vdocuments.com.br/reader031/viewer/2022030202/58a753f91a28ab9f5a8b6949/html5/thumbnails/13.jpg)
Excluindo um Cookie
![Page 14: PHP Aula 05 - E-mails, Cookies e Sessoes](https://reader031.vdocuments.com.br/reader031/viewer/2022030202/58a753f91a28ab9f5a8b6949/html5/thumbnails/14.jpg)
Excluindo um Cookie
• Para excluir um Cookie, podemos fazer de duas maneiras.
1) Assegurar que o tempo de expiração foi atingido. Exemplo:
15
![Page 15: PHP Aula 05 - E-mails, Cookies e Sessoes](https://reader031.vdocuments.com.br/reader031/viewer/2022030202/58a753f91a28ab9f5a8b6949/html5/thumbnails/15.jpg)
Excluindo um Cookie
• Para excluir um Cookie, podemos fazer de duas maneiras.
2) Executar apenas o parâmetro nome. Exemplo:
16
![Page 16: PHP Aula 05 - E-mails, Cookies e Sessoes](https://reader031.vdocuments.com.br/reader031/viewer/2022030202/58a753f91a28ab9f5a8b6949/html5/thumbnails/16.jpg)
Exercício 1
![Page 17: PHP Aula 05 - E-mails, Cookies e Sessoes](https://reader031.vdocuments.com.br/reader031/viewer/2022030202/58a753f91a28ab9f5a8b6949/html5/thumbnails/17.jpg)
Exercício 1
• Etapas 1:
– Crie uma pasta chamada cookies no diretório raiz (htdocs) ;
18
![Page 18: PHP Aula 05 - E-mails, Cookies e Sessoes](https://reader031.vdocuments.com.br/reader031/viewer/2022030202/58a753f91a28ab9f5a8b6949/html5/thumbnails/18.jpg)
Exercício
• Etapa 2 – Criação de um formulário HTML
Crie uma página HTML com um formulário, onde o usuário deverá digitar seu nome e a cidade que nasceu;
Método de envio: GET;
Os dados deverão ser submetidos para o script “cria_cookies.php”;
Salve o documento HTML na pasta cookies com o nome formulario.html;
19
![Page 19: PHP Aula 05 - E-mails, Cookies e Sessoes](https://reader031.vdocuments.com.br/reader031/viewer/2022030202/58a753f91a28ab9f5a8b6949/html5/thumbnails/19.jpg)
Exercício
• Etapa 3 – Criação do script cria_cookies.phpna pasta cookies
– O script deverá receber os dados submetidos pelo formulário HTML anterior;
– Armazenar cada dado em um Cookie;
– Redirecionar o usuário para o script mensagem.php (Como fazer isso? Usando HTML? Usando PHP?);
20
![Page 20: PHP Aula 05 - E-mails, Cookies e Sessoes](https://reader031.vdocuments.com.br/reader031/viewer/2022030202/58a753f91a28ab9f5a8b6949/html5/thumbnails/20.jpg)
Exercício
• Etapa 4 – Criação do script mensagem.php na pasta cookies
– O script deverá receber os dados armazenados em cookies pelo script anterior e exibir a frase:
“_________ nasceu em _________”;
21
![Page 21: PHP Aula 05 - E-mails, Cookies e Sessoes](https://reader031.vdocuments.com.br/reader031/viewer/2022030202/58a753f91a28ab9f5a8b6949/html5/thumbnails/21.jpg)
Exercício
• Etapa 5 – Testar a aplicação
Abra um navegador e acesse o arquivo formulario.html criado;
Digite seu nome e a cidade que você nasceu para testar a aplicação;
Verifique se o retorno foi igual aos valores digitados no formulário.
22
![Page 22: PHP Aula 05 - E-mails, Cookies e Sessoes](https://reader031.vdocuments.com.br/reader031/viewer/2022030202/58a753f91a28ab9f5a8b6949/html5/thumbnails/22.jpg)
Variáveis de Sessão
![Page 23: PHP Aula 05 - E-mails, Cookies e Sessoes](https://reader031.vdocuments.com.br/reader031/viewer/2022030202/58a753f91a28ab9f5a8b6949/html5/thumbnails/23.jpg)
Variáveis de Sessão
• São usadas para armazenar informações do usuário no servidor para uso posterior. Exemplos:
– Nome de Usuário;
– Itens de um carrinho de compras;
• Tais variáveis estão disponíveis para todas as páginas da aplicação;
![Page 24: PHP Aula 05 - E-mails, Cookies e Sessoes](https://reader031.vdocuments.com.br/reader031/viewer/2022030202/58a753f91a28ab9f5a8b6949/html5/thumbnails/24.jpg)
Variáveis de Sessão
• Informações de sessão são temporárias!
– Serão excluídas quando o usuário deixar o site/sistema;
• Sessões trabalham com a criação de um ID único (UID) para cada visitante e armazena variáveis baseadas nessas IDs;
![Page 25: PHP Aula 05 - E-mails, Cookies e Sessoes](https://reader031.vdocuments.com.br/reader031/viewer/2022030202/58a753f91a28ab9f5a8b6949/html5/thumbnails/25.jpg)
Iniciando uma Sessão PHP
![Page 26: PHP Aula 05 - E-mails, Cookies e Sessoes](https://reader031.vdocuments.com.br/reader031/viewer/2022030202/58a753f91a28ab9f5a8b6949/html5/thumbnails/26.jpg)
Iniciando uma Sessão PHP
• Antes de armazenar informações de sessão, você deverá iniciá-la;
27
![Page 27: PHP Aula 05 - E-mails, Cookies e Sessoes](https://reader031.vdocuments.com.br/reader031/viewer/2022030202/58a753f91a28ab9f5a8b6949/html5/thumbnails/27.jpg)
Criando uma Variável de Sessão
![Page 28: PHP Aula 05 - E-mails, Cookies e Sessoes](https://reader031.vdocuments.com.br/reader031/viewer/2022030202/58a753f91a28ab9f5a8b6949/html5/thumbnails/28.jpg)
Criando uma Variável de Sessão
• Para declarar, atribuir e obter variáveis de sessão, deveremos utilizar a variável superglobal $_SESSION;
29
![Page 29: PHP Aula 05 - E-mails, Cookies e Sessoes](https://reader031.vdocuments.com.br/reader031/viewer/2022030202/58a753f91a28ab9f5a8b6949/html5/thumbnails/29.jpg)
Excluindo uma Sessão
![Page 30: PHP Aula 05 - E-mails, Cookies e Sessoes](https://reader031.vdocuments.com.br/reader031/viewer/2022030202/58a753f91a28ab9f5a8b6949/html5/thumbnails/30.jpg)
Excluindo uma Sessão
• Para excluir uma variável de sessão, utilizamos a função unset();
• Para excluir todas as variáveis de sessão, utilizamos a função session_destroy()
31
![Page 31: PHP Aula 05 - E-mails, Cookies e Sessoes](https://reader031.vdocuments.com.br/reader031/viewer/2022030202/58a753f91a28ab9f5a8b6949/html5/thumbnails/31.jpg)
Exercício 2
![Page 32: PHP Aula 05 - E-mails, Cookies e Sessoes](https://reader031.vdocuments.com.br/reader031/viewer/2022030202/58a753f91a28ab9f5a8b6949/html5/thumbnails/32.jpg)
Exercício 2
• Etapa 1 – Preparação do Domínio
Crie uma pasta em htdocs chamada sessoes;
33
![Page 33: PHP Aula 05 - E-mails, Cookies e Sessoes](https://reader031.vdocuments.com.br/reader031/viewer/2022030202/58a753f91a28ab9f5a8b6949/html5/thumbnails/33.jpg)
Exercício
• Etapa 2 – Criação de um formulário HTML
Crie um formulário HTML que permita ao usuário digitar seu login e senha;
Método de envio: POST;
Os dados deverão ser submetidos para o script “checa_login.php”;
Salve o documento HTML na pasta sessoes com o nome formulario.html;
34
![Page 34: PHP Aula 05 - E-mails, Cookies e Sessoes](https://reader031.vdocuments.com.br/reader031/viewer/2022030202/58a753f91a28ab9f5a8b6949/html5/thumbnails/34.jpg)
Exercício
• Etapa 3 – Criação do script checa_login.php O script deverá inicialmente receber o login e senha
submetidos na etapa anterior e checar se o login e a senha estão corretos; Considere que o login padrão do sistema seja aula e a senha seja
php;
Caso o usuário tenha o acesso confirmado, o script deverá criar a variável de sessão logou, atribuindo a mesma o valor 1;
Caso contrário, o script deverá atribuir o valor 0 para a variável de sessão logou;
Logo em seguida, o script deverá redirecionar o usuário para o script principal.php (função header);
35
![Page 35: PHP Aula 05 - E-mails, Cookies e Sessoes](https://reader031.vdocuments.com.br/reader031/viewer/2022030202/58a753f91a28ab9f5a8b6949/html5/thumbnails/35.jpg)
Exercício
• Etapa 4 – Criação do script principal.php na pasta sessoes
– O script deverá checar se o usuário tem permissão para acessá-lo (checar se a variável de sessão logou é igual a 1) ;
– Caso o usuário tenha permissão, o script deverá exibir a frase “Bem-vindo ao Sistema”;
– Caso contrário, o script deverá redirecionar o usuário para a página formulario.html;
36
![Page 36: PHP Aula 05 - E-mails, Cookies e Sessoes](https://reader031.vdocuments.com.br/reader031/viewer/2022030202/58a753f91a28ab9f5a8b6949/html5/thumbnails/36.jpg)
Exercício
• Etapa 5 – Testar a aplicação
Abra um navegador e acesse formulário.html na pasta sessoes;
Insira Usuario e Senha e tente logar;
Deu certo?
37
![Page 37: PHP Aula 05 - E-mails, Cookies e Sessoes](https://reader031.vdocuments.com.br/reader031/viewer/2022030202/58a753f91a28ab9f5a8b6949/html5/thumbnails/37.jpg)
EXTRA:A função include()
![Page 38: PHP Aula 05 - E-mails, Cookies e Sessoes](https://reader031.vdocuments.com.br/reader031/viewer/2022030202/58a753f91a28ab9f5a8b6949/html5/thumbnails/38.jpg)
A função include()
• Podemos inserir o conteúdo de um arquivo PHP em outro arquivo PHP antes que o servidor os execute;
• Através desta função, podemos criar arquivos PHP que podem ser reusados por outros arquivos, evitando repetição de codificação;
• Desta forma, podemos criar arquivos PHP que contém funções ou trechos de código que se repetem com frequência;
![Page 39: PHP Aula 05 - E-mails, Cookies e Sessoes](https://reader031.vdocuments.com.br/reader031/viewer/2022030202/58a753f91a28ab9f5a8b6949/html5/thumbnails/39.jpg)
A função include()
• A função include() obtém todo o conteúdo de um arquivo específico e o inclui no arquivo que invocou a função;
• Se um erro ocorrer (ex.: o arquivo indicado na função não existir), tal função irá gerar uma mensagem de advertência, mas o script continuará sua execução;
![Page 40: PHP Aula 05 - E-mails, Cookies e Sessoes](https://reader031.vdocuments.com.br/reader031/viewer/2022030202/58a753f91a28ab9f5a8b6949/html5/thumbnails/40.jpg)
A função include()
• Ex. - Script PHP que calcula a soma de dois números (funcoes.php):
<?php
function soma($num1, $num2)
{
$resultado = $num1 + $num2;
return $resultado;
}
?>
![Page 41: PHP Aula 05 - E-mails, Cookies e Sessoes](https://reader031.vdocuments.com.br/reader031/viewer/2022030202/58a753f91a28ab9f5a8b6949/html5/thumbnails/41.jpg)
A função include()
• Ex. - Arquivo PHP que invoca o arquivo funcoes.php e calcula a soma de dois números (calcula.php):
<?php
include(“funcoes.php”);
soma(4,7);
?>
![Page 42: PHP Aula 05 - E-mails, Cookies e Sessoes](https://reader031.vdocuments.com.br/reader031/viewer/2022030202/58a753f91a28ab9f5a8b6949/html5/thumbnails/42.jpg)
A função include()
• Tente fazer testes e pesquise mais sobre esta função específica.
• Pesquise também sobre a função Require(), que tem objetivo semelhante.
![Page 43: PHP Aula 05 - E-mails, Cookies e Sessoes](https://reader031.vdocuments.com.br/reader031/viewer/2022030202/58a753f91a28ab9f5a8b6949/html5/thumbnails/43.jpg)
OBSERVAÇÃO
• Lembre-se que esses dois exercícios farão parte da lista de exercícios finais a ser entregue no final do 2º Estágio.