Upload
ricardo-marciano
View
228
Download
3
Embed Size (px)
DESCRIPTION
PHP e banco de dados
Citation preview
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
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