aula revisão + banco de dados

88
Introdução à Linguagem PHP Parte 1 Tecnologias WEB PHP -ADAPTAÇÃO RICARDO

Upload: ricardo-marciano

Post on 10-Mar-2016

227 views

Category:

Documents


3 download

DESCRIPTION

PHP e banco de dados

TRANSCRIPT

Introdução à Linguagem PHP

Parte 1

Tecnologias WEB – PHP -ADAPTAÇÃO RICARDO

Conteúdo

Linguagem Estática x Dinâmica

O que é PHP?

Configurando o Ambiente do PHP

Sintaxe

Comentários

Declaração de variáveis

Constantes

Tipos de dados

Operadores

Estruturas de decisão

Estruturas de laço

Funções

Tecnologias WEB – PHP -ADAPTAÇÃO RICARDO

Linguagem Estática x Dinâmica

Páginas estáticas no servidor:

Páginas dinâmicas no servidor:

Navegador do usuário requisita

página

Servidor responde à requisição

com conteúdo HTML

Navegador do usuário requisita

página

Servidor responde à requisição

com conteúdo HTML

Conteúdo em HTML

Conteúdo em PHP

Processamento

Tecnologias WEB – PHP -ADAPTAÇÃO RICARDO

Linguagem Estática x Dinâmica

As páginas web podem ser classificadas, segundo seu conteúdo

como estáticas ou dinâmicas.

Páginas estáticas são aquelas escritas utilizando a linguagem HTML, com nenhuma interação com o usuário, devido as próprias restrições da linguagem HTML.

Páginas dinâmicas são aquelas escritas utilizando alguma linguagem de programação. As quais podem exibir seu conteúdo além do simples código escrito em HTML.

Estas páginas possuem interação com o usuário, pois devido ao poder das linguagens de programação podemos tratar informações de formulários, acessar bancos de dados, e podem possuir várias funcionalidades.

Tecnologias WEB – PHP -ADAPTAÇÃO RICARDO

Conteúdo

Linguagem Estática x Dinâmica

O que é PHP?

Configurando o Ambiente do PHP

Sintaxe

Comentários

Declaração de variáveis

Constantes

Tipos de dados

Operadores

Estruturas de decisão

Estruturas de laço

Funções

Tecnologias WEB – PHP -ADAPTAÇÃO RICARDO

O que é PHP?

PHP (um acrônimo recursivo para "PHP: Hypertext Preprocessor") é uma linguagem de script Open Source de uso geral, muito utilizada e especialmente guarnecida para o desenvolvimento de aplicações web embútivel ao código HTML.

É uma linguagem que permite criar sites web dinâmicos, possibilitando uma interação com o usuário através de formulários, parâmetros da URL e links.

A diferença de PHP com relação a linguagens semelhantes a JavaScript é que o código PHP é executado no servidor, sendo enviado para o cliente apenas HTML puro.

Desta maneira é possível interagir com bancos de dados e aplicações existentes no servidor, com a vantagem de não expor o código fonte para o usuário, sendo útil quando o sistema lida com senhas ou qualquer tipo de informação confidencial.

Tecnologias WEB – PHP -ADAPTAÇÃO RICARDO

O que é PHP?

Para que um página com código PHP possa ser executada corretamente pelo servidor, o arquivo da página deve conter a extensão .php.

Se for requisitado um arquivo PHP diretamente ao servidor que não possua esta extensão, o servidor tratará todo o código-fonte como HTML.

Quando o servidor PHP interpreta uma página, ele percorre o código-fonte do arquivo até encontrar a tag que indica o início do conteúdo PHP. O interpretador então executa todo o código que encontra, até chegar na tag de fechamento PHP.

Este é o mecanismo que permite a inclusão de código PHP dentro do HTML. Isso significa que todo o código PHP pode estar escrito entre as tags HTML.

Tecnologias WEB – PHP -ADAPTAÇÃO RICARDO

O que é PHP?

Qualquer coisa fora das tags PHP é deixada como encontrado, enquanto tudo dentro é interpretado e executado.

Há quatro conjuntos de tags que podem ser usadas para marcar blocos de código PHP. Duas delas estão habilitadas por padrão no PHP, as outras devem ser habilitadas manualmente.

Habilitadas por padrão

<?php . . . ?>

<script language="php"> . . . </script>

Habilitadas manualmente

<? . . . ?>

<%. . . %>

Tecnologias WEB – PHP -ADAPTAÇÃO RICARDO

Conteúdo

Linguagem Estática x Dinâmica

O que é PHP?

Configurando o Ambiente do PHP

Sintaxe

Comentários

Declaração de variáveis

Constantes

Tipos de dados

Operadores

Estruturas de decisão

Estruturas de laço

Funções

Tecnologias WEB – PHP -ADAPTAÇÃO RICARDO

Configurando o Ambiente do PHP

O PHP pode ser utilizado na maioria dos sistemas operacionais, incluindo Linux, várias variantes Unix (incluindo HP-UX, Solaris e OpenBSD), Microsoft Windows, Mac OS X, RISC OS, e provavelmente outros.

O PHP também é suportado pela maioria dos servidores web atuais, incluindo Apache, Microsoft Internet Information Server, Personal Web Server, Netscape and iPlanet Servers, Oreilly Website Pro Server, Caudium, Xitami, OmniHTTPd, e muitos outros.

Com o PHP, portanto, você tem a liberdade para escolher o sistema operacional e o servidor web.

Iremos instalar um servidor Apache com suporte ao PHP em plataforma Windows.

Tecnologias WEB – PHP -ADAPTAÇÃO RICARDO

Conteúdo

Linguagem Estática x Dinâmica

O que é PHP?

Configurando o Ambiente do PHP

Sintaxe

Comentários

Declaração de variáveis

Constantes

Tipos de dados

Operadores

Estruturas de decisão

Estruturas de laço

Funções

Tecnologias WEB – PHP -ADAPTAÇÃO RICARDO

Sintaxe

O código PHP fica embutido entre as tags HTML. O interpretador do PHP

identifica quando inicia e termina uma instrução ou bloco de instruções em

