josé francisco [[email protected]] php & mysql. os slides originais são parte do material de...

25
José Francisco [[email protected]] PHP & MySQL

Upload: internet

Post on 22-Apr-2015

109 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: José Francisco [jfp@cin.ufpe.br] PHP & MySQL. Os slides originais são parte do material de cursos anteriores do curso de PHP, ministrados por Sérgio Clemente

José Francisco [[email protected]]

PHP & MySQL

Page 2: José Francisco [jfp@cin.ufpe.br] PHP & MySQL. Os slides originais são parte do material de cursos anteriores do curso de PHP, ministrados por Sérgio Clemente

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.

Page 3: José Francisco [jfp@cin.ufpe.br] PHP & MySQL. Os slides originais são parte do material de cursos anteriores do curso de PHP, ministrados por Sérgio Clemente

Roteiro

Enviando e-mail Cookies Sessões

Page 4: José Francisco [jfp@cin.ufpe.br] PHP & MySQL. Os slides originais são parte do material de cursos anteriores do curso de PHP, ministrados por Sérgio Clemente

Enviando e-mail

Retorna true se o email foi enviado, false caso contrário.

Exemplo:

bool mail ( string para, string assunto, string mensagem [, string cabecalhos_adicionais])

mail("[email protected]", "Assunto", "Ae mermao blz?");

Page 5: José Francisco [jfp@cin.ufpe.br] PHP & MySQL. Os slides originais são parte do material de cursos anteriores do curso de PHP, ministrados por Sérgio Clemente

Enviando Email

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

Page 6: José Francisco [jfp@cin.ufpe.br] PHP & MySQL. Os slides originais são parte do material de cursos anteriores do curso de PHP, ministrados por Sérgio Clemente

Criando uma função mail

Criando uma função mail<?php     function enviarEmail($de, $para, $assunto, $corpo) {             mail($para, $assunto, $corpo, "From: $de\r\nReply-To: $de") or die('Erro ao enviar email');     } ?>

Page 7: José Francisco [jfp@cin.ufpe.br] PHP & MySQL. Os slides originais são parte do material de cursos anteriores do curso de PHP, ministrados por Sérgio Clemente

Exercitando Faça o exercício 18.

Page 8: José Francisco [jfp@cin.ufpe.br] PHP & MySQL. Os slides originais são parte do material de cursos anteriores do curso de PHP, ministrados por Sérgio Clemente

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

Cookie:[email protected]

Page 9: José Francisco [jfp@cin.ufpe.br] PHP & MySQL. Os slides originais são parte do material de cursos anteriores do curso de PHP, ministrados por Sérgio Clemente

Cookies

Set-Cookie: Ocupacao=estudante

Ocupacao estudante

Cookie: Ocupacao=estudante www.google.com

Cookie:google.com

Resposta

Requisição

$_COOKIE['Ocupacao'] == "estudante";

Page 10: José Francisco [jfp@cin.ufpe.br] PHP & MySQL. Os slides originais são parte do material de cursos anteriores do curso de PHP, ministrados por Sérgio Clemente

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.

Page 11: José Francisco [jfp@cin.ufpe.br] PHP & MySQL. Os slides originais são parte do material de cursos anteriores do curso de PHP, ministrados por Sérgio Clemente

Cookies

Enviando um cookie ao cliente

bool setcookie ( string nome [, string valor [, int tempoExpiracao]])

Nome : nome do cookieValor: valor do cookie TempoExpiracao: tempo de vida do cookie

Precisam ser chamados antes de qualquer informaçãoseja impressa na tela. (Pois são enviados no cabeçalho do HTTP)

Page 12: José Francisco [jfp@cin.ufpe.br] PHP & MySQL. Os slides originais são parte do material de cursos anteriores do curso de PHP, ministrados por Sérgio Clemente

Cookies – Protocolo HTTP

HTTP/1.1 200 OKContent-Type: text/htmlContent-Length: 1354Set-Cookie: Ocupacao=estudante

