Pós Graduação Unipê - Desenvolvimento Web com PHP - Aula 2

34
Desenvolvimento Web com PHP Pós-Graduação em Desenvolvimento Web

Transcript of Pós Graduação Unipê - Desenvolvimento Web com PHP - Aula 2

Page 1: Pós Graduação Unipê - Desenvolvimento Web com PHP - Aula 2

Desenvolvimento Web com PHP

Pós-Graduação em Desenvolvimento Web

Page 2: Pós Graduação Unipê - Desenvolvimento Web com PHP - Aula 2

Cookies

Page 3: Pós Graduação Unipê - Desenvolvimento Web com PHP - Aula 2

Cookies

• Frequentemente utilizados para identificar um usuário;

• Trata-se de um pequeno arquivo que o servidor “instala” no computador do usuário;

• Cada vez que este computador efetuar uma requisição pelo browser, ele também enviará o cookie ao servidor;

Page 4: Pós Graduação Unipê - Desenvolvimento Web com PHP - Aula 2

Criando um Cookie

Page 5: Pós Graduação Unipê - Desenvolvimento Web com PHP - Aula 2

Criando um Cookie

• A função setcookie() é utilizada para setar um cookie;

5

<?php

setcookie(nome, valor, expira, path, domain);

// corpo do script

?>

Page 6: Pós Graduação Unipê - Desenvolvimento Web com PHP - Aula 2

Criando um Cookie

• Exemplo:

6

<?php

setcookie(“usuario”, “Maria”, time() + (7 * 24 * 60 * 60));

// O cookie irá expirar em 7 dias, 24 horas, 60 // minutos e 60 segundos (próxima semana) ?>

Page 7: Pós Graduação Unipê - Desenvolvimento Web com PHP - Aula 2

Obtendo o Valor de um Cookie

Page 8: Pós Graduação Unipê - Desenvolvimento Web com PHP - Aula 2

Obtendo o Valor de um Cookie

• A variável $_COOKIE é utilizada para receber o valor de um Cookie. Exemplo:

8

<?php

echo $_COOKIE[“usuario”];

?>

Page 9: Pós Graduação Unipê - Desenvolvimento Web com PHP - Aula 2

Excluindo um Cookie

Page 10: Pós Graduação Unipê - Desenvolvimento Web com PHP - Aula 2

Excluindo um Cookie

• Para excluir um Cookie, devemos assegurar que o tempo de expiração foi atingido. Exemplo:

10

<?php

// “Forçando” a expiração de um Cookiesetcookie(“usuario”, “Maria”, time()-

(7 * 24 * 60 * 60));

?>

Page 11: Pós Graduação Unipê - Desenvolvimento Web com PHP - Aula 2

Exercício

Page 12: Pós Graduação Unipê - Desenvolvimento Web com PHP - Aula 2

Exercício

• Etapa 1 – Preparação do Domínio

Crie uma pasta em htdocs chamada cookies;

12

Page 13: Pós Graduação Unipê - Desenvolvimento Web com PHP - Aula 2

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 o time que torce; 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 index.html;

13

Page 14: Pós Graduação Unipê - Desenvolvimento Web com PHP - Aula 2

Exercício

• Etapa 3 – Criação do script cria_cookies.php na 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? Pesquise!);

14

Page 15: Pós Graduação Unipê - Desenvolvimento Web com PHP - Aula 2

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 “_________ torce para o _________”;

15

Page 16: Pós Graduação Unipê - Desenvolvimento Web com PHP - Aula 2

Exercício

• Etapa 5 – Testar a aplicação

Abra o navegador de sua preferência e acesse: http://localhost/cookies ou http://127.0.0.1/cookies

OBS.: Verifique se o servidor Apache do Xampp está ativo! Digite seu nome e seu time para testar a

aplicação;

16

Page 17: Pós Graduação Unipê - Desenvolvimento Web com PHP - Aula 2

Variáveis de Sessão

Page 18: Pós Graduação Unipê - Desenvolvimento Web com PHP - Aula 2

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 19: Pós Graduação Unipê - Desenvolvimento Web com PHP - Aula 2

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 20: Pós Graduação Unipê - Desenvolvimento Web com PHP - Aula 2

Iniciando uma Sessão PHP

Page 21: Pós Graduação Unipê - Desenvolvimento Web com PHP - Aula 2

Iniciando uma Sessão PHP

• Antes de armazenar informações de sessão, você deverá iniciá-la;

21

<?php

session_start();

// corpo do script

?>

Page 22: Pós Graduação Unipê - Desenvolvimento Web com PHP - Aula 2

Criando uma Variável de Sessão

Page 23: Pós Graduação Unipê - Desenvolvimento Web com PHP - Aula 2

Criando uma Variável de Sessão

• Para declarar, atribuir e obter variáveis de sessão, deveremos utilizar a variável $_SESSION;

23

<?php

session_start();

$_SESSION[‘nome’] = “Thyago”;$_SESSION[‘codigo’] = 1;

?>

Page 24: Pós Graduação Unipê - Desenvolvimento Web com PHP - Aula 2

Excluindo uma Sessão

Page 25: Pós Graduação Unipê - Desenvolvimento Web com PHP - Aula 2

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()

25

<?phpunset($_SESSION[‘nome’]);

?>

<?phpsession_destroy();

?>

Page 26: Pós Graduação Unipê - Desenvolvimento Web com PHP - Aula 2

Exercício

Page 27: Pós Graduação Unipê - Desenvolvimento Web com PHP - Aula 2

Exercício

• Etapa 1 – Preparação do Domínio

Crie uma pasta em htdocs chamada sessoes;

27

Page 28: Pós Graduação Unipê - Desenvolvimento Web com PHP - Aula 2

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 index.html;

28

Page 29: Pós Graduação Unipê - Desenvolvimento Web com PHP - Aula 2

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 (pesquise uma função para isso);

29

Page 30: Pós Graduação Unipê - Desenvolvimento Web com PHP - Aula 2

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 uma imagem (escolha uma imagem de sua preferência);

– Caso contrário, o script deverá redirecionar o usuário para a página index.html;

30

Page 31: Pós Graduação Unipê - Desenvolvimento Web com PHP - Aula 2

Exercício

• Etapa 5 – Testar a aplicação

Abra o navegador de sua preferência e acesse: http://localhost/sessoes ou http://127.0.0.1/sessoes

OBS.: Verifique se o servidor Apache do Xampp está ativo! Tente acessar a página restrita;

31

Page 32: Pós Graduação Unipê - Desenvolvimento Web com PHP - Aula 2

Envio de E-mails via PHP

Page 33: Pós Graduação Unipê - Desenvolvimento Web com PHP - Aula 2

Envio de E-mails via PHP

mail: Envia um e-mail de acordo com as configurações SMTP do servidor;

OBS.: Em caráter de testes, todos os e-mails enviados pelo Xampp são armazenados na pasta xampp/mailoutput;

33

mail (destino, assunto, corpo) Parâmetros Descrição

destino Endereço de e-mail do destinoassunto Assunto do e-mailcorpo Corpo do e-mail

Page 34: Pós Graduação Unipê - Desenvolvimento Web com PHP - Aula 2

Manipulação de Arquivos

mail – Exemplo:

34

<?php

$assunto = "Olá!";

$para = "[email protected]";

$corpo = "Teste de envio de e-mail";

if(mail($para, $assunto, $corpo))echo 'E-mail enviado com sucesso';

elseecho 'E-mail não enviado';

?>