PHP quando são usadas as seguintes tags:

<?php

Instruções

?>

<script language="php">

instruções

</script>

<?

instruções

?>

<%

instruções

%>

Habilitados por padrão

Forma abreviada da primeira opção, para funcionar deve-se

habilitar no arquivo php.ini a opção short_open_tag para on

Esta forma foi criada para desenvolvedores acostumados

com a linguagem asp, para funcionar deve-se habilitar no

arquivo php.ini a opção asp_tags para on

Tecnologias WEB – PHP -ADAPTAÇÃO RICARDO

Sintaxe

Ao escrever um código em php, da mesma forma da linguagem C,

devemos colocar um ponto e vírgula ( ; ) separando cada instrução.

<?php

echo “meu código em php”;

?>

No caso de apenas uma instrução ou da última instrução, antes do

fechamento da tag PHP, o uso do ponto e vírgula ( ; ) não é obrigatório.

<?php

echo “instrução 1”;

echo “instrução 2”

?>

Por questão de padrões sempre utilizamos o ponto e vírgula ao fim de cada

instrução.

Tecnologias WEB – PHP -ADAPTAÇÃO RICARDO

Sintaxe

Strings em PHP

Quando escrevemos uma string, podemos utilizar aspas (“ ”) ou apóstrofos („ ‟) para delimitá-la.

<?php

echo “exemplo string com aspas”;

echo „exemplo string com apóstrofos‟;

?>

Quando precisamos escrever uma aspa ou um apóstrofo dentro de uma string, precisamos “escapá-la”, utilizando uma contra-barra ( \ )

<?php

echo “exemplo aspas \“ dentro da string com aspas”;

echo „exemplo apóstrofo \‟ dentro da string com apóstrofos‟;

?>

Tecnologias WEB – PHP -ADAPTAÇÃO RICARDO

Sintaxe

Strings em PHP

A diferença entre o uso de aspas e apóstrofo é que quando utilizamos aspas, o

PHP consegue interpretar caracteres de escape especiais e ainda, faz a

interpretação de variáveis.

<?php

echo “exemplo string com \r retorno de carro”;

echo “exemplo string fim de linha \n”;

echo “texto”;

$nome = “João”;

echo “Seu nome é $nome”;

?>

Tecnologias WEB – PHP -ADAPTAÇÃO RICARDO

Conteúdo

Linguagem Estática x Dinâmica

O que é PHP?

Configurando o Ambiente do PHP

Sintaxe

Comentários

Declaração de variáveis

Constantes

Tipos de dados

Operadores

Estruturas de decisão

Estruturas de laço

Funções

Tecnologias WEB – PHP -ADAPTAÇÃO RICARDO

Sintaxe - Comentários

O PHP suporta 2 estilos de comentário.

Comentários de uma linha utilizando # ou //:

Comentários de mais de uma linha utilizando /* .. */

<?php

# Comentário 1

echo “exemplo de comentário”;

// Comentário 2

echo “exemplo de comentário”; // Comentário 3

/* Comentário com mais de

uma linha */

echo “exemplo de comentário”;

?>

Tecnologias WEB – PHP -ADAPTAÇÃO RICARDO

Sintaxe - Comentários

Nossa primeira página em PHP:

<html>

<head>

<title>Primeira página em PHP</title>

</head>

<body>

<?php

echo “Este é meu primeiro script em PHP”;

echo “<p>Posso escrever tags HTML”;

echo “dentro dos textos em PHP</p>”;

?>

</body>

</html>

Tecnologias WEB – PHP -ADAPTAÇÃO RICARDO

Conteúdo

Linguagem Estática x Dinâmica

O que é PHP?

Configurando o Ambiente do PHP

Sintaxe

Comentários

Declaração de variáveis

Constantes

Tipos de dados

Operadores

Estruturas de decisão

Estruturas de laço

Funções

Tecnologias WEB – PHP -ADAPTAÇÃO RICARDO

Sintaxe - Declaração de Variáveis

O uso de variáveis no PHP requer algumas regras:

Toda variável começa pelo caractere cifrão ( $ ); Após o cifrão ( $ )

deve-se colocar uma string que deve começar por uma letra ou pelo

caractere underline ( _ );

Após esses caracteres só podem ser inseridos letras ou números.

No PHP as variáveis são case sensitive, ou seja, $var, $Var e $VAR

são variáveis diferentes e podem possuir valores diferentes.

O PHP possui conversão automática de tipo, chamada também de

coerção de tipo automática. Assim, a definição de tipo explicita não

é necessária na declaração de variáveis.

Tecnologias WEB – PHP -ADAPTAÇÃO RICARDO

Sintaxe - Declaração de Variáveis

O tipo de uma variável é determinado pelo contexto em que a

variável é utilizada. Isto significa que, se você assimila um valor

string para a variável $var, $var se torna uma string. Se você então

assimila um valor inteiro para $var, ela se torna um inteiro.

Exemplo de variáveis PHP:

$variavel = “valor”;

$_variavel = 0;

$nome = “João”

$cidade = “Belém”

$mes1 = “Janeiro”

Tecnologias WEB – PHP -ADAPTAÇÃO RICARDO

Sintaxe - Declaração de Variáveis

Type Casting – Coerção de tipo explícita

A coerção de tipos no PHP funciona como no C: o nome de um tipo

desejado é escrito entre parênteses antes da variável em que se deseja

a coerção.

As coerções permitidas são:

(int), (integer) - coerção para inteiro

(bool), (boolean) - coerção para booleano

(float), (double), (real) - coerção para número de ponto flutuante

(string) - coerção para string

(array) - coerção para array

(object) - coerção para objeto

Tecnologias WEB – PHP -ADAPTAÇÃO RICARDO

Conteúdo

Linguagem Estática x Dinâmica

O que é PHP?

Configurando o Ambiente do PHP

Sintaxe

Comentários

Declaração de variáveis

Constantes

Tipos de dados

Operadores

Estruturas de decisão

Estruturas de laço

Funções

Tecnologias WEB – PHP -ADAPTAÇÃO RICARDO

