apostila de programação web - parte 1 · apostila de programação web - parte 1 (2° ano téc....

26
INSTITUTO FEDERAL CATARINENSE CAMPUS AVANÇADO SOMBRIO Apostila de Programação WEB - Parte 1 (2° ano Téc. em Informática integrado ao E.M.) Professor: Marcos Henrique de Morais Golinelli Sombrio – SC (2017)

Upload: lehuong

Post on 09-Dec-2018

233 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Apostila de Programação WEB - Parte 1 · Apostila de Programação WEB - Parte 1 (2° ano Téc. em Informática integrado ao E.M.) Professor: ... •PHP é gratuito para fazer o

INSTITUTO FEDERAL CATARINENSECAMPUS AVANÇADO SOMBRIO

Apostila de Programação WEB - Parte 1(2° ano Téc. em Informática integrado ao E.M.)

Professor: Marcos Henrique de Morais Golinelli

Sombrio – SC (2017)

Page 2: Apostila de Programação WEB - Parte 1 · Apostila de Programação WEB - Parte 1 (2° ano Téc. em Informática integrado ao E.M.) Professor: ... •PHP é gratuito para fazer o

Sumário1O que é PHP?......................................................................................................................................42 Instalação...........................................................................................................................................4

2.1. Instalação no Windows.............................................................................................................42.2. Instalação no Linux (Ubuntu)...................................................................................................52.3. Testando o ambiente.................................................................................................................5

3 Sintaxe básica....................................................................................................................................83.1.Gerando código em HTML......................................................................................................10

Comentários em PHP................................................................................................................113.2.Editor de Códigos....................................................................................................................12

4Variáveis e tipos................................................................................................................................124.1.Operadores...............................................................................................................................14

Operadores aritméticos..............................................................................................................14Operadores de Atribuição..........................................................................................................15Operadores de comparação.......................................................................................................15Operadores de incremento e decremento..................................................................................15Operadores Lógicos..................................................................................................................16

4.2.Estruturas de Controle.............................................................................................................16IF condição................................................................................................................................16IF … else instrução...................................................................................................................17If … elseif …. else....................................................................................................................17SWHITCH................................................................................................................................18

4.3.Laços de Repetição..................................................................................................................19Laço de repetição while............................................................................................................20Laço de repetição do while.......................................................................................................20Laço de repetição FOR..............................................................................................................21Laço foreach..............................................................................................................................22

4.4.Funções....................................................................................................................................225Básico sobre formulário...................................................................................................................22

5.1.Métodos GET e POST.............................................................................................................235.2.Obtendo os dados.....................................................................................................................24

6Referências.......................................................................................................................................26

Page 3: Apostila de Programação WEB - Parte 1 · Apostila de Programação WEB - Parte 1 (2° ano Téc. em Informática integrado ao E.M.) Professor: ... •PHP é gratuito para fazer o

Índice de figuras Figura 1: Exemplo de menu de opções WAMP5.................................................................................6 Figura 2: Exemplo de menu de configuração EasyPHP......................................................................7 Figura 3: Exemplo de menu de configuração XAMPP.......................................................................7 Figura 4: Informações do phpinfo()....................................................................................................8 Figura 5: Funcionamento de uma página dinâmica PHP.....................................................................9 Figura 6: Delimitadores PHP...............................................................................................................9 Figura 7: Exemplo e código PHP.......................................................................................................10 Figura 8: Exemplo de programa utilizando o comando echo............................................................10 Figura 9: Exemplos de tipos de comentários em PHP.......................................................................11 Figura 10: Exemplo em que o PHP não é case sensitive...................................................................12 Figura 11: Exemplo onde o PHP é case sensitive..............................................................................12 Figura 12: Exemplos de variáveis.....................................................................................................13 Figura 13: Exemplo resultado de um código PHP exibindo texto e variável com o comando echo “”.........................................................................................................................................................13 Figura 14: Exemplo resultado de um código PHP exibindo texto e variável com o comando echo “”e . para concatenação..........................................................................................................................14 Figura 15: Exemplo de IF..................................................................................................................17 Figura 16: Exemplo de IF ... else.......................................................................................................17 Figura 17: Exemplo de IF.. else if .. else...........................................................................................18 Figura 18: Exemplo de IF.. else if .. eles...........................................................................................18 Figura 19: Exemplo de switch com PHP...........................................................................................19 Figura 20: Exemplo de switch PHP...................................................................................................19 Figura 21: while, exemplo da sintaxe e exemplo simples.................................................................20 Figura 22: Exemplo de while com 2 variáveis..................................................................................20 Figura 23: Sintaxe, exemplo 1 e exemplo 2 de laço de repetição do while.......................................21 Figura 24. Exemplo de FOR e resultado da execução.......................................................................22 Figura 25. Exemplo de foreach e resultado da execução..................................................................22 Figura 26: Exemplo de formulário e pagina de captura de dados modo POST................................23

Page 4: Apostila de Programação WEB - Parte 1 · Apostila de Programação WEB - Parte 1 (2° ano Téc. em Informática integrado ao E.M.) Professor: ... •PHP é gratuito para fazer o

1 O que é PHP?

PHP é uma linguagem que permite criar sites web dinâmicos, fundamentada nos dadossubmetidos pelo usuário e derivada dos dados contidos no banco de dados, que são alteradosfrequentemente. Vamos pegar o exemplo de uma loja virtual. Os produtos estão sempre sofrendoalterações, seja no preço, na quantidade em estoque, nos produtos em promoções, nos lançamentos,etc. Hoje, quando você entra em uma loja virtual, verá alguns produtos em promoção, outros emlançamentos, com um determinado preço.

Na próxima semana que você visitar o site, pode ser que os preços estejam mais baixos, porcausa de novas promoções, ou aquele produto que você tinha visto não se encontre mais emestoque, já tenha sido vendido.

Passaremos a programar para web sob a visão do servidor. Para isso, utilizaremos alinguagem PHP. Como pré-requisito, é necessário o conhecimento de HTML, principalmente deformulário, que será utilizado para enviar dados para o servidor. Portanto é extremamenteimportante que você revise o conteúdo visto em Fundamentos do Desenvolvimento Web.

O código PHP é executado no servidor, sendo enviado para o cliente apenas HTML. Dessamaneira é possível interagir com bancos de dados e aplicações existentes no servidor, com avantagem de não expor o código fonte para o cliente.

O PHP foi criado em 1995 por Rasmus Lerdorf com o nome de Personal Home Page Tools(Ferramentas Para Página Pessoal), para auxiliar no desenvolvimento de páginas simples. Comoteve boa aceitação e muitos programadores utilizando-as, novas versões foram desenvolvidas comcada vez mais recursos.

Atualmente PHP é um acrônimo para "PHP: Hypertext Preprocessor"

•O PHP é uma linguagem de script de código aberto amplamente utilizada

•Os scripts PHP são executados no servidor

•PHP é gratuito para fazer o download e usar

Existem outras linguagens de programação que podemos utilizar para criar as páginas dinâmicas,como Java, Perl, ASP, etc.

2 InstalaçãoPara testar as páginas PHP, não basta dar um duplo clique nos “arquivos.php”, como se faz

com os.. .htm ou .html. É necessário ter um servidor web configurado para isso. Um dos servidoresweb mais utilizados é o Apache. Outros mais conhecidos são o NGINX e o IIS (Microsoft)

2.1. Instalação no Windows

Page 5: Apostila de Programação WEB - Parte 1 · Apostila de Programação WEB - Parte 1 (2° ano Téc. em Informática integrado ao E.M.) Professor: ... •PHP é gratuito para fazer o

Você pode instalar o Apache e o PHP separados. Para isso basta pegar os arquivos deinstalação nos respectivos sites oficiais. Porém, configurações manuais deverão ser feitas para osdois funcionarem perfeitamente.

A forma mais fácil de instalar é utilizar pacotes que instalam e configuram todos osprogramas necessários para o desenvolvimento de páginas web de uma única vez. Um conjuntomuito utilizado consiste do Apache (servidor web), MySQL (banco de dados) e PHP (linguagempara as páginas web dinâmicas), conhecido como AMP (inicial de cada produto). Quando essesprodutos são instalados no Linux, chamamos de LAMP. Quando são instalados no Windows,chamamos de WAMP.

Os principais instaladores são: WAMP5 (http://www.wampserver.com) e EasyPHP(http://www.easyphp.org) e XAMPP (www.apachefriends.org)

2.2. Instalação no Linux (Ubuntu)

No Ubuntu também podemos instalar os programas separados, usando algum instalador,como o apt-get. Na mesma linha de comando é possível instalar todos os pacotes necessários, bastadigitar:

sudo apt-get install apache2 php5 libapache2-mod-php5 mysql-server libapache2-mod-auth-mysql php5-mysql

Nas versões mais novas do Ubuntu, também é possível instalar um pacote com todos osprogramas. O comando é:

sudo tasksel install lamp-server

Depois da instalação será necessário reinicializar o Apache. Para isso digite:

sudo /etc/init.d/apache2 restart

2.3. Testando o ambiente

Em qualquer instalação, seja no Windows ou no Linux, um diretório específico será criadopara colocar as páginas em PHP, chamado www ou htdocs. Quando o Apache recebe umasolicitação para exibir uma página, ele buscará nesse diretório.

No Windows, o diretório htdocs fica dentro do diretório de instalação do produto. Porexemplo, se você usou o XAMPP, o diretório é:

C:\xampp\htdocs

O diretório “XAMPP” pode mudar de nome de acordo com a versão instalada.

No Linux, comumente o diretório é:

Page 6: Apostila de Programação WEB - Parte 1 · Apostila de Programação WEB - Parte 1 (2° ano Téc. em Informática integrado ao E.M.) Professor: ... •PHP é gratuito para fazer o

/var/www

Podem ser criados subdiretórios dentro do diretório www. É até recomendado que se façaisso, para organizar melhor as páginas.

Para testar o ambiente, primeiro devemos verificar se os programas estão em execução. Vocêpode configurá-los para iniciar automaticamente, quando o computador for ligado, ou manualmente.

Tanto o WAMP5, EasyPHP quanto o XAMPP colocam um ícone próximo ao relógio quecontém as opções para inicializar (start) ou parar (stop) os processos. No WAMP5, o ícone éparecido com um velocímetro de um carro. No EasyPHP, o ícone é o desenho de letra ‘E’. NaFigura 01 vemos o exemplo do WAMP5 e na Figura 02 vemos o exemplo do EasyPHP e na Figura03 o exemplo do XAMPP

Figura 1: Exemplo de menu de opções WAMP5.

Fonte: Glazar 2011, p17

Page 7: Apostila de Programação WEB - Parte 1 · Apostila de Programação WEB - Parte 1 (2° ano Téc. em Informática integrado ao E.M.) Professor: ... •PHP é gratuito para fazer o

Agora vamos criar um arquivo com extensão .php (teste.php, por exemplo) na pasta base htdocs ou em algum subdiretório, como no exemplo web_2ano. Abra-o com qualquer editor de texto e digite:

<?php phpinfo(); ?>

ou

<?phpphpinfo();?>

Figura 2: Exemplo de menu de configuração EasyPHP

Fonte: Glazar 2011, p.18

Figura 3: Exemplo de menu de configuração XAMPP.

Fonte: Do Autor.

Page 8: Apostila de Programação WEB - Parte 1 · Apostila de Programação WEB - Parte 1 (2° ano Téc. em Informática integrado ao E.M.) Professor: ... •PHP é gratuito para fazer o

Salve-o e em seguida digite em seu navegador favorito o seguinte endereço:

http://localhost/ web_2ano/ teste.php.

teste.php é o nome do arquivo PHP que você criou. localhost significa que o seu navegadorirá procurar o arquivo no seu próprio computador, no diretório www ou htdocs configurado nainstalação. Na internet, como o servidor está em outro local, substitui-se localhost pelo endereçoweb da empresa, como por exemplo: http://www.empresaxyz.com.br/cadastro.php

Se a instalação estiver correta, uma tela com informações sobre a configuração do PHPdeverá ser exibida, como indicado pela Figura XX a seguir.

3 Sintaxe básica

O código do PHP é embutido dentro de um arquivo HTML, quando for necessário algumprocessamento pelo servidor. Depois que o servidor processar o código PHP, apenas o que forgerado em HTML será enviado de volta para o usuário; assim, o usuário não conseguirá ver ocódigo em PHP, que ficará apenas no servidor. A Figura 05 ilustra o funcionamento de uma páginaweb dinâmica.

Figura 4: Informações do phpinfo()

Fonte: Do autor.

Page 9: Apostila de Programação WEB - Parte 1 · Apostila de Programação WEB - Parte 1 (2° ano Téc. em Informática integrado ao E.M.) Professor: ... •PHP é gratuito para fazer o

Passo 1 – O usuário em seu navegador solicita uma página em PHP, por exemplo, consulta.php. Essa solicitação é enviada pelo protocolo HTTP ao servidor web da empresa (por exemplo, o Apache).

Passo 2 – O Apache chama a página PHP que foi solicitada e a executa.

Passo 3 – A página PHP pode ou não fazer acesso ao banco de dados.

Passo 4 – Ao final da execução do programa PHP, uma página de resposta em HTML é enviada ao Apache.

Passo 5 – O Servidor web Apache repassa a página de resposta para o navegador que a solicitou, que a exibe.

Para diferenciar o código PHP dentro da página em HTML, podem ser utilizados os delimitadores descritos na Figura XX a seguir.

O primeiro delimitador da Figura XX é o padrão. O segundo é uma simplificação doprimeiro. Esses são os mais usados. O terceiro segue o estilo de scripts em HTML. O quarto segue oestilo do ASP.

Para utilizar a forma simplificada, bem como o estilo ASP, o arquivo de configuração php.inideve ser alterado, pelos campos short_open_tags e asp_tags, respectivamente.

A Figura 07 mostra a estrutura de uma página HTML com o código PHP embutido. Podehaver vários blocos de PHP misturados com vários trechos de HTML.

Figura 5: Funcionamento de uma página dinâmica PHP.

Fonte: Glazar 2011, p.19

Figura 6: Delimitadores PHP.

Fonte: Glazar 2011, p.19

Page 10: Apostila de Programação WEB - Parte 1 · Apostila de Programação WEB - Parte 1 (2° ano Téc. em Informática integrado ao E.M.) Professor: ... •PHP é gratuito para fazer o

3.1. Gerando código em HTML

Como o código PHP é processado no servidor e apenas o HTML é enviado como resposta, utilizaremos o comando echo para gerar esse HTML. Veja o exemplo da Figura 08 a seguir.

NOTE, AS INSTRUÇÕES DEVEM SER ENCERRADAS COM PONTO E VÍRGULA ‘;’ .

Figura 7: Exemplo e código PHP.

Fonte: W3school, disponível em: https://www.w3schools.com/php/php_syntax.asp

Figura 8: Exemplo de programa utilizando o comando echo.

Fonte: Glazar 2011, p.20

Page 11: Apostila de Programação WEB - Parte 1 · Apostila de Programação WEB - Parte 1 (2° ano Téc. em Informática integrado ao E.M.) Professor: ... •PHP é gratuito para fazer o

Comentários em PHP

Um comentário no código PHP é uma linha que não é lida / executada como parte doprograma. Seu único propósito é ser lido por alguém que está olhando para o código.

Comentários podem ser usados para:

• Deixe os outros entenderem o que você está fazendo

• Lembre-se do que você fez - A maioria dos programadores têm experimentado voltar ao seu

próprio trabalho um ano ou dois mais tarde e ter que redescobrir o que eles fizeram. Oscomentários podem lembrá-lo do que você estava pensando quando escreveu o código

O PHP suporta várias maneiras de comentar:

No PHP, todas as palavras-chave (por exemplo, if, else, while, echo, etc.), classes, funções e funções definidas pelo usuário NÃO diferenciam maiúsculas de minúsculas.

No exemplo abaixo, todas as três instruções de echo abaixo são legais (e iguais):

Figura 9: Exemplos de tipos de comentários em PHP.

Fonte: Do autor

Page 12: Apostila de Programação WEB - Parte 1 · Apostila de Programação WEB - Parte 1 (2° ano Téc. em Informática integrado ao E.M.) Professor: ... •PHP é gratuito para fazer o

Contudo, todos os nomes de variáveis DIFERENCIAM maiúsculas de minúsculas Noexemplo abaixo, somente a primeira instrução exibirá o valor da variável $ color (isto é porque $color, $ COLOR e $ coLOR são tratados como três variáveis diferentes):

3.2. Editor de Códigos

Existem vários editores de PHP. Dentre os gratuitos, PHPEditor GphpEdit, BlueFish Editor, NetBeans entre outros, porém os códigos pode ser escritos até em editores simples como o gedit ounotepad++.

4 Variáveis e tipos

As variáveis em PHP não precisam ser declaradas. Quando atribuímos algum valor para elas, o tipo é automaticamente reconhecido. Os tipos suportados são:

• Inteiros (integer ou long);

• Reais (float ou double);

Figura 10: Exemplo em que o PHP não é case sensitive.

Fonte:W3school, disponível em: https://www.w3schools.com/php/php_syntax.asp

Figura 11: Exemplo onde o PHP é case sensitive.

Fonte: W3school, disponível em: https://www.w3schools.com/php/php_syntax.asp

Page 13: Apostila de Programação WEB - Parte 1 · Apostila de Programação WEB - Parte 1 (2° ano Téc. em Informática integrado ao E.M.) Professor: ... •PHP é gratuito para fazer o

• Strings;

• Array (vetores);

• Objetos*.

* Como se trata de um curso básico, a programação orientada a objetos em PHP não será vista.

Os nomes das variáveis devem ser criados com um ‘$’ seguido de uma string que deve ser inicializada por uma letra ou ‘_’. Exemplos:

Nota: Quando atribuir um valor de texto a uma variável, coloque aspas em torno do valor.

Nota: Ao contrário de outras linguagens de programação, o PHP não tem nenhum comando para declarar uma variável. Ele é criado no momento em que você atribui um valor a ele.

Para exibir os dados na tela, o PHP echo é utilizado. O exemplo a seguir mostrará como a saída de texto e uma variável:

Utilização do . . para concatenar uma variável

Figura 12: Exemplos de variáveis.

Fonte: W3school, disponível em: https://www.w3schools.com/php/php_variables.asp

Figura 13: Exemplo resultado de um código PHP exibindo texto e variável com o comando echo “”.

Fonte: W3school, disponível em: https://www.w3schools.com/php/showphp.asp?filename=demo_var2

Page 14: Apostila de Programação WEB - Parte 1 · Apostila de Programação WEB - Parte 1 (2° ano Téc. em Informática integrado ao E.M.) Professor: ... •PHP é gratuito para fazer o

4.1. Operadores

Operadores são usados para executar operações em variáveis e valores. O PHP divide os operadores nos seguintes grupos:

• Operadores aritméticos

• Operadores de atribuição

• Operadores de comparação

• Operadores de incremento / decréscimo

• Operadores lógicos

Operadores aritméticos

Os operadores aritméticos PHP são usados com valores numéricos para executar operações aritméticas comuns, como adição, subtração, multiplicação etc.

Operador Nome Exemplo Resultado+ Adição $x + $y Soma de $x e $y- Subtração $x - $y Diferença de $x e $y* Multiplicação $x * $y Produto de $x e $y/ Divisão $x / $y Quociente de $x e $y% Modulo $x % $y Resto de $x dividido por $y** Exponenciação $x ** $y Resultado de $x elevado a potência $y

Tabela 1: Operadores aritméticos, adaptado de: https://www.w3schools.com/php/php_operators.asp

Figura 14: Exemplo resultado de um código PHP exibindo texto e variável com o comando echo “” e . para concatenação.

Fonte: W3school, disponível em: https://www.w3schools.com/php/showphp.asp?filename=demo_var3

Page 15: Apostila de Programação WEB - Parte 1 · Apostila de Programação WEB - Parte 1 (2° ano Téc. em Informática integrado ao E.M.) Professor: ... •PHP é gratuito para fazer o

Operadores de Atribuição

Os operadores de atribuição PHP são usados com valores numéricos para gravar um valor em uma variável.

O operador de atribuição básica em PHP é "=". Isso significa que o operando esquerdo é definido para o valor da expressão de atribuição à direita.

Atribuição Igual a Descriçãox = y x = y O operador da esquerda obtém o valor da expressão da direita.x += y x = x + y Adiçãox -= y x = x - y Subtraçãox *= y x = x * y Multiplicaçãox /= y x = x / y Divisãox %= y x = x % y Modulo

Tabela 2: Operadores de atribuição, adaptado de: https://www.w3schools.com/php/php_operators.asp

Operadores de comparação

Os operadores de comparação do PHP são usados para comparar dois valores (número ou string):

Operador Nome Examplo Resultado== Igual $x == $y Retorna true if $x is equal to $y

=== Idêntico $x === $yRetorna true if $x is equal to $y, and they are of the same type

!= Não igual $x != $y Retorna true if $x is not equal to $y<> Não igual $x <> $y Retorna true if $x is not equal to $y

!== Não identico $x !== $yRetorna true if $x is not equal to $y, or they are not of the same type

> Maior que $x > $y Retorna true if $x is greater than $y< Menor que $x < $y Retorna true if $x is less than $y>= Maior ou igual que $x >= $y Retorna true if $x is greater than or equal to $y<= Menor ou igual que$x <= $y Retorna true if $x is less than or equal to $y

Tabela 3: Operadores de comparação, adaptado de: https://www.w3schools.com/php/php_operators.asp

Operadores de incremento e decremento

Operadores de incremento são comumente utilizados em laços de repetição como contadoresou outras funções.

Operador Nome Descrição++$x Pré-incremento Incrementa $x em um, então returna $x$x++ Pós-incremento Retorna $x, então incrementa $x em um

Page 16: Apostila de Programação WEB - Parte 1 · Apostila de Programação WEB - Parte 1 (2° ano Téc. em Informática integrado ao E.M.) Professor: ... •PHP é gratuito para fazer o

--$x Pré-decremento Decrementa $x em um, então returna $x$x-- Pós-decremento Retorna $x, então decrementa $x em um

Operadores Lógicos

Operadores lógicos são utilizados para combinar dois estados condicionais.

Operador Nome Examplo Resultoand E $x and $y Verdadeiro se ambos $x E $y são verdadeirosor Ou $x or $y Verdadeiro se tanto $x OU $y é verdadeiro

xor Xor $x xor $yVerdadeiro se tanto $x OU $y são verdadeiros, mas não ambos

&& E $x && $y Verdadeiro se ambos $x E $y são verdadeiros|| Ou $x || $y Verdadeiro se tanto $x OU $y é verdadeiro! Não !$x Verdadeiro se $x não é verdadeiro

4.2. Estruturas de Controle

Muitas vezes, quando você escreve código, você deseja executar ações diferentes para diferentes condições. Você pode usar declarações condicionais em seu código para fazer isso.

Em PHP temos as seguintes declarações condicionais:

• If condição - executa algum código se uma condição for verdadeira

• If ... else instrução - executa algum código se uma condição for verdadeira e outro código

se essa condição for falsa

• If ... elseif .... else instrução - executa códigos diferentes para mais de duas condições

• Switch instrução - seleciona um dos muitos blocos de código a serem executados

IF condição

if – executa um bloco de comando caso a expressão seja verdadeira (se.. então).

Page 17: Apostila de Programação WEB - Parte 1 · Apostila de Programação WEB - Parte 1 (2° ano Téc. em Informática integrado ao E.M.) Professor: ... •PHP é gratuito para fazer o

IF … else instrução

A instrução if .... else executa algum código se uma condição for verdadeira e outro código se essa condição for falsa

If … elseif …. else

Executa diferentes códigos para duas ou mais condições. Quando todas as expressões forem falsas, então o último bloco else será executado

Figura 15: Exemplo de IF

Fonte: Do autor

Figura 16: Exemplo de IF ... else

Fonte: Do Autor.

Page 18: Apostila de Programação WEB - Parte 1 · Apostila de Programação WEB - Parte 1 (2° ano Téc. em Informática integrado ao E.M.) Professor: ... •PHP é gratuito para fazer o

Outro exemplo pode ser visto na figura abaixo, comparando 3 valores.

Caso sejam necessárias muitas análises de condições recomenda-se utilizar o SWITCH

SWHITCH

Switch Funciona semelhante a vários if juntos. Uma expressão ou variável é analisada e, de acordo com o valor, um entre vários blocos de comandos é executado. Diferentemente do if, cuja expressão somente retorna verdadeiro ou falso, no switch o valor retornado pode ser diverso. A

Figura 17: Exemplo de IF.. else if .. else.

Fonte: Do Autor

Figura 18: Exemplo de IF.. else if .. eles

Fonte: Glazar 2011, p.26

Page 19: Apostila de Programação WEB - Parte 1 · Apostila de Programação WEB - Parte 1 (2° ano Téc. em Informática integrado ao E.M.) Professor: ... •PHP é gratuito para fazer o

expressão é comparada com cada uma das cláusulas case até que uma coincida. Quando isso acontece, o bloco de comandos correspondente é executado até encontrar o comando break, que interrompe a execução daquele bloco e finaliza o switch. Se nenhuma cláusula coincidir, então o bloco delimitado pelo comando default é executado. Na Figura abaixo temos um exemplo simples do switch .

Abaixo outro exemplo de switch.

4.3. Laços de Repetição

Figura 20: Exemplo de switch PHP.

Fonte: Glazar 2011, p.26

Figura 19: Exemplo de switch com PHP.

Adaptado de W3School, disponível em: https://www.w3schools.com/php/php_switch.asp

Page 20: Apostila de Programação WEB - Parte 1 · Apostila de Programação WEB - Parte 1 (2° ano Téc. em Informática integrado ao E.M.) Professor: ... •PHP é gratuito para fazer o

Os comandos de repetição servem para executar repetidas vezes o mesmo bloco de comandos, até que uma condição de parada seja atingida. Os comandos são: while, do...while , for, foreach. A diferença entre eles está na condição de parada das repetições e no contador de iteração.

Laço de repetição while

A condição de parada é testada no início da iteração. Se for verdadeira, repete o bloco de comandos; se for falsa, interrompe as repetições.

Exemplo de while com incremento e decremento de variáveis dentro do laço de repetição.

*Cuidado com loops infinitos.

Laço de repetição do while

Funciona de maneira semelhante ao while; a diferença é que a condição é testada depois do bloco de comandos. Isso garante que, pelo menos uma vez o bloco de comandos será executado.

Figura 21: while, exemplo da sintaxe e exemplo simples.

Fonte: Do autor

Figura 22: Exemplo de while com 2 variáveis..

Fonte: Glazar. 2011 p.27

Page 21: Apostila de Programação WEB - Parte 1 · Apostila de Programação WEB - Parte 1 (2° ano Téc. em Informática integrado ao E.M.) Professor: ... •PHP é gratuito para fazer o

Laço de repetição FOR

FOR – é utilizado quando se conhece a quantidade total de iterações ou quando se pretende contar essas iterações. Sua sintaxe é:

for (inicialização; condição; incremento) { . . }

Em que:

• Inicialização – é uma instrução de atribuição executada apenas uma vez, no início do laço. Geralmente utilizada para inicializar a variável que irá controlar o número de repetições do laço.

• Condição – é a expressão que controla a parada das repetições. Se for verdadeira, o bloco de comandos é executado novamente; se for falsa, termina.

• Incremento – define a maneira como a variável de controle do laço será alterada a cada vez que o laço for repetido. Ela é executada ao final da execução de cada repetição do corpo do laço.

Figura 23: Sintaxe, exemplo 1 e exemplo 2 de laço de repetição do while.

Fonte: Do Autor.

Page 22: Apostila de Programação WEB - Parte 1 · Apostila de Programação WEB - Parte 1 (2° ano Téc. em Informática integrado ao E.M.) Professor: ... •PHP é gratuito para fazer o

Laço foreach

O loop foreach funciona apenas em arrays, e é usado para percorrer cada par chave / valor em uma matriz. Para cada iteração de loop, o valor do elemento de matriz atual é atribuído a $ valuee o ponteiro de matriz é movido por um, até atingir o último elemento de array.

O exemplo a seguir demonstra um loop que exibirá os valores da matriz fornecida ($ colors):

4.4. FunçõesTrataremos deste assunto mais adiante, após integração dos formulários;

5 Básico sobre formulário.

Figura 24. Exemplo de FOR e resultado da execução

Fonte: W3school, disponível em: https://www.w3schools.com/php/showphp.asp?filename=demo_loop_for

Figura 25. Exemplo de foreach e resultado da execução.

Fonte: W3School, disponível em: https://www.w3schools.com/php/showphp.asp?filename=demo_loop_foreach

Page 23: Apostila de Programação WEB - Parte 1 · Apostila de Programação WEB - Parte 1 (2° ano Téc. em Informática integrado ao E.M.) Professor: ... •PHP é gratuito para fazer o

Após o conhecimento da sintaxe dos comandos em PHP, vamos agora criar as páginasdinâmicas tratando as informações obtidas de outras páginas, como por exemplo, de formulários.

A partir de um formulário em HTML em um navegador, o usuário envia dados para umapágina no servidor. Aprenderemos os comandos em PHP para capturar esses dados e fazer suavalidação.

É extremamente importante que vocês revisem o conteúdo de formulários HTML vistos nadisciplina Fundamentos do Desenvolvimento Web

5.1. Métodos GET e POST

Na definição de um formulário em HTML, dois atributos serão importantes para a criação depáginas em PHP no servidor: action e method.

• name– nome do formulário. Útil para referência em funções javascript.

• action – arquivo no servidor que será chamado para tratar os dados do formulário. A página

em HTML/PHP com o formulário passará os dados para o programa PHP especificado poreste campo.

• method – método de envio de dados para o servidor. Dois tipos são permitidos GET e

POST. Mais detalhes a seguir.

Exemplo método GET

A diferença entre GET e POST está na forma como os dados são enviados para o servidor.

No método POST, os dados são enviados ocultos. É o método recomendado quando seutiliza formulário.

Figura 26: Exemplo de formulário e pagina de captura de dados modo POST

Page 24: Apostila de Programação WEB - Parte 1 · Apostila de Programação WEB - Parte 1 (2° ano Téc. em Informática integrado ao E.M.) Professor: ... •PHP é gratuito para fazer o

Já no método GET, os dados são enviados de forma aberta, na URL, na forma do par‘campo=valor’. Para isso, utiliza-se o símbolo ‘?’ depois do nome do arquivo. Os pares‘campo=valor’ são separados pelo símbolo ‘&’. Essa forma de envio é utilizada quando temospoucas informações a serem passadas, e elas podem ser especificadas direto na URL. Utiliza-seprincipalmente quando queremos passar dados através de um link, sem os campos de umformulário. Exemplo:

http://www.xxx.com/cons.php?nome=Joao&cidade=Colatina

Nesse exemplo foi utilizado o método GET, que chama o programa cons.php, passando o camponome igual a ‘João’ e o campo cidade igual a ‘Colatina’.

5.2. Obtendo os dados

Seja passando os dados via POST ou GET, o programa no servidor para capturar e tratar osdados será o mesmo. Os dados enviados para o programa PHP serão transformados em um array,$_POST, se o método de envio for o POST, e $_GET, se o método de envio foi o GET. Essesvetores são indexados pelos nomes dos campos.

Se o método de envio for o POST, os nomes dos campos serão aqueles informados noatributo name dos comandos HTML. Se o envio for por GET, então o nome dos campos serãoaqueles especificados no endereço pelo par ‘campo=valor’.

Vamos agora criar um arquivo PHP com o mesmo nome dado no action do formulário (noexemplo pagina2.php). Nessa página, vamos capturar os dados enviados e mostrar uma página deresposta com esses dados.

Para ‘pegar’ cada campo, devemos informar qual o array que contém os dados ($_POST ou$_GET) e entre colchetes [ ] o nome do campo, definido no formulário HTML.

Depois de pegar os dados, podemos verificar se foram preenchidos e se estão corretos. Porexemplo: verificar se o campo foi preenchido, verificar datas, validar CPF, verificar se o e-mail éválido, etc.

Abaixo um exemplo da pagina2.php onde são testadas as 3 possibilidades de obtenção de dados deum formulário:

Page 25: Apostila de Programação WEB - Parte 1 · Apostila de Programação WEB - Parte 1 (2° ano Téc. em Informática integrado ao E.M.) Professor: ... •PHP é gratuito para fazer o

Realize o teste alterando o method=”POST” para method=”GET” e verifique a diferença dosresultados e observe a URL , que, quando enviado por método GET são facilmentevisualizados/identificados, e quando são enviados pelo método POST a URL não apresenta osdados.

Outra diferença em relação ao POST e GET é a quantidade de dados que podem ser enviados peloformulário

GET → 3000 caracteres pela URL (W3school, 2017)

POST → Sem limite (ou limite configurado pelo APACHE, ou pelo PHP)

Verificando se os dados formam enviados supostamente corretos pelo PHP

//// Parte nova 03/04/17

Enviando dados para a própria página e utilizando o isset

Alguns programadores acabam utilizando a mesma página do formulário como destino, umaentre várias razões para isto está em deixar os códigos referentes a uma mesma parte do sistemajuntos, para facilitar o desenvolvimento e modificações.

A função php isset , determina se uma variável existe e se ela possui valor nulo

Page 26: Apostila de Programação WEB - Parte 1 · Apostila de Programação WEB - Parte 1 (2° ano Téc. em Informática integrado ao E.M.) Professor: ... •PHP é gratuito para fazer o

6 ReferênciasGlazar, Jean Eduardo. Programação para web. e-Tec Brasil. Colatina: IFES, 2011. 102 p.

W3Schools. PHP Tutorial: online, disponível em: <https://www.w3schools.com/php/default.asp> acesso em 12/03/2017