José Francisco PHP & MySQL
Os slides originais são parte do material de cursos anteriores do curso de PHP, ministrados por Sérgio Clemente. Com modificações! Também possui a contribuição de Cleviton V. F. Monteiro. Conteúdo didático é baseado em diversas fontes como: tutoriais, livros e o site oficial de PHP. Inspirado também em slides de Jobson Ronan, instrutor de Java Avançado do CITi.
Roteiro Enviando Cookies Sessões
Enviando Retorna true se o foi enviado, false caso contrário. Exemplo: bool mail ( string para, string assunto, string mensagem [, string cabecalhos_adicionais]) "Assunto", "Ae mermao blz?");
Enviando para : Nome do(s) destinatario(s). assunto : Assunto da mensagem. mensagem : Corpo da mensagem. Cabeçalhos adicionais : From BCC Reply-to Content-Type X-mailer
Criando uma função mail
Exercitando Faça o exercício 18.
Cookies Informações que ficam armazenadas no cliente. Tem a forma nome, valor. O Servidor manda armazenar no cliente para num futuro reavê-la. Ocupacao estudante
Cookies Set-Cookie: Ocupacao=estudante Ocupacao estudante Cookie: Ocupacao=estudante Cookie:google.com Resposta Requisição $_COOKIE['Ocupacao'] == "estudante";
Cookies Os cookies trafegam no cabeçalho http. Cookies deixam a requisição maior, pois o cliente além da requisição manda os cookies daquele site. Permite a customização do site.
Cookies Enviando um cookie ao cliente bool setcookie ( string nome [, string valor [, int tempoExpiracao]]) Nome : nome do cookie Valor: valor do cookie TempoExpiracao: tempo de vida do cookie Precisam ser chamados antes de qualquer informação seja impressa na tela. (Pois são enviados no cabeçalho do HTTP)
Cookies – Protocolo HTTP HTTP/ OK Content-Type: text/html Content-Length: 1354 Set-Cookie: Ocupacao=estudante Curso de PHP... GET /index.html HTTP/1.1 From: User-Agent: IE/5.0 Cookie: Ocupacao=estudante Resposta Requisição
Cookies Exemplos: <?php $value = ‘aluno'; setcookie ("Ocupacao", $value); /*expira no final da sessão (Quando o browser fechar)*/ setcookie ("Ocupacao", $value,time()+3600); /* expira em uma hora */ ?>
Cookies Quando um cliente requisita uma página na web, ele manda na requisição os cookies, as quais serão elementos da variável super global $_COOKIE. No exemplo anterior seria:
Exercitando Faça o Exercícios 19.
Sessões Pares nome, valor que o programa armazena no servidor, associados a um cliente que podem ser recuperados mais tarde. Permite manter o estado entre as páginas. Semelhante ao cookie, porém reduz o tamanho da requisição, pois apenas um identificador da sessão trafega na web.
Sessões session_start(); Cria uma sessão ou resume a sessão atual baseada numa id de sessão sendo passada via um cookie ou uma variável GET. Essa função deve ser chamada antes de qualquer informação seja impressa na tela.
Sessões Guardando pares nome, valor na variável de sessão. <?php session_start(); $_SESSION['nome'] = "José"; // Manda setar a variável ?>
Sessões setCookie("PHPSESSID", "43b"); PHPSESSID 43b Cookie:google.com session_start(); $_SESSION['nome'] = "José"; Arquivo: sess_43b Cookie: PHPSESSID=43b Gera um número aleatório por exemplo ‘43b’. Nome José Requisição
Sessões Obtendo valores de volta <?php session_start(); // precisa ser chamada antes. echo "Seu nome é". $_SESSION['nome']; /* recupera o valor que veio junto com a requisição */ ?>
Cookies x Sessões CookiesSessões Necessita ficar trafegando junto com a requisição. Apenas a Id do cliente trafega junto com a requisição. Toda a informação reside em um arquivo no servidor. O cliente pode não aceitar cookie.Caso o cliente não aceite cookie, a id do cliente pode trafegar via um campo get. Evite utilizar cookies quando informações confidencias estiverem em jogo. Sessões são ideais para armazenar login, senha e de usuários quando os mesmo efetuam logon. Cookies “vivem” por mais tempoA Sessão “morre” quando você fecha o browser.
Aplicações Cookie Evitar que um usuário vote mais de uma vez. Contador de acessos do usuário. Sessões Armazenar informações do usuário (login, senha, ,...) enquanto estiver checando , ou comprando alguma coisa em um site.
Referências Exemplos de códigos e tutoriais: Site oficial: Exemplo de códigos: W3 Schools:
Dúvidas??
PHP & MySQL José Francisco