Sintaxe - Constantes

No PHP, a declaração de constantes também possui algumas regras:

Constantes devem ser declaradas em maiúsculas.

Constantes não podem ter um sinal de cifrão ( $ ) antes delas;

Constantes só podem ser definidas utilizando a função define();

Constantes podem ser definidas e acessadas de qualquer lugar sem que as

regras de escopo de variáveis sejam aplicadas;

Constantes não podem ser redefinidas ou eliminadas depois que elas são

criadas;

Constantes só podem conter valores escalares.

Exemplo de declaração de constantes:

<?php

define(“VARIAVEL”,"valor");

echo VARIAVEL;

?>

Tecnologias WEB – PHP -ADAPTAÇÃO RICARDO

Conteúdo

Linguagem Estática x Dinâmica

O que é PHP?

Configurando o Ambiente do PHP

Sintaxe

Comentários

Declaração de variáveis

Constantes

Tipos de dados

Operadores

Estruturas de decisão

Estruturas de laço

Funções

Tecnologias WEB – PHP -ADAPTAÇÃO RICARDO

Sintaxe - Tipos de Dados

O PHP trabalha com os tipos de dados:

Boolean

Integer

Float

String

Array

Object

Resource

Null

Tecnologias WEB – PHP -ADAPTAÇÃO RICARDO

Sintaxe - Tipos de Dados

Booleanos

Para especificar um literal booleano, use as palavras chave TRUE ou

FALSE. Ambas são insensitivas ao caso.

Inteiros

Inteiros podem ser especificados em notação decimal (base 10),

hexadecimal (base 16) ou octal (base 8), opcionalmente precedido de

sinal (- ou +). O tamanho de um inteiro é dependente de plataforma,

sendo um numero aproximado a 2 bilhões o valor mais comum (número

de 32 bits com sinal).

Overflow de inteiros Se você especifica um número além dos limites do tipo inteiro, ele será interpretado como um ponto

flutuante.

Tecnologias WEB – PHP -ADAPTAÇÃO RICARDO

Sintaxe - Tipos de Dados

Números de pontos flutuantes

O tamanho de um número de ponto flutuante é dependente de plataforma, sendo o máximo com uma precisão de 14 decimais digitais.

Strings

Uma string é uma série de caracteres. No PHP, um caracter é o mesmo que um byte, ou seja, há exatamente 256 caracteres diferentes possíveis. Não há nenhum problema se as strings se tornarem muito grandes. Não há nenhum limite para o tamanho de strings imposta pelo PHP, então não há razão para se preocupar com strings longas.

Arrays

Um array no PHP é atualmente um mapa ordenado. Um mapa é um tipo que relaciona valores para chaves. Este tipo é otimizado de várias maneiras, então você pode usá-lo como um array real, ou uma lista (vetor), hashtable (que é uma implementação de mapa), dicionário, coleção, pilha, fila e provavelmente mais. Como você pode ter outro array PHP como um valor, você pode facilmente simular árvores.

Tecnologias WEB – PHP -ADAPTAÇÃO RICARDO

Sintaxe - Tipos de Dados

Objetos

Utilizado na orientação a objetos

Resource

Resource (Recurso) é uma variável especial, mantendo uma referência

de recurso externo. Resources são criados e utilizados por funções

especiais. Por exemplo, quando criamos uma conexão com um banco

de dados, o PHP retorna uma variável, a qual possui o status da

conexão dentro do sistema.

NULL

O valor especial NULL representa que a variável não tem valor.

Tecnologias WEB – PHP -ADAPTAÇÃO RICARDO

Conteúdo

Linguagem Estática x Dinâmica

O que é PHP?

Configurando o Ambiente do PHP

Sintaxe

Comentários

Declaração de variáveis

Constantes

Tipos de dados

Operadores

Estruturas de decisão

Estruturas de laço

Funções

Tecnologias WEB – PHP -ADAPTAÇÃO RICARDO

Sintaxe - Operadores

Operadores aritméticos:

$x + $y – Adição;

$x - $y – Subtração;

$x / $y – Divisão;

$x * $y – Multiplicação;

$x % $y – Módulo;

Operadores de Atribuição:

O operador de atribuição é o igual ( = )

$x = ($y = 5) + 1; $y recebe o valor 5 e $ x recebe o valor da soma

entre $y e 1. $x recebe o valor 6;

Tecnologias WEB – PHP -ADAPTAÇÃO RICARDO

Sintaxe - Operadores

Operadores de comparação:

$x == $y – igual;

$x === $y – idêntico;

$x != $y – diferente;

$x > $y – maior que;

$x < $y – menor que;

$x >= $y – maior ou igual a;

$x <= $y – menor ou igual a;

Operadores de controle de erro:

O PHP suporta um operador de controle de erro: o caractere arroba (@). Quando ele precede uma expressão em PHP, qualquer mensagem de erro que possa ser gerada por aquela expressão será ignorada.

@gettype($variavel);

Tecnologias WEB – PHP -ADAPTAÇÃO RICARDO

Sintaxe - Operadores

Operadores de incremento/decremento:

++$x – pré-incremento;

$x++ – pós-incremento;

--$x – pré-decremento;

$x-- – pós decremento;

Operadores lógicos:

$x and $y – verdadeiro se $x e $y forem verdadeiros.

$x or $y – verdadeiro se $x ou $y forem verdadeiros.

$x xor $y – verdadeiro se $x ou $y forem verdadeiros, mas não ambos.

!$x – verdadeiro se $x for falso.

$x && $y – verdadeiro se $x e $y forem verdadeiros.

$x || $y – verdadeiro se $x ou $y forem verdadeiros.

Tecnologias WEB – PHP -ADAPTAÇÃO RICARDO

Sintaxe - Operadores

Operadores de texto (concatenação)

Para concatenar textos utilizamos o operador ponto ( . )

$ a = “a”; $b = “b”;

$c = $a.$b; //$c = “ab”;

Para atribuir e concatenar textos utilizamos o operador ponto e igual ( .= )

