Aulas Php Com Mysql

  • August 2019
  • PDF

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.

More details

  • Words: 2,379
  • Pages: 47
Aplicações WEB com PHP

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 ➔

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

Desenvolvimento de Aplicações para WEB com PHP/MYSQL - Tadeu Ferreira Oliveira - 2007

10

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” ➔

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
HTML ■ Invisível ao usuário comum ■ Não dá pra usar em links ■

Desenvolvimento de Aplicações para WEB com PHP/MYSQL - Tadeu Ferreira Oliveira - 2007

12

Script Cliente X Script Servidor ■

Não confunda banana com laranja

Desenvolvimento de Aplicações para WEB com PHP/MYSQL - Tadeu Ferreira Oliveira - 2007

13

Hello World! ■

Mãos à Obra!

Desenvolvimento de Aplicações para WEB com PHP/MYSQL - Tadeu Ferreira Oliveira - 2007

14

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

Desenvolvimento de Aplicações para WEB com PHP/MYSQL - Tadeu Ferreira Oliveira - 2007

15

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 ■

Desenvolvimento de Aplicações para WEB com PHP/MYSQL - Tadeu Ferreira Oliveira - 2007

16

Strings Concatenar usando .(Ponto) ■ “ e ' são diferentes ■ “$variavel” != '$variavel' ■ Caracter de escape ■





\

Caracteres Especiais  

“\n” “\t”

Desenvolvimento de Aplicações para WEB com PHP/MYSQL - Tadeu Ferreira Oliveira - 2007

17

Vetores O PHP suporta vetores e matrizes; ■ Não precisam ser declarados explicitamente ■ Podem ter índices numéricos e índices
$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; ?> Desenvolvimento de Aplicações para WEB com PHP/MYSQL - Tadeu Ferreira Oliveira - 2007

18

Obtendo dados de uma página Depende do method do ■ $_POST ■ $_GET ■



Desenvolvimento de Aplicações para WEB com PHP/MYSQL - Tadeu Ferreira Oliveira - 2007

19

A Tag ■


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

22

Repetição ■

WHILE

■ $i = 1; ■ while($i < 3){

echo("Oi
"); $i++;

■ ■ } ■

DO – WHILE

$i = 1; do{ ■ echo("Oi
"); $i++; ■ }while($i < 3);





Desenvolvimento de Aplicações para WEB com PHP/MYSQL - Tadeu Ferreira Oliveira - 2007

23

Repetição ■

FOR

■ for($i=1;$i<=3;$i++){ echo("Oi
"); ■ ■ ■

}

FOREACH

■ $vet[0] = "Oi";

$vet[1] = "Oi"; ■ $vet[2] = "Oi"; ■ foreach($vet as $item){ echo($item."
"); ■ }

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

47

Related Documents

Aulas Php Com Mysql
August 2019 24
Php Mysql Tutorial
May 2020 16
Guia Php Mysql
April 2020 17
Php Mysql Rssfeed
May 2020 11
Php And Mysql Slides
May 2020 12