This document was uploaded by user and they confirmed that they have the permission to share
it. If you are author or own the copyright of this book, please report to us by using this DMCA
report form. Report DMCA
Overview
Download & View Aulas Php Com Mysql as PDF for free.
Desenvolvimento de Aplicações para WEB com PHP e MySQL Por Tadeu Ferreira Oliveira
Desenvolvimento de Aplicações para WEB com PHP/MYSQL - Tadeu Ferreira Oliveira - 2007
1
Conteúdo Programático A Linguagem PHP ■ Programando em PHP ■ Banco de Dados ■ Segurança ■
Desenvolvimento de Aplicações para WEB com PHP/MYSQL - Tadeu Ferreira Oliveira - 2007
2
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! ■
Desenvolvimento de Aplicações para WEB com PHP/MYSQL - Tadeu Ferreira Oliveira - 2007
3
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 ■
Desenvolvimento de Aplicações para WEB com PHP/MYSQL - Tadeu Ferreira Oliveira - 2007
4
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 ■
Desenvolvimento de Aplicações para WEB com PHP/MYSQL - Tadeu Ferreira Oliveira - 2007
5
Segurança Conceitos básicos ■ SQL Injection ■ XSS(Cross-site-scripting) ■ Protegendo as senhas de seu usuário ■
Desenvolvimento de Aplicações para WEB com PHP/MYSQL - Tadeu Ferreira Oliveira - 2007
6
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
Desenvolvimento de Aplicações para WEB com PHP/MYSQL - Tadeu Ferreira Oliveira - 2007
7
LAMP: tudo que você precisa ■
Linux
■
Apache
■
Servidor WEB
MySQL
■
Sistema Operacional
Servidor de Banco de Dados
PHP
Linguagem Interpretada
Linux Sistema Operacional Livre ■ Apache o Servidor WEB mais usado no mundo ■ MySQL Open Source parceiro do PHP a muito tempo ■ Desenvolvimento no Windows ■ Execução no Linux ■
Desenvolvimento de Aplicações para WEB com PHP/MYSQL - Tadeu Ferreira Oliveira - 2007
8
Programando na WEB ■
O protocolo HTTP PHP está aqui!!
(4) Response (1) Request
(2) Dados APACHE
(3) Dados MySQL Desenvolvimento de Aplicações para WEB com PHP/MYSQL - Tadeu Ferreira Oliveira - 2007
9
Programando na WEB Requisições e respostas HTTP ■ GET ■
Passado na URL Restrições de tamanho Claramente visível a qualquer usuário ➔
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” ➔
Desenvolvimento de Aplicações para WEB com PHP/MYSQL - Tadeu Ferreira Oliveira - 2007
11
O Método POST Não está limitado ao tamanho da URL ■ Não precisa ser explicitamente URL Enconded ■ É passado apenas usando
name action method GET ➔ POST ➔
> ■
name type text ➔ password ➔ submit ➔
■
>
Desenvolvimento de Aplicações para WEB com PHP/MYSQL - Tadeu Ferreira Oliveira - 2007
20
Condicionais (if e switch) ■
IF $politico = "empregado"; if ($politico == "aposentado"){ echo("Vida mansa..."); }else{ echo("Vida boa..."); }
Desenvolvimento de Aplicações para WEB com PHP/MYSQL - Tadeu Ferreira Oliveira - 2007
21
Operadores Relacionais ■
==
■
!=
■
menor ou igual
>=
■
diferente
<=
■
igual
maior ou igual
===
totalmente igual
Desenvolvimento de Aplicações para WEB com PHP/MYSQL - Tadeu Ferreira Oliveira - 2007
Desenvolvimento de Aplicações para WEB com PHP/MYSQL - Tadeu Ferreira Oliveira - 2007
24
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; }
Desenvolvimento de Aplicações para WEB com PHP/MYSQL - Tadeu Ferreira Oliveira - 2007
25
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
"); return $num1 + $num2; //linha abaixo não executará por causa do return echo("Depois "); } echo(soma(1,2)); ?> Desenvolvimento de Aplicações para WEB com PHP/MYSQL - Tadeu Ferreira Oliveira - 2007
26
Funções ■
Passagem de parâmetros
Padrão por Valor Por Referência utiliza-se o operador &
"); return $num1 + $num2; } echo(soma(1,2)); ?>
Desenvolvimento de Aplicações para WEB com PHP/MYSQL - Tadeu Ferreira Oliveira - 2007
27
Classes Suporte no PHP5.0 melhorado ■ Exemplo ■
var; } } ?> Desenvolvimento de Aplicações para WEB com PHP/MYSQL - Tadeu Ferreira Oliveira - 2007
28
Classes - Construtor e Destrutor Existem duas funções especiais em toda classe ■ __contructor() ■
class ClasseSimples{
function __construct() { echo("Criando Objeto"); } function __destruct() { echo("Finalizando Objeto"); } } $objSimples = new ClasseSimples(); ?> Desenvolvimento de Aplicações para WEB com PHP/MYSQL - Tadeu Ferreira Oliveira - 2007
29
Classes – Visibilidade de Membros public ■ protected ■ private ■ Caso não seja especificado o padrão é public ■
Desenvolvimento de Aplicações para WEB com PHP/MYSQL - Tadeu Ferreira Oliveira - 2007
30
Código PHP dentro do HTML
Lista de Nomes:
Desenvolvimento de Aplicações para WEB com PHP/MYSQL - Tadeu Ferreira Oliveira - 2007
31
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 ■
Desenvolvimento de Aplicações para WEB com PHP/MYSQL - Tadeu Ferreira Oliveira - 2007
32
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
$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”); }
Desenvolvimento de Aplicações para WEB com PHP/MYSQL - Tadeu Ferreira Oliveira - 2007
33
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) ■
Desenvolvimento de Aplicações para WEB com PHP/MYSQL - Tadeu Ferreira Oliveira - 2007
34
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. ■
Desenvolvimento de Aplicações para WEB com PHP/MYSQL - Tadeu Ferreira Oliveira - 2007
35
Obtendo todas linhas de uma query ■
Receita de bolo
”); } ?>
Desenvolvimento de Aplicações para WEB com PHP/MYSQL - Tadeu Ferreira Oliveira - 2007
36
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 ■
Desenvolvimento de Aplicações para WEB com PHP/MYSQL - Tadeu Ferreira Oliveira - 2007
37
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 ■
Desenvolvimento de Aplicações para WEB com PHP/MYSQL - Tadeu Ferreira Oliveira - 2007
38
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 ■
Desenvolvimento de Aplicações para WEB com PHP/MYSQL - Tadeu Ferreira Oliveira - 2007
39
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() ■
Desenvolvimento de Aplicações para WEB com PHP/MYSQL - Tadeu Ferreira Oliveira - 2007
40
Autenticando um usuário
Desenvolvimento de Aplicações para WEB com PHP/MYSQL - Tadeu Ferreira Oliveira - 2007
41
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 ■
Desenvolvimento de Aplicações para WEB com PHP/MYSQL - Tadeu Ferreira Oliveira - 2007
42
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 ■
Desenvolvimento de Aplicações para WEB com PHP/MYSQL - Tadeu Ferreira Oliveira - 2007
43
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 ■
Desenvolvimento de Aplicações para WEB com PHP/MYSQL - Tadeu Ferreira Oliveira - 2007
44
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 ■
Desenvolvimento de Aplicações para WEB com PHP/MYSQL - Tadeu Ferreira Oliveira - 2007
45
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 ■
Desenvolvimento de Aplicações para WEB com PHP/MYSQL - Tadeu Ferreira Oliveira - 2007
46
Obrigado
Para dúvidas correções e comentários acesse www.notnet.blogspot.com ou [email protected]
Desenvolvimento de Aplicações para WEB com PHP/MYSQL - Tadeu Ferreira Oliveira - 2007