$c = “ab”; $c .= “c”; //$c igual a “abc”

Operadores de array:

$x + $y – união entre $x e $y;

$x == $y – igualdade – se possui os mesmos elementos;

$x === $y – identidade – se possui os mesmos elementos na mesma ordem;

$x != $y e $x <> $y – diferença;

$x !== $y – não possui a mesma identidade;

Tecnologias WEB – PHP -ADAPTAÇÃO RICARDO

Conteúdo

Linguagem Estática x Dinâmica

O que é PHP?

Configurando o Ambiente do PHP

Sintaxe

Comentários

Declaração de variáveis

Constantes

Tipos de dados

Operadores

Estruturas de decisão

Estruturas de laço

Funções

Tecnologias WEB – PHP -ADAPTAÇÃO RICARDO

Sintaxe - Estruturas de decisão

if...else... elseif

No PHP, assim como nas outras linguagens baseadas em C, os valores a serem comparados dentro deste tipo de estrutura devem estar entre parenteses.

if ($x == $y)

echo “x é igual y”;

Quando utilizamos mais de uma instrução dentro deste tipo de estrutura, é necessário o uso de chaves para determinar o início e fim da estrutura.

if ($x > $y) {

echo “x é maior que y;

$x = $y;

}

Tecnologias WEB – PHP -ADAPTAÇÃO RICARDO

Sintaxe - Estruturas de decisão

if...else...elseif

Uso do else

if ($x == $y){

echo “x é igual y”;

}else{

echo “x é diferente de y”;

}

Uso do elseif

if ($x == $y){

echo “x é igual y”;

}elseif ($x > $y){

echo “x é maior que y”;

}else{

echo “x é menor que y”;

}

Tecnologias WEB – PHP -ADAPTAÇÃO RICARDO

Sintaxe - Estruturas de decisão

switch – estrutura que substitui estruturas if aninhadas

switch($i){

case 0:

echo “i é igual a 0”;

break;

case 1:

echo “i é igual a 1”;

break;

case 2:

echo “i é igual a 2”;

break;

default:

echo “i é diferente de 0, 1 e 2”;

}

Tecnologias WEB – PHP -ADAPTAÇÃO RICARDO

Conteúdo

Linguagem Estática x Dinâmica

O que é PHP?

Configurando o Ambiente do PHP

Sintaxe

Comentários

Declaração de variáveis

Constantes

Tipos de dados

Operadores

Estruturas de decisão

Estruturas de laço

Funções

Tecnologias WEB – PHP -ADAPTAÇÃO RICARDO

Sintaxe - Estruturas de laço

Estrutura while – executa um bloco de instruções enquanto uma condição for satisfeita. O bloco de instruções é executado somente após a verificação da condição.

<?php

$i = 0;

while ($i < 10){

echo $i;

$i++;

}

?>

Estrutura do ... while – parecida com a estrutura while. A diferença é que aqui o bloco de instruções é executado antes da verificação da condição.

<?php

$i = 0;

do {

echo $i;

}while ($i > 0);

?>

Tecnologias WEB – PHP -ADAPTAÇÃO RICARDO

Sintaxe - Estruturas de laço

Estrutura for – utilizada quando precisamos repetir um bloco de instruções

por um determinado número de vezes.

<?php

for ($i = 0; $i <= 10; $i++){

echo $i;

}

?>

Tecnologias WEB – PHP -ADAPTAÇÃO RICARDO

Conteúdo

Linguagem Estática x Dinâmica

O que é PHP?

Configurando o Ambiente do PHP

Sintaxe

Comentários

Declaração de variáveis

Constantes

Tipos de dados

Operadores

Estruturas de decisão

Estruturas de laço

Funções

Tecnologias WEB – PHP -ADAPTAÇÃO RICARDO

Sintaxe - Funções

Funções são blocos de instruções criadas para realizar determinada tarefa dentro de um sistema.

Para criarmos uma função devemos seguir a seguinte sintaxe:

<?php

function nome_da_funcao(){

bloco de instruções;

}

?>

Podemos ainda definir a necessidade de parâmetros para uma função:

<?php

function nome_da_funcao($arg1, $arg2,...,$argN){

bloco de instruções;

}

?>

Tecnologias WEB – PHP -ADAPTAÇÃO RICARDO

Sintaxe - Funções

As funções podem retornar valores.

<?php

function funcao_com_retorno(){

bloco de instruções;

return resultado_da_função;

}

?>

Para executarmos uma função basta chamar seu nome em

qualquer parte do código, fora do bloco da função.

<?php

function nome_da_funcao (){

bloco de instruções;

return resultado_da_função;

}

nome_da_funcao();

?>

Tecnologias WEB – PHP -ADAPTAÇÃO RICARDO

Conteúdo

Linguagem Estática x Dinâmica

O que é PHP?

Configurando o Ambiente do PHP

Sintaxe

Comentários

Declaração de variáveis

Constantes

Tipos de dados

Operadores

Estruturas de decisão

Estruturas de laço

Funções

Tecnologias WEB – PHP -ADAPTAÇÃO RICARDO

Unidade IV – Introdução à Linguagem PHP

Parte 2

Tecnologias WEB – PHP -ADAPTAÇÃO RICARDO

Conteúdo

Tratando Informações com Formulários HTML

Reutilização de Código

Redirecionamento de páginas (Alteração do cabeçalho HTTP)

Sessão

Trabalhando com Banco de Dados

Oracle

Conexão, Manipulação e Acesso a Dados

MySQL

Conexão, Manipulação e Acesso a Dados

Tratamento de exceção

Tecnologias WEB – PHP -ADAPTAÇÃO RICARDO

Tratando Informações com Formulários HTML

Quando um formulário é enviado (submit), seus dados são enviados

para a página ou script indicado no atributo action do form. Se o

action não estiver configurado, os dados são enviados para a

própria página que contém o formulário.

Existem duas métodos para recuperação de valores enviados via

formulário, dependendo do método utilizado no atributo method do

form:

Utilizando a variável $_POST, para dados de formulários enviados via

método post.

Utilizando a variável $_GET, para dados de formulários enviados via

