Programção PHP

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    1 Favorite

    Programção PHP - Presentation Transcript

    1. Aplicações WEB com PHP Desenvolvimento de Aplicações para WEB com PHP e MySQL Por Tadeu Ferreira Oliveira 1 Desenvolvimento de Aplicações para WEB com PHP/MYSQL - Tadeu Ferreira Oliveira - 2007
    2. Conteúdo Programático ■ A Linguagem PHP ■ Programando em PHP ■ Banco de Dados ■ Segurança 2 Desenvolvimento de Aplicações para WEB com PHP/MYSQL - Tadeu Ferreira Oliveira - 2007
    3. A linguagem PHP ■ Porque PHP? ■ O conjunto LAMP (Linux Apache Mysql PHP) ■ Requisição HTTP e Respostas ■ Os Métodos GET e POST ■ Scripts de Cliente e Scripts de Servidor ■ Hello World! 3 Desenvolvimento de Aplicações para WEB com PHP/MYSQL - Tadeu Ferreira Oliveira - 2007
    4. Programando em PHP ■ Sintaxe ■ Variáveis ■ Obtendo dados de uma página HTML ■ Vetores ■ Repetição ■ Condicionais (if e switch) ■ Funções ■ Classes ■ Exemplos ■ Delimitando código PHP dentro do HTML 4 Desenvolvimento de Aplicações para WEB com PHP/MYSQL - Tadeu Ferreira Oliveira - 2007
    5. Banco de Dados ■ Conexão com o banco de Dados ■ Executando uma query de consulta ■ Obtendo o resultado ■ Formas de obtenção do resultado de uma query ■ Sessões ■ Autenticando um usuário 5 Desenvolvimento de Aplicações para WEB com PHP/MYSQL - Tadeu Ferreira Oliveira - 2007
    6. Segurança ■ Conceitos básicos ■ SQL Injection ■ XSS(Cross-site-scripting) ■ Protegendo as senhas de seu usuário 6 Desenvolvimento de Aplicações para WEB com PHP/MYSQL - Tadeu Ferreira Oliveira - 2007
    7. A Linguagem PHP ■ Por quê PHP?  Sintaxe parecida com C/C++ porém simplificada  Desenvolvimento rápido  Altamente integrada ao Servidor WEB mais usado no mundo: Apache  Desenhada para a Internet  Software Livre 7 Desenvolvimento de Aplicações para WEB com PHP/MYSQL - Tadeu Ferreira Oliveira - 2007
    8. LAMP: tudo que você precisa ■ Linux ■ Linux Sistema  Sistema Operacional Operacional Livre ■ Apache ■ Apache o Servidor  Servidor WEB WEB mais usado no ■ MySQL mundo  Servidor de Banco ■ MySQL Open Source de Dados parceiro do PHP a ■ PHP  Linguagem muito tempo ■ Desenvolvimento no Interpretada Windows ■ Execução no Linux 8 Desenvolvimento de Aplicações para WEB com PHP/MYSQL - Tadeu Ferreira Oliveira - 2007
    9. Programando na WEB ■ O protocolo HTTP PHP está (4) aqui!! Response (1) (2) Request Dados APACHE (3) Dados MySQL 9 Desenvolvimento de Aplicações para WEB com PHP/MYSQL - Tadeu Ferreira Oliveira - 2007
    10. Programando na WEB ■ Requisições e respostas HTTP ■ GET  Passado na URL  Restrições de tamanho  Claramente visível a qualquer usuário ➔ Ex.: - http://www.ig.com.br/notcia.php?data=28052007&usuario= Tadeu ■ POST  Passado no cabeçalho HTTP  Espaço de para os parâmetros muito maior  Pouco visível ao usuário comum - www.ig.com.br/notcia.php 10 Desenvolvimento de Aplicações para WEB com PHP/MYSQL - Tadeu Ferreira Oliveira - 2007
    11. O Método GET ■ As variáveis são passadas em texto junto da URL ■ Composição  http://site.com/pagina.php?var1=valor1&var2= valor2 ■ O Limite para passagem de variáveis é de 255 bytes ■ O texto deve ser URL Encoded  Use a função urlencode(); ■ Assim caracteres especiais são trocados pelo seu código em hexadecimal  Ex: O texto: ➔ “Paca Tatu Cutia Não” ficaria ➔ “Paca+Tatu+Cutia+N%E3o” 11 Desenvolvimento de Aplicações para WEB com PHP/MYSQL - Tadeu Ferreira Oliveira - 2007
    12. O Método POST ■ Não está limitado ao tamanho da URL ■ Não precisa ser explicitamente URL Enconded ■ É passado apenas usando <form> HTML ■ Invisível ao usuário comum ■ Não dá pra usar em links 12 Desenvolvimento de Aplicações para WEB com PHP/MYSQL - Tadeu Ferreira Oliveira - 2007
    13. Script Cliente X Script Servidor ■ Não confunda banana com laranja 13 Desenvolvimento de Aplicações para WEB com PHP/MYSQL - Tadeu Ferreira Oliveira - 2007
    14. Hello World! ■ Mãos à Obra! <?php echo(“Hello World”); ?> 14 Desenvolvimento de Aplicações para WEB com PHP/MYSQL - Tadeu Ferreira Oliveira - 2007
    15. Sintaxe ■ Linguagem comum estruturas de repetição e condicionais ■ Pode ser utilizada Orientação a Objetos ■ Suporte a procedimentos e funções ■ Fracamente Tipada ■ Linguagem Interpretada ■ Comentários de uma linha com //  Ou /**/ para mais de uma linha <?php /*Este é um comentário PHP de várias linhas, tudo que estiver dentro dele será ignorado*/ echo(“Hello World”); //este é um comentário de uma linha ?> 15 Desenvolvimento de Aplicações para WEB com PHP/MYSQL - Tadeu Ferreira Oliveira - 2007
    16. Variáveis ■ Não precisam ser declaradas ■ São identificadas por ter um $ na frente ■ Nomes de variáveis válidos começam com uma letra ou _ e podem ter números ■ As variáveis começadas por __ (dois underlines são para uso interno) ■ CaSe-SeNsItIvE ■ Exemplos <?php $a = 1; $codigo = “S0003”; $usuario1 = “Tadeu”; $_u_ = (3 * 5) + $a; $__NAO_USE_ISSO__ = 1; ?> 16 Desenvolvimento de Aplicações para WEB com PHP/MYSQL - Tadeu Ferreira Oliveira - 2007
    17. Strings ■ Concatenar usando .(Ponto) ■ “ e ' são diferentes ■ “$variavel” != '$variavel' ■ Caracter de escape  \\ ■ Caracteres Especiais  “\\n”  “\\t” 17 Desenvolvimento de Aplicações para WEB com PHP/MYSQL - Tadeu Ferreira Oliveira - 2007
    18. Vetores ■ O PHP suporta vetores e matrizes; ■ Não precisam ser declarados explicitamente ■ Podem ter índices numéricos e índices <?php textuais é um vetor com índices numéricos //este $vet[0] = “banana”; $vet[1] = “maçã”; $vet[2] = “caju”; //este é um vetor com índices textuais $vet[“carro”] = “vectra”; $vet[“nome”] = “Rasmus”; $vet[“senha”] = “A5D151F5E31F5B5CF15”; //esta é uma matriz $matriz[0][0] = 1; $matriz[0][1] = 2; $matriz[1][0] = 3; $matriz[1][1] = 4; ?> 18 Desenvolvimento de Aplicações para WEB com PHP/MYSQL - Tadeu Ferreira Oliveira - 2007
    19. Obtendo dados de uma página ■ Depende do method do <form> ■ $_POST ■ $_GET <?php echo(“Olá”.$_POST[“nome”]); ?> 19 Desenvolvimento de Aplicações para WEB com PHP/MYSQL - Tadeu Ferreira Oliveira - 2007
    20. A Tag <FORM> ■ <form  name  action  method ➔ GET <form> ➔ POST <input type=text name=login> <input type=password name=senha> ■ > <input type=submit value=Entrar> ■ <input </form>  name  type ➔ text ➔ password ➔ submit ■ > 20 Desenvolvimento de Aplicações para WEB com PHP/MYSQL - Tadeu Ferreira Oliveira - 2007
    21. Condicionais (if e switch) ■ IF $politico = \"empregado\"; if ($politico == \"aposentado\"){ echo(\"Vida mansa...\"); }else{ echo(\"Vida boa...\"); } 21 Desenvolvimento de Aplicações para WEB com PHP/MYSQL - Tadeu Ferreira Oliveira - 2007
    22. Operadores Relacionais ■ ==  igual ■ !=  diferente ■ <=  menor ou igual ■ >=  maior ou igual ■ ===  totalmente igual 22 Desenvolvimento de Aplicações para WEB com PHP/MYSQL - Tadeu Ferreira Oliveira - 2007
    23. Repetição ■ WHILE ■ $i = 1; ■ while($i < 3){ echo(\"Oi<br>\"); ■ $i++; ■ } ■ DO – WHILE $i = 1; ■ do{ ■ echo(\"Oi<br>\"); $i++; ■ }while($i < 3); ■ 23 Desenvolvimento de Aplicações para WEB com PHP/MYSQL - Tadeu Ferreira Oliveira - 2007
    24. Repetição ■ FOR ■ for($i=1;$i<=3;$i++){ ■ echo(\"Oi<br>\"); } ■ ■ FOREACH ■ $vet[0] = \"Oi\"; $vet[1] = \"Oi\"; ■ $vet[2] = \"Oi\"; ■ foreach($vet as $item){ echo($item.\"<br>\"); ■ } 24 Desenvolvimento de Aplicações para WEB com PHP/MYSQL - Tadeu Ferreira Oliveira - 2007
    25. Condicionais (if e switch) ■ SWITCH $time = \"flamengo\"; switch($time){ case \"flamengo\" : echo(\"Voou...\"); break; case \"grêmio\" : echo(\"Ficou...\"); break; case \"vasco\" : echo(\"Voou...\"); break; case \"sergipe\" : echo(\"ãhn!?\"); break; default : echo(\"Time desconhecido\"); break; } 25 Desenvolvimento de Aplicações para WEB com PHP/MYSQL - Tadeu Ferreira Oliveira - 2007
    26. Funções ■ A biblioteca de Funções pré-definidas do PHP é um dos seus grandes trunfos ■ Acessível em:  http://www.php.net/manual/pt_BR/funcref.php ■ Funções definidas pelo usuário  Não têm tipo de retorno definido <?php //definição de função function soma($num1, $num2){ echo(\"Antes<br>\"); return $num1 + $num2; //linha abaixo não executará por causa do return echo(\"Depois<br>\"); } echo(soma(1,2)); ?> 26 Desenvolvimento de Aplicações para WEB com PHP/MYSQL - Tadeu Ferreira Oliveira - 2007
    27. Funções ■ Passagem de parâmetros  Padrão por Valor  Por Referência utiliza-se o operador & <?php //argumento passados por referência function soma(&$num1, &$num2){ echo(\"Antes<br>\"); return $num1 + $num2; } echo(soma(1,2)); ?> 27 Desenvolvimento de Aplicações para WEB com PHP/MYSQL - Tadeu Ferreira Oliveira - 2007
    28. Classes ■ Suporte no PHP5.0 melhorado ■ Exemplo <?php class ClasseSimples { // declaração de membro public $var = 'um valor padrão'; // declaração de método public function getVar() { return $this->var; } } ?> 28 Desenvolvimento de Aplicações para WEB com PHP/MYSQL - Tadeu Ferreira Oliveira - 2007
    29. Classes - Construtor e Destrutor ■ Existem duas funções especiais em toda classe ■ __contructor() __destructor() ■ <?php class ClasseSimples{ function __construct() { echo(\"Criando Objeto\"); } function __destruct() { echo(\"Finalizando Objeto\"); } } $objSimples = new ClasseSimples(); ?> 29 Desenvolvimento de Aplicações para WEB com PHP/MYSQL - Tadeu Ferreira Oliveira - 2007
    30. Classes – Visibilidade de Membros ■ public ■ protected ■ private ■ Caso não seja especificado o padrão é public 30 Desenvolvimento de Aplicações para WEB com PHP/MYSQL - Tadeu Ferreira Oliveira - 2007
    31. Código PHP dentro do HTML <HTML> <BODY> Lista de Nomes: <form> <?php for($i=1;$i<5;$i++){ echo(“<input type=text><br>”) } ?> <input type=submit> </form> </BODY> </HTML> 31 Desenvolvimento de Aplicações para WEB com PHP/MYSQL - Tadeu Ferreira Oliveira - 2007
    32. Conexão com o banco de Dados ■ Funções específicas para cada banco ■ Melhor performance ■ Mais dependência do servidor de banco de dados ■ MySQL X PostgreSQL 32 Desenvolvimento de Aplicações para WEB com PHP/MYSQL - Tadeu Ferreira Oliveira - 2007
    33. Conectando com o MySQL ■ Funções da API do MySQL ■ mysql_connect(servidor,usuario,senha); Conecta ao banco de dados retornando um link  para a conexão  Retorna false caso a conexão não tenha sido possível <?php $con = mysql_connect(“localhost”, ”root”, ”tiradentes”); if($con){ echo(“conexão efetuada com sucesso”); }else{ echo(“Erro na conexão com o banco de dados”); } 33 Desenvolvimento de Aplicações para WEB com PHP/MYSQL - Tadeu Ferreira Oliveira - 2007
    34. Executando uma query de consulta ■ Após efetuar a conexão podemos usar o link para efetuar queries ■ Selecionar o banco de dados com mysql_select_db(banco,conexão) ■ Efetuar a query com o comando mysql_query(query, conexão) <?php if (mysql_select_db(“test”,$con)){ $result = mysql_query(“select * from tabela”); }else{ echo(“O banco de dados não pode ser selecionado.”) } ?> 34 Desenvolvimento de Aplicações para WEB com PHP/MYSQL - Tadeu Ferreira Oliveira - 2007
    35. Obtendo o resultado ■ O PHP retornará os resultados da query em um vetor ■ Dependendo de como o resultado for obtido será um vetor cujos índices são numéricos ou o nome dos campos. <?php if ($linha = mysql_fetch_array($result)){ echo($linha[0]); }else{ echo(“Nenhuma informação encontrada”); } ?> 35 Desenvolvimento de Aplicações para WEB com PHP/MYSQL - Tadeu Ferreira Oliveira - 2007
    36. Obtendo todas linhas de uma query ■ Receita de bolo <?php while($linha = mysql_fetch_array($result)){ echo($linha[“nome_do_campo”].”<br>”); } ?> 36 Desenvolvimento de Aplicações para WEB com PHP/MYSQL - Tadeu Ferreira Oliveira - 2007
    37. Executando query de manutenção ■ Feita da mesma maneira da query de consulta ■ Retorna true caso a query tenha executado corretamente ■ Pode se usar o comando mysql_affected_rows para descobrir quantas linhas foram afetadas pela última query executada 37 Desenvolvimento de Aplicações para WEB com PHP/MYSQL - Tadeu Ferreira Oliveira - 2007
    38. Sessões ■ HTTP não é orientado a conexão ■ Maneira de identificar um usuário ■ Baseada em cookies ■ Os dados são armazenados no servidor ■ Apenas um cookie é gravado no cliente 38 Desenvolvimento de Aplicações para WEB com PHP/MYSQL - Tadeu Ferreira Oliveira - 2007
    39. Sessões - Cookies ■ Um cookie é um valor que após gravado pelo servidor o browser do cliente é responsável por enviar a cada requisição ■ Assim o PHP envia um número para o cliente no início da sessão ■ Esse número identifica um arquivo no servidor onde estão os dados daquela sessão 39 Desenvolvimento de Aplicações para WEB com PHP/MYSQL - Tadeu Ferreira Oliveira - 2007
    40. Exemplo de uso de sessão ■ Sempre que for necessário acessar informações na sessão deve-se chamar a função session_start() ■ Essa função é responsável por preencher o vetor especial $_SESSION com as variáveis registradas na sessão atual ■ Caso queira terminar a sessão antes do tempo determinado pode-se usar a função session_unset() e session_destroy() 40 Desenvolvimento de Aplicações para WEB com PHP/MYSQL - Tadeu Ferreira Oliveira - 2007
    41. Autenticando um usuário <?php session_start(); if(isset($_SESSION[\"nome\"])){ echo(\"Olá \".$_SESSION[\"nome\"]); }else{ echo(\"Você não está autenticado.\"); } ?> 41 Desenvolvimento de Aplicações para WEB com PHP/MYSQL - Tadeu Ferreira Oliveira - 2007
    42. Conceitos básicos de Segurança ■ Se você está online você está vulnerável ■ Não existe sistema 100% seguro ■ Existem sistemas mais seguros que outros 42 Desenvolvimento de Aplicações para WEB com PHP/MYSQL - Tadeu Ferreira Oliveira - 2007
    43. SQL Injection ■ Não confie no usuário ■ Entradas de usuários são a porta de entrada no seu servidor ■ Sempre use a função addslashes() para retirar aspas e caracteres especiais <?php $query = “select * from usuario where”. “ senha = '”.$_POST[senha]”. “' and login = '”.$_POST[senha].”'”; //e se o cara digita na senha algo inválido vai //ser inserido na sua query ?> 43 Desenvolvimento de Aplicações para WEB com PHP/MYSQL - Tadeu Ferreira Oliveira - 2007
    44. XSS(Cross-site-scripting) ■ Consiste em inserir código javascript ou php dentro de uma página ■ O usuário preenche um texto e envia ao site que adiciona esse texto a uma página ■ Comum em mural de recados ■ Coitado do ORKUT 44 Desenvolvimento de Aplicações para WEB com PHP/MYSQL - Tadeu Ferreira Oliveira - 2007
    45. Protegendo senhas de seu usuário ■ Ao enviar senha de usuário pela WEB cuidado você pode estar sendo vigiado ■ É possível interceptar uma requisição HTTP na rede ■ Para garantir a “invisibilidade” dos dados pode-se usar HTTPS ■ No Yahoo-Mail a tela para digitar a senha é HTTPS enquanto o resto do site em HTTP comum 45 Desenvolvimento de Aplicações para WEB com PHP/MYSQL - Tadeu Ferreira Oliveira - 2007
    46. PHP – Tópicos Especiais ■ MVC no PHP com Smarty ■ Abstração de banco de dados ■ PHP também faz aplicações para desktop com PHP-GTK ■ Pode criar imagens dianmicamente com a biblioteca GD ■ Instalação do PHP com APACHE no Windows 46 Desenvolvimento de Aplicações para WEB com PHP/MYSQL - Tadeu Ferreira Oliveira - 2007
    47. Obrigado Para dúvidas correções e comentários acesse www.notnet.blogspot.com ou tadeu_fo@yahoo.com.br 47 Desenvolvimento de Aplicações para WEB com PHP/MYSQL - Tadeu Ferreira Oliveira - 2007

    + ceapceap, 2 years ago

    custom

    797 views, 1 favs, 0 embeds more stats

    Curso de progamação em php e mysql.

    More info about this document

    © All Rights Reserved

    Go to text version

    • Total Views 797
      • 797 on SlideShare
      • 0 from embeds
    • Comments 0
    • Favorites 1
    • Downloads 17
    Most viewed embeds

    more

    All embeds

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as inappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel
    File a copyright complaint
    Having problems? Go to our helpdesk?

    Categories