<html><body><h1>Curso de PHP</h1>...</body></html>

GET /index.html HTTP/1.1 From: [email protected]: IE/5.0 Cookie: Ocupacao=estudante

RespostaRequisição

Page 13: José Francisco [jfp@cin.ufpe.br] PHP & MySQL. Os slides originais são parte do material de cursos anteriores do curso de PHP, ministrados por Sérgio Clemente

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 */ ?>

Page 14: José Francisco [jfp@cin.ufpe.br] PHP & MySQL. Os slides originais são parte do material de cursos anteriores do curso de PHP, ministrados por Sérgio Clemente

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:

<?php     if (isset($_COOKIE['Ocupacao']) && $_COOKIE['Ocupacao'] == "estudante") {         enviarSpam();     } else {         efetuarDesconto();     } ?>

Page 15: José Francisco [jfp@cin.ufpe.br] PHP & MySQL. Os slides originais são parte do material de cursos anteriores do curso de PHP, ministrados por Sérgio Clemente

Exercitando

Faça o Exercícios 19.

Page 16: José Francisco [jfp@cin.ufpe.br] PHP & MySQL. Os slides originais são parte do material de cursos anteriores do curso de PHP, ministrados por Sérgio Clemente

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.

Page 17: José Francisco [jfp@cin.ufpe.br] PHP & MySQL. Os slides originais são parte do material de cursos anteriores do curso de PHP, ministrados por Sérgio Clemente

Sessõessession_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.

Page 18: José Francisco [jfp@cin.ufpe.br] PHP & MySQL. Os slides originais são parte do material de cursos anteriores do curso de PHP, ministrados por Sérgio Clemente

Sessões

Guardando pares nome, valor na variável de sessão.

<?php     session_start();

    $_SESSION['nome'] = "José"; // Manda setar a variável?>

Page 19: José Francisco [jfp@cin.ufpe.br] PHP & MySQL. Os slides originais são parte do material de cursos anteriores do curso de PHP, ministrados por Sérgio Clemente

Sessões

setCookie("PHPSESSID", "43b");

PHPSESSID 43b

www.google.com

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

Page 20: José Francisco [jfp@cin.ufpe.br] PHP & MySQL. Os slides originais são parte do material de cursos anteriores do curso de PHP, ministrados por Sérgio Clemente

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 */ ?>

Page 21: José Francisco [jfp@cin.ufpe.br] PHP & MySQL. Os slides originais são parte do material de cursos anteriores do curso de PHP, ministrados por Sérgio Clemente

Cookies x Sessões

Cookies SessõesNecessita 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 email de usuários quando

os mesmo efetuam logon.

Cookies “vivem” por mais tempo A Sessão “morre” quando você fecha o browser.

Page 22: José Francisco [jfp@cin.ufpe.br] PHP & MySQL. Os slides originais são parte do material de cursos anteriores do curso de PHP, ministrados por Sérgio Clemente

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,

email,...) enquanto estiver checando email, ou comprando alguma coisa em um site.

Page 23: José Francisco [jfp@cin.ufpe.br] PHP & MySQL. Os slides originais são parte do material de cursos anteriores do curso de PHP, ministrados por Sérgio Clemente

Referências

Exemplos de códigos e tutoriais: http://www.phpbuilder.com/

Site oficial: http://www.php.net

Exemplo de códigos: http://www.scriptbrasil.com.br/

W3 Schools: http://www.w3schools.com

Page 24: José Francisco [jfp@cin.ufpe.br] PHP & MySQL. Os slides originais são parte do material de cursos anteriores do curso de PHP, ministrados por Sérgio Clemente

Dúvidas??

Page 25: José Francisco [jfp@cin.ufpe.br] PHP & MySQL. Os slides originais são parte do material de cursos anteriores do curso de PHP, ministrados por Sérgio Clemente

PHP & MySQL

José Francisco [[email protected]]