método get.

Tecnologias WEB – PHP -ADAPTAÇÃO RICARDO

Tratando Informações com Formulários HTML

Exemplo utilizando o método POST:

Código fonte - frmCadastro.php

<form name=“frmCadastro” method=“post” action=“manterCadastro.php”>

Nome <input type=“text” name=“nome”> <br>

Telefone <input type=“text” name=“telefone”> <br>

<input type=“submit” value=“Cadastrar”>

</form>

______________________________________________________________________

Código fonte - manterCadastro.php

<?

$nome = $_POST[“nome”];

$telefone = $_POST[“telefone”];

echo “Os dados cadastrados foram: $nome e $telefone”;

?>

Tecnologias WEB – PHP -ADAPTAÇÃO RICARDO

Tratando Informações com Formulários HTML

Exemplo utilizando o método GET:

Código fonte - frmCadastro.php

<form name=“frmCadastro” method=“get” action=“manterCadastro.php”>

Nome <input type=“text” name=“nome”> <br>

Telefone <input type=“text” name=“telefone”> <br>

<input type=“submit” value=“Cadastrar”>

</form>

______________________________________________________________________

Código fonte - manterCadastro.php

<?

$nome = $_GET[“nome”];

$telefone = $_GET[“telefone”];

echo “Os dados cadastrados foram: $nome e $telefone”;

?>

Tecnologias WEB – PHP -ADAPTAÇÃO RICARDO

Recuperação de valores da URL (Método GET)

No caso de parâmetros passados diretamente pela url, podemos utilizamos

a variável $_GET para capturar seus valores.

Exemplo: O navegador acessa a seguinte url:

http://localhost/manterCadastro.php?nome=Fulano&telefone=32122323

______________________________________________________________________

Código fonte - manterCadastro.php

<?

$nome = $_GET[“nome”];

$telefone = $_GET[“telefone”];

echo “Os dados cadastrados foram: $nome e $telefone”;

?>

Tecnologias WEB – PHP -ADAPTAÇÃO RICARDO

Conteúdo

Tratando Informações com Formulários HTML

Reutilização de Código

Redirecionamento de páginas (Alteração do cabeçalho HTTP)

Sessão

Trabalhando com Banco de Dados

Oracle

Conexão, Manipulação e Acesso a Dados

MySQL

Conexão, Manipulação e Acesso a Dados

Tratamento de exceção

Tecnologias WEB – PHP -ADAPTAÇÃO RICARDO

Reutilização de código

Em qualquer linguagem de programação é importante o reuso de código.

No PHP podemos criar arquivos contendo apenas funções, ou qualquer

outro tipo de código que será comum a várias áreas do site.

Estes arquivos devem então ser chamados, quando necessários, pelas

páginas que os utilizarão.

Para isso, o PHP possui duas funções include() e require().

include(“funcoes.php”);

require(“meuscript.php”);

Tecnologias WEB – PHP -ADAPTAÇÃO RICARDO

Reutilização de código

A diferença entre eles é que, no caso da função include(), se o arquivo a

ser incluído não existir, o sistema exibe uma mensagem de erro e continua

processando a página.

Já na função require(), após notar a falta do script, além de exibir a

mensagem, o interpretador do PHP termina a execução da página.

Podemos utilizar estas funções para reutilizar qualquer trecho de código,

tanto PHP, quanto HTML, ou javascript, ou até mesmo um trecho de texto

simples.

Tecnologias WEB – PHP -ADAPTAÇÃO RICARDO

Conteúdo

Tratando Informações com Formulários HTML

Reutilização de Código

Redirecionamento de páginas (Alteração do cabeçalho HTTP)

Sessão

Trabalhando com Banco de Dados

Oracle

Conexão, Manipulação e Acesso a Dados

MySQL

Conexão, Manipulação e Acesso a Dados

Tratamento de exceção

Tecnologias WEB – PHP -ADAPTAÇÃO RICARDO

Redirecionamento de Páginas (Alteração do cabeçalho HTTP)

No PHP, podemos fazer o redirecionamento de páginas utilizando a função header(). Esta função na verdade, manipula o cabeçalho HTTP da página aberta no navegador, e com isso podemos alterar a variável responsável por manter a página aberta na URL do navegador.

Exemplo

Redirecionando a página atual para a “index.php” do seu site.

header (“Location: index.php”);

Redirecionando a página atual para outro site.

