Aula Revisão + Banco de Dados

Page 1

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: Navegador do usuário requisita página Servidor responde à requisição com conteúdo HTML

Conteúdo em HTML

Páginas dinâmicas no servidor: Navegador do usuário requisita página

Servidor responde à requisição com conteúdo HTML Tecnologias WEB – PHP -ADAPTAÇÃO RICARDO

Processamento Conteúdo em PHP


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>

Habilitados por padrão

<? instruções ?>

Forma abreviada da primeira opção, para funcionar deve-se habilitar no arquivo php.ini a opção short_open_tag para on

<% instruções %>

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 

Strings 

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

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 

Resource 

Utilizado na orientação a objetos

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


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.