header (“Location: http://www.google.com.br”);

OBS: Ao usar a função header(), devemos ter em mente, que nenhuma saída de código HTML deve ter sido gerada na página de onde será feito o redirecionamento. Se qualquer tag HTML, ou até mesmo um espaço em branco tiver sido escrito na página antes de se tentar o redirecionamento, este falhará exibindo no navegador uma mensagem de erro.

Tecnologias WEB – PHP -ADAPTAÇÃO RICARDO

Conteúdo

Tratando Informações com Formulários HTML

Reutilização de Código

Redirecionamento de páginas (Alteração do cabeçalho HTTP)

Sessão

Trabalhando com Banco de Dados

Oracle

Conexão, Manipulação e Acesso a Dados

MySQL

Conexão, Manipulação e Acesso a Dados

Tratamento de exceção

Tecnologias WEB – PHP -ADAPTAÇÃO RICARDO

Sessão

Quando um usuário acessa um site, o servidor Web onde o site está

hospedado reserva um espaço na memória do servidor, destinado a

armazenar informações enquanto o usuário estiver acessando o site.

Este espaço de memória é chamado de Sessão. Toda sessão quando

iniciada possui um identificador único, este identificador geralmente é

armazenado em um cookie, e é enviado ao servidor sempre que o usuário

faz uma requisição, e devolvido sempre que o servidor envia a resposta.

Utilizando linguagens de programação como o PHP, podemos manipular a

Sessão, armazenando quaisquer informações necessárias, para que

possamos utilizá-las durante a navegação do usuário pelo site.

Tecnologias WEB – PHP -ADAPTAÇÃO RICARDO

Sessão

Para utilizarmos Sessão em PHP, devemos “avisar” as páginas onde ela

será utilizada. Para isso utilizamos a função session_start() no início de

todas as páginas do site que manipularão a Sessão.

Para adicionarmos alguma informação na Sessão, utilizamos a variável

$_SESSION. A forma de utilização é:

$_SESSION[“variavel”] = valor;

Para capturarmos a informação contida na Sessão, utilizamos a mesma

variável, só que desta vez não devemos atribuir nenhum valor a ela.

echo $_SESSION[“variavel”];

Se por algum motivo precisarmos destruir a sessão do usuário,

utiliamos a função session_destroy().

Tecnologias WEB – PHP -ADAPTAÇÃO RICARDO

Conteúdo

Tratando Informações com Formulários HTML

Reutilização de Código

Redirecionamento de páginas (Alteração do cabeçalho HTTP)

Sessão

Trabalhando com Banco de Dados

Oracle

Conexão, Manipulação e Acesso a Dados

MySQL

Conexão, Manipulação e Acesso a Dados

Tratamento de exceção

Segurança

Técnicas para melhorar a segurança do site

Tecnologias WEB – PHP -ADAPTAÇÃO RICARDO

Trabalhando com Banco de Dados

Para trabalharmos com bancos de dados em PHP, podemos utilizar

conjuntos específicos de comandos, para cada tipo de banco ou utilizar

uma camada de abstração de persistência, como ODBC, ADO e o PDO

(PHP Data Objects).

Devemos habilitar o uso de extensões(dlls), conforme o banco a ser

utilizado. Isto é feito descomentando algumas linhas no arquivo php.ini.

Para o oracle: extension=php_oci8.dll

Para o mysql: extension=php_mysql.dll

Com isso o PHP se torna apto a acessar e manipular informações dentro

de um servidor de banco de dados.

Tecnologias WEB – PHP -ADAPTAÇÃO RICARDO

Trabalhando com Banco de Dados

Quando trabalhamos com banco de dados em aplicações, existe uma lógica que devemos seguir:

Passo 1 - Abrir conexão com o banco.

Passo 2 - Executar comando(s) no banco.

Passo 3 - Fechar conexão com o banco.

Ao término da execução de instruções no banco, devemos fechar a conexão com o mesmo, afim de evitar possíveis problemas de performance no servidor.

Lembrando que, cada conexão aberta no banco, ocupa espaço em memória e tempo de processamento.

Tecnologias WEB – PHP -ADAPTAÇÃO RICARDO

Conteúdo

Tratando Informações com Formulários HTML

Reutilização de Código

Redirecionamento de páginas (Alteração do cabeçalho HTTP)

Sessão

Trabalhando com Banco de Dados

Oracle

Conexão, Manipulação e Acesso a Dados

MySQL

Conexão, Manipulação e Acesso a Dados

Tratamento de exceção

Tecnologias WEB – PHP -ADAPTAÇÃO RICARDO

Banco de Dados – Oracle – Acesso ao servidor

Passo 1 - Abrir conexão com o banco.

Antes de criarmos a conexão com o banco devemos ter em mãos algumas informações. São elas:

Usuário – Nome de usuário com acesso ao banco.

Senha – Senha do usuário.

Host – Caminho de acesso ao servidor. Ex: “//localhost:1521”

De posse dessas informações podemos criar nossa conexão com o banco de dados utilizando o comando oci_connect();

oci_connect(usuario, senha, host);

Em caso de sucesso, este comando retorna um identificador de conexão. Em caso de falha este comando retornará FALSE.

Tecnologias WEB – PHP -ADAPTAÇÃO RICARDO

Banco de Dados – Oracle – Acesso ao servidor

Exemplo

$conexao = oci_connect(“usuario”, “senha”, “host”);

if ($conexao == TRUE){

echo “Conexão com o servidor efetuada com sucesso”;

}else{

echo “Falha ao conectar no servidor”;

}

Tecnologias WEB – PHP -ADAPTAÇÃO RICARDO

Banco de Dados – Oracle – Acesso ao servidor

Passo 3 – Fechar conexão com o banco de dados.

Após a execução dos comandos no banco devemos fechar a

conexão com o servidor para poupar recursos do servidor.

Para fechar a conexão com o banco utilizamos a função

oci_close().

oci_close(identificador de conexão);

O comando oci_close() retorna um TRUE em caso de sucesso e

FALSE em caso de falha;

Tecnologias WEB – PHP -ADAPTAÇÃO RICARDO

Banco de Dados – Oracle – Acesso ao servidor

Exemplo

$conexao = oci_connect(“usuario”, “senha”, “host”);

if ($conexao == TRUE){

echo “Conexão com o servidor efetuada com sucesso”;

}else{

echo “Falha ao conectar no servidor”;

}

if(oci_close($conexao)){

echo “Conexão com o banco fechada com sucesso.”;

}else{

echo “Não havia conexão aberta ou a conexão já tinha sido fechada.”;

}

Tecnologias WEB – PHP -ADAPTAÇÃO RICARDO

Banco de Dados – Oracle – Manipulação de Dados

Passo 2 – Executar comandos no banco de dados.

A execução de comandos no Oracle pode se dar através de

declarações SQL ou execução de procedures já criadas no

banco.

Para que uma desses comandos seja executado, a biblioteca

OCI do PHP, precisa preparar o comando para ser executado

no Oracle. Para isso utilizamos a função oci_parse().

$comando = oci_parse(identificador de conexão, string_sql);

O comando oci_parse() retorna um resource contendo

identificador de declaração OCI em caso de sucesso e FALSE

em caso de falha;

Tecnologias WEB – PHP -ADAPTAÇÃO RICARDO

Banco de Dados – Oracle – Manipulação de Dados

Após a definição do comando, podemos executar o comando no

banco através do método oci_execute();

oci_execute(identificador_de_declaração_OCI);

O comando oci_execute() retorna TRUE em caso de sucesso e

FALSE em caso de falha.

Além disso, ao executar o comando, esta função faz com que a

variável que representa seu comando (resource contendo o

Identificador de Declaração OCI), armazene informações a respeito

da instrução SQL executada.

O tipo de informações armazenadas dependerão do tipo de

instrução SQL executada.

Tecnologias WEB – PHP -ADAPTAÇÃO RICARDO

Banco de Dados – Oracle – Manipulação de Dados

Ao executar comandos do tipo INSERT, UPDATE, DELETE, CREATE,

DROP, a função oci_execute ao executar o comando, além de retornar

TRUE ou FALSE, no caso de sucesso ou falha da execução, armazena no

Identificador de Declaração OCI, a quantidade de registros e colunas das

tabelas afetadas pelo comando SQL.

No caso de comandos do tipo SELECT, SHOW ou DESCRIBE, a função

oci_execute, além das informações de quantidade de registros e colunas

afetadas, o Identificador de Declaração OCI também armazena um buffer

de dados contendo o resultado do comando SQL.

Neste caso os dados retornados, podem ser acessados através de outras

funções da biblioteca OCI.

Tecnologias WEB – PHP -ADAPTAÇÃO RICARDO

Banco de Dados – Oracle – Manipulação de Dados

Exemplo do uso de comando INSERT:

$conexao = oci_connect(“usuario”, “senha”, “host”);

$sql = “INSERT INTO FUNCIONARIO (MATRICULA, NOME) VALUES (1,‟FULANO‟)”;

$comando = oci_parse($conexao, $sql);

if (oci_execute($comando)){

$numeroRegistros = oci_num_rows($comando);

echo “Comando executado com sucesso. ”;

echo “Foram afetados $numeroRegistros registros.”;

}else{

echo “Falha ao executar comando.”;

}

oci_close($conexao);

Tecnologias WEB – PHP -ADAPTAÇÃO RICARDO

Banco de Dados – Oracle – Manipulação de Dados

No caso de comandos que retornam informações do banco, podemos utilizar algumas funções para extrair as informações armazenadas no Identificador de Declaração OCI. São elas:

oci_result – retorna o dados do registro atual.

oci_fecth_row – recupera o próximo registro em forma de array de índices numéricos.

oci_fecth_assoc – recupera o próximo registro em forma de array de índices associativos, onde cada índice é o nome do campo na tabela.

oci_fecth_array – recupera o próximo registro em forma de array de índices numéricos e associativos, ao mesmo tempo.

oci_fecth – recupera o próximo registro. Usado em declarações do tipo SELECT.

oci_fecth_object - recupera o próximo registro em forma de objeto.

oci_fecth_all – retorna todos os dados de resutado em um array pré-definido pelo desenvolvedor.

Todas elas necessitam como parâmetro do Identificador de Declaração OCI.

Tecnologias WEB – PHP -ADAPTAÇÃO RICARDO

Banco de Dados – Oracle – Manipulação de Dados

Exemplo do uso de comando INSERT:

$conexao = oci_connect(“usuario”, “senha”, “host”);

$sql = “SELECT matricula, nome, salario FROM FUNCIONARIO”;

$comando = oci_parse($conexao, $sql);

if (oci_execute($comando)){

while (oci_fecth_array($comando)){

echo “Matricula: ”.oci_result($comando,”matricula”);

echo “Nome: ”.oci_result($comando,”nome”);

echo “Salário: ”.oci_result($comando,”salario”);

}

}

oci_close($conexao);

Tecnologias WEB – PHP -ADAPTAÇÃO RICARDO

Conteúdo

Tratando Informações com Formulários HTML

Reutilização de Código

Redirecionamento de páginas (Alteração do cabeçalho HTTP)

Sessão

Trabalhando com Banco de Dados

Oracle

Conexão, Manipulação e Acesso a Dados

MySQL

Conexão, Manipulação e Acesso a Dados

Tratamento de exceção

Tecnologias WEB – PHP -ADAPTAÇÃO RICARDO

Banco de Dados – MySQL – Acesso ao servidor

Passo 1 - Abrir conexão com o banco.

Antes de criarmos a conexão com o banco devemos ter em mãos algumas informações. São elas:

Usuário – Nome de usuário com acesso ao banco.

Senha – Senha do usuário.

Host – Nome ou IP do servidor. Ex: “localhost”

De posse dessas informações podemos criar nossa conexão com o banco de dados utilizando o comando mysql_connect();

mysql_connect(host, usuario, senha);

Em caso de sucesso, este comando retorna um identificador de conexão. Em caso de falha este comando retornará FALSE.

Tecnologias WEB – PHP -ADAPTAÇÃO RICARDO

Banco de Dados – MySQL – Acesso ao servidor

Exemplo

$conexao = mysql_connect(“host”,“usuario”, “senha”);

if ($conexao == TRUE){

echo “Conexão com o servidor efetuada com sucesso.”;

}else{

echo “Falha ao conectar no servidor.”;

}

Tecnologias WEB – PHP -ADAPTAÇÃO RICARDO

Banco de Dados – MySQL – Acesso ao servidor

Passo 3 – Fechar conexão com o banco de dados.

Após a execução dos comandos no banco devemos fechar a

conexão com o servidor para poupar recursos do servidor.

Para fechar a conexão com o banco utilizamos a função

mysql_close().

mysql_close(identificador de conexão);

O comando mysql_close() retorna TRUE em caso de sucesso e

FALSE em caso de falha;

Tecnologias WEB – PHP -ADAPTAÇÃO RICARDO

Banco de Dados – MySQL – Acesso ao servidor

Exemplo

$conexao = mysql_connect(“host”,“usuario”, “senha”);

if ($conexao == TRUE){

echo “Conexão com o servidor efetuada com sucesso.”;

}else{

echo “Falha ao conectar no servidor.”;

}

if(mysql_close($conexao)){

echo “Conexão com o banco fechada com sucesso.”;

}else{

echo “Não havia conexão aberta ou a conexão já tinha sido

fechada.”;

}

Tecnologias WEB – PHP -ADAPTAÇÃO RICARDO

Banco de Dados – MySQL – Manipulação de Dados

Passo 2 – Executar comandos no banco de dados.

Após conectar no servidor de banco de dados, devemos especificar

qual banco será utilizado. Isto é feito através da função

mysql_select_db();

mysql_select_db(nome do banco);

A execução de comandos no MySQL é feita através de declarações

SQL.

Após a definição do comando, podemos executar o comando no banco

através do método mysql_query();

mysql_query(declaração_sql);

Além disso, ao executar o comando, esta função faz com que a variável

que estiver representando-a, armazene informações a respeito da

instrução SQL executada.

$variavel = mysql_query(declaração_sql);

Tecnologias WEB – PHP -ADAPTAÇÃO RICARDO

Banco de Dados – MySQL – Manipulação de Dados

O tipo de informações armazenadas dependerão do tipo de instrução SQL

executada.

Para outros tipos de consultas SQL, INSERT, UPDATE, DELETE, DROP,

etc, mysql_query() retorna TRUE em caso de sucesso ou FALSE em caso

de erro.

Para comandos SELECT, SHOW, DESCRIBE ou EXPLAIN, mysql_query()

retorna um resource em caso de sucesso, ou FALSE em caso de falha.

Neste último caso, os resultados da instrução SQL podem ser acessados

através de outras funções da biblioteca mysql.

Tecnologias WEB – PHP -ADAPTAÇÃO RICARDO

Banco de Dados – MySQL – Manipulação de Dados

O recurso de resultado retornado pode ser passado para

mysql_fetch_array(), e outras funções para manipular tabelas de

resultados, para acessar os dados retornados.

Use mysql_num_rows(query) para obter quantas linhas foram retornadas

para um comando SELECT ou mysql_affected_rows(link resource) para

obter quantas linhas foram afetadas por um comando DELETE, INSERT,

REPLACE, ou UPDATE.

mysql_query() irá também falhar e retornar FALSE se o usuário não tiver

permissões para acessar a tabela(s) referenciadas pela consulta.

Tecnologias WEB – PHP -ADAPTAÇÃO RICARDO

Banco de Dados – MySQL – Manipulação de Dados

Exemplo do uso de comando INSERT:

$conexao = mysql_connect(“host”,“usuario”, “senha”);

$banco = mysql_select_db(“banco”);

$sql = “INSERT INTO FUNCIONARIO (MATRICULA, NOME) VALUES (1,‟FULANO‟)”;

$resultado = mysql_query($sql, $conexao);

if ($resultado){

$numeroRegistros = mysql_affected_rows($conexao);

echo “Comando executado com sucesso. ”;

echo “Foram afetados $numeroRegistros registros.”;

}else{

echo “Falha ao executar comando.”;

}

mysql_close($conexao);

Tecnologias WEB – PHP -ADAPTAÇÃO RICARDO

Banco de Dados – MySQL – Manipulação de Dados

No caso de comandos que retornam informações do banco, podemos utilizar algumas funções para extrair as informações armazenadas no recurso de resultado. São elas:

mysql_fetch_row – recupera o próximo registro em forma de array de índices numéricos.

mysql_fetch_assoc – recupera o próximo registro em forma de array de índices associativos, onde cada índice é o nome do campo na tabela.

mysql_fecth_array – recupera o próximo registro em forma de array de índices numéricos e associativos, ao mesmo tempo.

mysql_fecth_object - recupera o próximo registro em forma de objeto.

Todas elas necessitam como parâmetro do recurso contendo o resultado do comando mysql_query()

Tecnologias WEB – PHP -ADAPTAÇÃO RICARDO

Banco de Dados – MySQL – Manipulação de Dados

Exemplo do uso de comando SELECT:

$conexao = mysql_connect(“usuario”, “senha”, “host”);

$banco = mysql_select_db(“banco”);

$sql = “SELECT matricula, nome, salario FROM funcionario”;

$resultado = mysql_query($sql, $conexao,);

if ($resultado){

while ($registro = mysql_fecth_array($resultado)){

echo “Matricula: ”.$registro[”matricula”];

echo “Nome: ”. $registro[”nome”];

echo “Salário: ”. $registro[”salario”];

}

}

mysql_close($conexao);

Tecnologias WEB – PHP -ADAPTAÇÃO RICARDO

Conteúdo

Tratando Informações com Formulários HTML

Reutilização de Código

Redirecionamento de páginas (Alteração do cabeçalho HTTP)

Sessão

Trabalhando com Banco de Dados

Oracle

Conexão, Manipulação e Acesso a Dados

MySQL

Conexão, Manipulação e Acesso a Dados

Tratamento de exceção

Tecnologias WEB – PHP -ADAPTAÇÃO RICARDO

Tratamento de exceção

Antes da versão 5 o tratamento de erros no PHP era pouco

funcional.

Para gerar mensagens de erro amigáveis era necessário omitir o

erro utilizando o caractere @ antes da função ou comando

executado e a palavra chave die para exibir uma mensagem na tela.

function dividir($a, $b){

$c = ($a / $b);

return $c;

}

echo @dividir(1,0) or die ("<br>Erro de divisão por zero");

Tecnologias WEB – PHP -ADAPTAÇÃO RICARDO

Tratamento de exceção

Após a versão 5 do PHP, o uso da Classe Exception facilitou muito o

trabalho para captura de erros. Agora pode-se gerar a exceção e capturá-la

através de blocos try...catch

function inverter($x) {

if ($x==0) {

throw new Exception(„Divisão por zero.');

}else {

return 1/$x;

}

}

try {

echo inverter(5) . "<br>”;

echo inverter(0) . "<br>”;

}catch (Exception $e) {

echo “Erro ao executar função: ", $e->getMessage(), "\n“;

}

Tecnologias WEB – PHP -ADAPTAÇÃO RICARDO

Conteúdo

Tratando Informações com Formulários HTML

Reutilização de Código

Redirecionamento de páginas (Alteração do cabeçalho HTTP)

Sessão

Trabalhando com Banco de Dados

Oracle

Conexão, Manipulação e Acesso a Dados

MySQL

Conexão, Manipulação e Acesso a Dados

Tratamento de exceção

Tecnologias WEB – PHP -ADAPTAÇÃO RICARDO