You are on page 1of 96

Sistemas de Informao

Linguagem de Programao II

15-05-2017 Curso Profissional Tcnico de Multimdia 10 N


Linguagem de Programao II
PHP
PHP o acrnimo para PHP: Hypertext Preprocessor. uma linguagem de scripting
devido ao cdigo PHP ser interpretado e no compilado. O cdigo interpretado no
lado do servidor pelo mdulo PHP, que tambm gera a pgina web a ser visualizada
no lado do cliente. possvel instalar o PHP na maioria dos sistemas operativos,
gratuitamente. Concorrente direto da tecnologia ASP pertencente Microsoft, o
PHP utilizado em aplicaes como o MediaWiki, Facebook, Drupal, Joomla,
WordPress, Magento, Oscommerce,
O que distingue o PHP de outras linguagens como o Javascript, executado no lado
do cliente, que o cdigo executado no servidor, onde gerado o HTML que
ento enviado para o browser. O navegador recebe os resultados da execuo
desse script, mas no sabe qual era o cdigo fonte. possvel, inclusive, configurar
o servidor web para processar todos os arquivos HTML com o PHP, e ento no
haver realmente nenhum modo dos utilizadores descobrirem se essa linguagem
utilizada ou no.
15-05-2017 Curso Profissional Tcnico de Multimdia 10 N
Linguagem de Programao II
PHP
O que o PHP pode fazer?
Gerar pginas com contedo dinmico
Criar, abrir, ler, escrever, eliminar e fechar ficheiros no servidor
Recolher dados de formulrios
Enviar e receber cookies
Consultar, adicionar, eliminar e modificar dados em Bases de Dados
Controlar acessos de utilizadores
Encriptar dados
Com PHP no estamos limitados a gerar somente HTML. O PHP permite gerao de
imagens, ficheiros PDF e at animaes Flash. possvel criar qualquer padro
texto, como XHTML e XML.

15-05-2017 Curso Profissional Tcnico de Multimdia 10 N


Linguagem de Programao II
PHP
O PHP pode ser utilizado na maioria dos sistemas operativos, incluindo Linux,
vrias variantes do Unix, Microsoft Windows, Mac OS X, RISC OS, entre outros. O
PHP tambm suportado pela maioria dos servidores web, o que inclui o Apache,
o IIS e muitos outros.
Uma das caractersticas mais fortes e mais significativas do PHP seu suporte a
uma ampla variedade de bases de dados.
O PHP tambm tem suporte para comunicao com outros servios utilizando
protocolos como LDAP, IMAP, SNMP, NNTP, POP3, HTTP, COM (em Windows), entre
outros. possvel abrir sockets de rede e interagir diretamente com qualquer
protocolo. O PHP tambm suporta o intercmbio de dados complexos WDDX. Em
termos de comunicao, o PHP tambm implementa a instanciao de objetos Java
e os utiliza transparentemente como objetos PHP.

15-05-2017 Curso Profissional Tcnico de Multimdia 10 N


Linguagem de Programao II
PHP
O que necessrio para comear a utilizar o PHP:
Encontrar um servio de alojamento com suporte ao PHP;
Instalar um servidor web no PC e, de seguida, instalar o PHP.

15-05-2017 Curso Profissional Tcnico de Multimdia 10 N


Linguagem de Programao II
Servidores Web Portables
Uma boa alternativa a utilizao de servidores Web portables, compostos por:
Servidor Web
PHP
MySQL
Exemplos:
EasyPHP
USBWebServer

15-05-2017 Curso Profissional Tcnico de Multimdia 10 N


Linguagem de Programao II
Servidores Web Portables
Em geral, os servidores necessitam de ser instalados numa mquina para que o
ambiente necessrio execuo das pginas seja possvel. Porm, os servidores
web portables dispensam instalao e podem ser transportados numa pendrive ou
mesmo gravados em um CD. Ideal, no apenas para programadores desenvolverem
seus projetos, mas tambm, para executar aplicaes offline para testes e
demonstraes.

15-05-2017 Curso Profissional Tcnico de Multimdia 10 N


Linguagem de Programao II
EasyPHP
O EasyPHP um ambiente de trabalho que inclui o servidor web Apache, o sistema
de gesto de base de dados MySQL, suporte linguagem PHP e a ferramenta
phpMyAdmin.

15-05-2017 Curso Profissional Tcnico de Multimdia 10 N


Linguagem de Programao II
O que um ficheiro PHP?
Os ficheiros PHP podem conter texto, HTML, CSS, JavaScript e cdigo PHP
O cdigo PHP executado no lado do servidor, e o resultado devolvido ao
browser como HTML
Os ficheiros PHP devem ter a extenso .php

15-05-2017 Curso Profissional Tcnico de Multimdia 10 N


Linguagem de Programao II
Sintaxe bsica
O cdigo PHP pode ser escrito em qualquer local do documento.
O cdigo PHP deve comear com <?php e terminar com ?>
As instrues PHP devem ser terminadas com ;
Um ficheiro PHP normalmente contm cdigo HTML e cdigo PHP.
Exemplo:
<!DOCTYPE html>
<html>
<body>
<h1>Meu primeiro programa PHP</h1>
<?php
echo Ol Mundo!;
?>
</body>
</html>
15-05-2017 Curso Profissional Tcnico de Multimdia 10 N
Linguagem de Programao II
Comentrios
Um comentrio em PHP um pedao de cdigo que no lido/executado pelo
programa. O seu nico propsito o de ser lido por quem tiver acesso ao cdigo
PHP.
Os comentrios podem ser usados para explicar o que est a ser programado ou
para relembr-lo sobre algo que fez ou que ainda dever ser feito no programa.

15-05-2017 Curso Profissional Tcnico de Multimdia 10 N


Linguagem de Programao II
Comentrios
Exemplo:
<!DOCTYPE html>
<html>
<body>
<?php
// Comentrio de linha nica
# Este tambm um comentrio de linha nica
/*
Este um bloco de comentrios
que ocupa diversas
linhas
*/
// Tambm possvel incluir comentrios apenas em parte de uma linha
$x = 5 /* + 15 */ + 5;
echo $x;
?>
</body>
</html>

15-05-2017 Curso Profissional Tcnico de Multimdia 10 N


Linguagem de Programao II
Case sensitivity
Em PHP, todas as instrues, classes, funes no so sensveis s maisculas.
No exemplo a seguir, todos os trs comandos echo funcionam de forma igual:

<!DOCTYPE html>
<html>
<body>
<?php
ECHO Ol Mundo!<br>;
echo Ol Mundo!<br>;
EcHo Ol Mundo!<br>;
?>
</body>
</html>

15-05-2017 Curso Profissional Tcnico de Multimdia 10 N


Linguagem de Programao II
Case sensitivity
No entanto, todos os nomes de variveis so sensveis s maisculas.
No exemplo a seguir, somente a primeira instruo ir mostrar o valor da varivel
$color (isto porque $color, $COLOR e $coLOR so interpretadas pelo PHP como
sedo trs variveis diferentes):

<!DOCTYPE html>
<html>
<body>
<?php
$color = azul;
echo Meu carro . $color . <br>;
echo Minha casa . $COLOR . <br>;
echo Meu barco . $coLOR . <br>;
?>
</body>
</html>

15-05-2017 Curso Profissional Tcnico de Multimdia 10 N


Linguagem de Programao II
Variveis
Em PHP, uma varivel inicia com o sinal $ seguido pelo nome da varivel.

Exemplo:

<?php
$txt = "Hello world!";
$x = 5;
$y = 10.5;
?>

15-05-2017 Curso Profissional Tcnico de Multimdia 10 N


Linguagem de Programao II
Variveis
Uma varivel pode possuir um nome curto (como x ou y) ou um nome maior
(idade, nome, volume_total).

Regras para as variveis:


Uma varivel comea sempre com o sinal $ seguido do nome da varivel;
O nome de uma varivel deve sempre comear com uma letra ou o caracter
_;
O nome de uma varivel no pode comear com um nmero;
O nome de uma varivel apenas pode conter caracteres alfanumricos e
underscores (A-z, 0-9, _);
As variveis so case-sensitive ($idade e $IDADE so duas variveis
diferentes).

15-05-2017 Curso Profissional Tcnico de Multimdia 10 N


Linguagem de Programao II
Variveis
Na linguagem PHP, no necessrio indicar o tipo de cada varivel. O PHP
automaticamente converte a varivel para o seu tipo correto, de acordo com o seu
valor.
Em outras linguagens de programao, tais como C, C++, JAVA, PASCAL, entre
outras, o programador deve declarar o nome e o tipo das variveis antes de poder
utiliz-las nos programas.

15-05-2017 Curso Profissional Tcnico de Multimdia 10 N


Linguagem de Programao II
Variveis
Em PHP, as variveis podem ser declaradas em qualquer lugar.
O escopo de uma varivel significa o local em que a varivel pode ser utilizada.
Em PHP, existem trs diferentes escopos:
local
global
static

15-05-2017 Curso Profissional Tcnico de Multimdia 10 N


Linguagem de Programao II
Variveis
Uma varivel declarada fora de uma funo possui um escopo global apenas pode
ser utilizada fora de funes.
Exemplo:
<?php
$x = 5;

function meuTeste() {
// utilizar a varivel x dentro desta funo ir gerar um erro
echo "<p>Valor da varivel x dentro da funo: $x</p>";
}
meuTeste();
echo "<p>Valor da varivel x fora da funo: $x</p>";
?>

15-05-2017 Curso Profissional Tcnico de Multimdia 10 N


Linguagem de Programao II
Variveis
Uma varivel declarada dentro de uma funo possui um escopo local e apenas
pode ser utilizada dentro dessa mesma funo.
Exemplo:
<?php
function meuTeste() {
$x = 5; // escopo local
echo "<p>Valor da varivel x dentro da funo: $x</p>";
}
meuTeste();
// utilizar a varivel x fora da funo ir gerar um erro
echo "<p>Valor da varivel x fora da funo: $x</p>";
?>
possvel utilizar variveis locais com o mesmo nome em diferentes funes, uma
vez que estas apenas so reconhecidas dentro das funes em que foram
declaradas.
15-05-2017 Curso Profissional Tcnico de Multimdia 10 N
Linguagem de Programao II
Variveis
O termo global permite aceder a variveis de escopo global dentro de funes.
Exemplo:
<?php
$x = 5;
$y = 10;

function meuTeste() {
global $x, $y;
$y = $x + $y;
}
meuTeste();
echo $y;
?>

15-05-2017 Curso Profissional Tcnico de Multimdia 10 N


Linguagem de Programao II
Variveis
Normalmente, quando terminada a execuo de uma funo, todas as suas
variveis so eliminadas. Contudo, por vezes, podemos desejar que o valor de uma
determinada varivel no seja eliminado. Para tal, utiliza-se o termo static.
Exemplo:
<?php
function meuTeste() {
static $x = 0;
echo $x;
$x++;
}
meuTeste();
meuTeste();
meuTeste();
?>
15-05-2017 Curso Profissional Tcnico de Multimdia 10 N
Linguagem de Programao II
Echo / Print
Na linguagem PHP existem dois comandos bsicos de output: echo e print.

Exemplos:
<?php
echo "<h2>PHP</h2>";
echo Ol mundo!<br>";
echo Vamos aprender PHP!<br>";
echo Esta ", "string ", possui ", vrios parmetros.";
?>

15-05-2017 Curso Profissional Tcnico de Multimdia 10 N


Linguagem de Programao II
Echo / Print
Na linguagem PHP existem dois comandos bsicos de output: echo e print.

Exemplos:
<?php
$txt1 = "PHP";
$txt2 = ESEQ";
$x = 5;
$y = 4;

echo "<h2>$txt1</h2>";
echo Aprenda PHP na $txt2<br>";
echo $x + $y;
?>

15-05-2017 Curso Profissional Tcnico de Multimdia 10 N


Linguagem de Programao II
Echo / Print
Na linguagem PHP existem dois comandos bsicos de output: echo e print.

Exemplos:
<?php
print "<h2>PHP</h2>";
print Ol mundo!<br>";
print Vamos aprender PHP!<br>";
?>

15-05-2017 Curso Profissional Tcnico de Multimdia 10 N


Linguagem de Programao II
Echo / Print
Na linguagem PHP existem dois comandos bsicos de output: echo e print.

Exemplos:
<?php
$txt1 = "PHP";
$txt2 = ESEQ";
$x = 5;
$y = 4;

print "<h2>$txt1</h2>";
print Aprenda PHP na $txt2<br>";
print $x + $y;
?>

15-05-2017 Curso Profissional Tcnico de Multimdia 10 N


Linguagem de Programao II
Tipos de dados
As variveis so utilizadas para armazenar dados que podem ser de diferentes
tipos. O PHP suporta os seguintes tipos de dados:
String
Integer
Float
Boolean
Array
Object
NULL

15-05-2017 Curso Profissional Tcnico de Multimdia 10 N


Linguagem de Programao II
Tipos de dados
String
Uma string uma sequncia (cadeia) de caracteres. Uma string pode conter
qualquer tipo de texto, desde que o mesmo esteja entre aspas, que podem ser
simples ou duplas.
Exemplo:
<?php
$x = Ol mundo!";
$y = Ol mundo!';

echo $x;
echo "<br>";
echo $y;
?>

15-05-2017 Curso Profissional Tcnico de Multimdia 10 N


Linguagem de Programao II
Tipos de dados
Integer
Um dado do tipo integer qualquer nmero no decimal e pode assumir valores
entre -2147483648 e 2147483647.
Exemplo:
<?php
$x = 5985;
print $x;
?>

15-05-2017 Curso Profissional Tcnico de Multimdia 10 N


Linguagem de Programao II
Tipos de dados
Float
Um dado do tipo float um nmero com ponto decimal ou em forma exponencial.
Exemplo:
<?php
$x = 10.365;
print $x;
?>

15-05-2017 Curso Profissional Tcnico de Multimdia 10 N


Linguagem de Programao II
Tipos de dados
Boolean
Um dado do tipo boolean expressa um valor lgico e apenas pode assumir dois
valores diferentes: TRUE (verdadeiro) ou FALSE (falso).
Exemplo:
<?php
$x = true;
$y = false;
?>

15-05-2017 Curso Profissional Tcnico de Multimdia 10 N


Linguagem de Programao II
Tipos de dados
Array
Um array permite armazenar mltiplos valores em uma nica varivel.
Exemplo:
<?php
$cars = array("Volvo","BMW","Toyota");
echo Eu gosto de " . $cars[0] . ", " . $cars[1] . " e " . $cars[2] . ".";
?>

15-05-2017 Curso Profissional Tcnico de Multimdia 10 N


Linguagem de Programao II
Tipos de dados
Object
Um dado do tipo object (objeto) uma entidade definida por propriedades
(atributos) e mtodos (aes).
Exemplo:
<?php
class computador {
var $cpu;
function ligar() {
echo "Ligando computador a {$this->cpu}...";
}
}
$obj = new Computador;
$obj->cpu = "500Mhz";
$obj->ligar();
?>
15-05-2017 Curso Profissional Tcnico de Multimdia 10 N
Linguagem de Programao II
Tipos de dados
NULL
O NULL um tipo de dados especial que pode possuir apenas um valor: NULL. Uma
varivel do tipo NULL indica que a varivel no possui nenhum valor.
Exemplo:
<?php
$x = null;
?>

15-05-2017 Curso Profissional Tcnico de Multimdia 10 N


Linguagem de Programao II
Constantes
Um valor que no sofre modificaes durante a execuo do programa.
Representada por um identificador, como as variveis, porm s aceita valores
escalares (booleano, inteiro, ponto flutuante, string).
Um valor escalar aquele que no composto por outros valores, como array ou
objetos.
A nomenclatura segue as mesmas regras das variveis, porm no utiliza o smbolo
$ e geralmente escrita em MAISCULO.

15-05-2017 Curso Profissional Tcnico de Multimdia 10 N


Linguagem de Programao II
Constantes
Para criar uma constante utiliza-se a funo define().

Exemplo:
<?php
define("MAXIMO_CLIENTE",100);
echo MAXIMO_CLIENTE;
?>

15-05-2017 Curso Profissional Tcnico de Multimdia 10 N


Linguagem de Programao II
Operadores
Os operadores so utilizados para executar operaes em variveis e valores.
Tipos de operadores:
Aritmticos
Atribuio
Comparao
Incremento/Decremento
Lgicos
String
Array

15-05-2017 Curso Profissional Tcnico de Multimdia 10 N


Linguagem de Programao II
Operadores
Operadores Aritmticos:

Operador Nome Exemplo


+ Adio $x + $y
- Subtrao $x - $y
* Multiplicao $x * $y
/ Diviso $x / $y
% MOD $x % $y
** Exponenciao $x ** $y

15-05-2017 Curso Profissional Tcnico de Multimdia 10 N


Linguagem de Programao II
Operadores
Operadores de atribuio:

Operador Exemplo Igual a Descrio


= $x = $y $x = $y A varivel esquerda do operador assume o valor da
varivel direita do operador
+= $x += $y $x = $x + $y Adio e atribuio
-= $x -= $y $x = $x - $y Subtrao e atribuio
*= $x *= $y $x = $x * $y Multiplicao e atribuio
/= $x /= $y $x = $x / $y Diviso e atribuio
%= $x %= $y $x = $x % $y MOD e atribuio

15-05-2017 Curso Profissional Tcnico de Multimdia 10 N


Linguagem de Programao II
Operadores
Operadores comparativos:

Operador Nome Exemplo Resultado


== Igual $x == $y Devolve true se $x for igual a $y
!= Diferente $x != $y Devolve true se $x for diferente de $y
<> Diferente $x <> $y Devolve true se $x for diferente de $y
> Maior $x > $y Devolve true se $x for maior que $y
< Menor $x < $y Devolve true se $x for menor que $y
>= Maior ou igual $x >= $y Devolve true se $x for maior ou igual a $y
<= Menor ou igual $x <= $y Devolve true se $x for menor ou igual a $y

15-05-2017 Curso Profissional Tcnico de Multimdia 10 N


Linguagem de Programao II
Operadores
Incremento/Decremento:

Operador Nome Exemplo Descrio


++ Pr-incremento ++$x Incrementa o valor de $x por um e devolve $x
++ Ps-incremento $x++ Devolve $x e incrementa o valor de $x por um
-- Pr-decremento --$x Decrementa o valor de $x por um e devolve $x
-- Ps-decremento $x-- Devolve $x e decrementa o valor de $x por um

15-05-2017 Curso Profissional Tcnico de Multimdia 10 N


Linguagem de Programao II
Operadores
Operadores lgicos:

Operador Exemplo Resultado


and $x and $y Devolve true se $x e $y forem true
or $x or $y Devolve true se $x ou $y forem true
xor $x xor $y Devolve true se $x ou $y forem true, mas no os dois em
simultneo
&& $x && $y Devolve true se $x e $y forem true
|| $x || $y Devolve true se $x ou $y forem true
! !$x Devolve true se $x for false e vice versa

15-05-2017 Curso Profissional Tcnico de Multimdia 10 N


Linguagem de Programao II
Operadores
Operadores de string:

Operador Nome Exemplo Descrio


. Concatenao $txt1 . $txt2 Concatena $txt1 e $ txt2
.= Concatenao e atribuio $txt1 .= $txt2 Acrescenta $txt2 a $txt1

15-05-2017 Curso Profissional Tcnico de Multimdia 10 N


Linguagem de Programao II
PHP e formulrios HTML
Os formulrios so utilizados para aumentar a interatividade fazendo a
comunicao entre o utilizador e o site. Atravs dos seus campos, os formulrios
podem recolher desde pequenas quantidades de informao (como por exemplo,
uma palavra a pesquisar em um campo de procura) at grandes quantidades de
informao (como por exemplo, toda a informao de registo para a criao de
uma conta em um site qualquer).
Existem vrios tipos de elementos diferentes que podem ser includos em um
formulrio: caixas de texto, botes, itens de seleo, etc.
Aps a recolha da informao do utilizador, essa informao normalmente
enviada e processada por uma aplicao em execuo no servidor (CGI, ASP, PHP,
etc.).

15-05-2017 Curso Profissional Tcnico de Multimdia 10 N


Linguagem de Programao II
PHP e formulrios HTML

O atributo action contm o URL que ir receber os dados quando o formulrio


submetido. Normalmente, os dados do formulrio so enviados para uma pgina
no servidor que ir processar os dados recebidos.

15-05-2017 Curso Profissional Tcnico de Multimdia 10 N


Linguagem de Programao II
PHP e formulrios HTML
Exemplo:

15-05-2017 Curso Profissional Tcnico de Multimdia 10 N


Linguagem de Programao II
PHP e formulrios HTML
Exemplo:

15-05-2017 Curso Profissional Tcnico de Multimdia 10 N


Linguagem de Programao II
PHP e formulrios HTML
Exemplo:

15-05-2017 Curso Profissional Tcnico de Multimdia 10 N


Linguagem de Programao II
PHP e formulrios HTML
O atributo method especifica a forma de envio dos dados do formulrio e pode
assumir um dos seguintes valores:
GET
POST

15-05-2017 Curso Profissional Tcnico de Multimdia 10 N


Linguagem de Programao II
PHP e formulrios HTML
GET
Mtodo padro de envio de dados. Se no for especificado o mtodo na tag action,
GET assumido pelo PHP.
<form action="recebe_dados.php">
<p>Digite seu nome: <input type="text" name="nome" size="30"></p>
<p>Digite seu e-mail: <input type="text" name="idade" size="3"></p>
<p><input type="submit" value="Enviar!" name="enviar"></p>
</form>

Os dados so enviados juntamente com o nome da pgina (URL) para o envio de


dados.
http://www.seusite.com/recebe_dados.php?nome=Joaquim&idade=20
? - representa o incio da cadeia de variveis
& - identifica o incio de uma nova varivel
= - separa as variveis dos seus respetivos valores
15-05-2017 Curso Profissional Tcnico de Multimdia 10 N
Linguagem de Programao II
PHP e formulrios HTML
GET

Desvantagens
Limite de 2000 caracteres
Os dados enviados so visveis na barra de endereo do navegador

Vantagem
Pode ser utilizado para a passagem de parmetros por link

Nota: O mtodo GET nunca deve ser utilizado para o envio de passwords ou
qualquer outra informao sensvel.

15-05-2017 Curso Profissional Tcnico de Multimdia 10 N


Linguagem de Programao II
PHP e formulrios HTML
POST

Diferente do GET, o POST envia os dados por meio do corpo da mensagem


encaminhada ao servidor.

15-05-2017 Curso Profissional Tcnico de Multimdia 10 N


Linguagem de Programao II
PHP e formulrios HTML
POST

Vantagens
No visvel a cadeia de variveis
No h limites no tamanho dos dados, sendo mais utilizado para
formulrios com grande quantidade de informaes
Permite enviar outros tipos de dados, no aceites pelo GET, como imagens
ou outros ficheiros

Desvantagens
No possvel a passagem de parmetros

15-05-2017 Curso Profissional Tcnico de Multimdia 10 N


Linguagem de Programao II
PHP e formulrios HTML
Como tratar as informaes recebidas?
Existem duas maneiras de aceder os dados recebidos:
Tratar como variveis adicionando $ ao nome dos campos especificados no
formulrio. O campo nome ficaria $nome e o campo idade $idade. Para tal,
necessrio que a opo register_globals esteja ativada
Usar os arrays superglobais predefinidos pelo php: $_GET e $_POST. Os
nomes dos campos so usados como chaves associativas $_GET[nome] ou
$_POST[idade]

Por questes de segurana os desenvolvedores do PHP recomendam o uso dos


arrays $_GET e $_POST. Caso queira usar a primeira opo, cuide para no criar
outras variveis com o mesmo nome, pois o valores sero sobrescritos.

15-05-2017 Curso Profissional Tcnico de Multimdia 10 N


Linguagem de Programao II
PHP e formulrios HTML
Funes especiais para a formatao de dados
Para evitar a exibio de formatao indesejadas nas pginas com informaes
criadas pelos utilizadores, como uma imagem, com o uso de comandos HTML, usa-
se htmlspecialchars(<string>)
Substitui as tags HTML como & por seus caracteres especiais $amp, &quot, ...

$texto = "<img src=http://www.site.com/foto1.jpg>";


$novo_texto = htmlspecialchars($texto);
echo $texto. "<br>";
echo $novo_texto;

15-05-2017 Curso Profissional Tcnico de Multimdia 10 N


Linguagem de Programao II
PHP e formulrios HTML
Funes especiais para a formatao de dados
Outro cuidado, ao receber dados com caracteres especiais
Por exemplo: Joo Alves, vulgo Joo do Cdigo
O PHP interpreta como Joo Alves, vulgo \Joo do Cdigo\

A funo stripslashes(<string>) substitui \ por , \ por e (\\) por (\)

15-05-2017 Curso Profissional Tcnico de Multimdia 10 N


Linguagem de Programao II
PHP e formulrios HTML
Funes especiais para a formatao de dados
Outras duas funes importante ao utilizar o mtodo GET so urldecode e
urlencode
Por exemplo, utilizando o mtodo GET para Joaquim Legal fica
http://www.seusite.com/recebe_dados.php?nome=Joaquim%20Legal

Para ler corretamente:


$nome = urldecode($nome);

A funo urldecode retira os cdigos hexadecimais e urlencode recoloca


urlencode til para redirecionar as informaes para outro local por meio do
mtodo GET

15-05-2017 Curso Profissional Tcnico de Multimdia 10 N


Linguagem de Programao II
Estruturas de controlo em PHP
So comandos utilizados para estruturar os programas e so comuns a maioria das
linguagens de programao.
O seu uso fundamental para realizar decises lgicas, testar se determinada
expresso verdadeira, repetir um bloco de comandos por um certo nmero de
vezes ou at que uma condio seja atingida.

15-05-2017 Curso Profissional Tcnico de Multimdia 10 N


Linguagem de Programao II
Estruturas de controlo em PHP
Comandos condicionais
Utilizados para avaliar uma expresso e, dependendo do resultado obtido,
executar um determinado trecho de cdigo diferente;
Utilizado na tomada de deciso dentro de um programa;
Por exemplo, escrever aprovado caso a nota do aluno seja maior ou igual a
10, caso contrrio, escrever reprovado

15-05-2017 Curso Profissional Tcnico de Multimdia 10 N


Linguagem de Programao II
Estruturas de controlo em PHP
Comandos condicionais
if
switch

15-05-2017 Curso Profissional Tcnico de Multimdia 10 N


Linguagem de Programao II
Estruturas de controlo em PHP
Comando if
Avalia uma expresso e dependendo do resultado executado um conjunto
diferente de instrues.

if ( exp1 ) Se a exp1 for verdadeira,


{ bloco1 } executa o bloco1
elseif ( exp2 ) Seno, se a exp2 for verdadeira,
{ bloco2 } executa o bloco2
else Seno,
{ bloco3 } executa o bloco3

15-05-2017 Curso Profissional Tcnico de Multimdia 10 N


Linguagem de Programao II
Estruturas de controlo em PHP
Comando if
Lembrar que somente um dos blocos ser executado. Depois disso a
execuo continuar depois do comando if;
if em portugus significa se e else significa seno;
Podem aparecer diversos elseif;
Caso o bloco s tenha uma linha, as chavetas {} no so obrigatrias;
No obrigatrio o uso do elseif ou else. O if isoladamente tambm pode
ser usado.

15-05-2017 Curso Profissional Tcnico de Multimdia 10 N


Linguagem de Programao II
Estruturas de controlo em PHP
Comando if
Exemplo:
<?php
$teste1 = 14;
$teste2 = 10;
$media = ($teste1 + $teste2) / 2;
if($media<4) {
$desempenho =FRACO";
} elseif($media<10) {
$desempenho =NO SATISFAZ";
} elseif($media<14) {
$desempenho =SATISFAZ";
} elseif($media<18) {
$desempenho ="BOM";
} else {
$desempenho ="EXCELENTE";
}
echo "O seu desempenho foi $desempenho";
?>

15-05-2017 Curso Profissional Tcnico de Multimdia 10 N


Linguagem de Programao II
Estruturas de controlo em PHP
Comando switch
Semelhante ao if, pois ambos avaliam o valor de uma expresso para definir o que
ser executado.
switch ( operador )
{
case valor1:
<comandos>
break;
case valor2:
Depois de cada bloco de comandos, deve ser
<comandos> usado o comando break para que o switch seja
break; encerrado.
case valorN:
<comandos>
A opo default funciona como o else do comando
break; if. Caso todas as outras alternativas sejam falsas,
default: ele ser executado.
<comandos>
break;
}

15-05-2017 Curso Profissional Tcnico de Multimdia 10 N


Linguagem de Programao II
Estruturas de controlo em PHP
Comando switch
Exemplo:
$opcao = "";
switch($opcao) {
case 's':
echo "Voc escolheu SIM!";
break;
case 'n':
echo "Voc escolheu NO!";
break;
default:
echo Opo invlida";
break;
}

15-05-2017 Curso Profissional Tcnico de Multimdia 10 N


Linguagem de Programao II
Estruturas de controlo em PHP
Comandos de repetio
Utilizados para que um bloco de instrues seja executado por um nmero
determinado de vezes, ou at que uma condio seja atingida

15-05-2017 Curso Profissional Tcnico de Multimdia 10 N


Linguagem de Programao II
Estruturas de controlo em PHP
Comandos de repetio
while
dowhile
for
foreach

15-05-2017 Curso Profissional Tcnico de Multimdia 10 N


Linguagem de Programao II
Estruturas de controlo em PHP
Comando while
Traduzido para o portugus significa enquanto;
Composto por uma expresso e um bloco de comandos;
O comando avalia a expresso, e enquanto essa expresso retornar o valor
verdadeiro, a execuo do bloco de comandos ser repetida. Caso seja
falsa, encerrada a execuo do bloco de comandos;
Tomar cuidado para no criar expresses que nunca se tornam falsas pois
teramos um loop infinito.

15-05-2017 Curso Profissional Tcnico de Multimdia 10 N


Linguagem de Programao II
Estruturas de controlo em PHP
Comando while

Sintaxe:

while ( exp )
{
<comandos>
}

15-05-2017 Curso Profissional Tcnico de Multimdia 10 N


Linguagem de Programao II
Estruturas de controlo em PHP
Comando while
Exemplo:
<?php
$x = 1;

while($x <= 5)
{
echo Nmero: $x <br>";
$x++;
}
?>

15-05-2017 Curso Profissional Tcnico de Multimdia 10 N


Linguagem de Programao II
Estruturas de controlo em PHP
Comando dowhile
A nica diferena entre o while e o do...while que o while avalia a
expresso no incio do ciclo e o do...while no final;
Este comando garante que o ciclo ser executado ao menos uma vez, j no
caso do while pode acontecer de o ciclo no ser executado nenhuma vez;

15-05-2017 Curso Profissional Tcnico de Multimdia 10 N


Linguagem de Programao II
Estruturas de controlo em PHP
Comando dowhile

Sintaxe:

do
{
<comandos>
} while (exp);

15-05-2017 Curso Profissional Tcnico de Multimdia 10 N


Linguagem de Programao II
Estruturas de controlo em PHP
Comando dowhile
Exemplo:
<?php
$x = 1;

do
{
echo Nmero: $x <br>";
$x++;
} while($x <= 5);
?>

15-05-2017 Curso Profissional Tcnico de Multimdia 10 N


Linguagem de Programao II
Estruturas de controlo em PHP
Comando for
Usado quando queremos executar um conjunto de instrues por uma
quantidade especificada de vezes
Pode ser usado, por exemplo, para imprimir os elementos de um array ou
todos os resultados de uma consulta a uma base de dados

15-05-2017 Curso Profissional Tcnico de Multimdia 10 N


Linguagem de Programao II
Estruturas de controlo em PHP
Comando for

Sintaxe:

for (inicializao ; condio; operador)


{
<comandos>
}

15-05-2017 Curso Profissional Tcnico de Multimdia 10 N


Linguagem de Programao II
Estruturas de controlo em PHP
Comando for

Em inicializao indica-se o valor inicial da varivel que controlar o ciclo


Ex: $cont = 0;
Na condio deve-se colocar a condio para que o ciclo continue a ser
executado. Quando a condio retornar um valor falso o ciclo parar
Ex: $cont<20
O operador usado para atualizar o valor da varivel de controlo, fazendo um
incremento ou decremento ao final de cada iterao do ciclo
Ex: $cont++

15-05-2017 Curso Profissional Tcnico de Multimdia 10 N


Linguagem de Programao II
Estruturas de controlo em PHP
Comando for
Exemplo:
echo "Contagem Progressiva <br> <br>";
for($cont=0;$cont<10;$cont++)
{
echo "A varivel cont vale $cont <br>";
}
echo "<br> Contagem Regressiva <br> <br>";
for($cont=13;$cont>0;$cont--)
{
echo "A varivel cont vale $cont <br>";
}

15-05-2017 Curso Profissional Tcnico de Multimdia 10 N


Linguagem de Programao II
Estruturas de controlo em PHP
Comando foreach
Oferece uma maneira mais fcil de navegar entre os elementos de um
array
Sintaxe:
foreach($nome_array as $elemento)
{
<comandos>
}
Todos os itens de $nome_array sero acedidos. A cada iterao o item do
array ser armazenado em $elemento. Assim possvel trabalhar todos os
elementos usando somente uma varivel.

15-05-2017 Curso Profissional Tcnico de Multimdia 10 N


Linguagem de Programao II
Estruturas de controlo em PHP
Comando foreach
Exemplo:
$vetor = array (1,2,3,4,5);
foreach($vetor as $v)
{
print "O valor atual do vetor $v. <br>";
}

15-05-2017 Curso Profissional Tcnico de Multimdia 10 N


Linguagem de Programao II
Funes em PHP
Para alm das funes nativas do PHP, possvel tambm a criao de novas
funes;
Uma funo pode ser definida como um bloco de instrues que pode ser
executado a qualquer momento em um programa;
A funo apenas ser executada quando for chamada em um programa.

15-05-2017 Curso Profissional Tcnico de Multimdia 10 N


Linguagem de Programao II
Funes em PHP
Sintaxe:

function nomedafuno (argumentos)


{
<comandos>;
}

Nota: O nome de uma funo deve iniciar sempre com uma letra ou um underscore
(nunca um nmero).

15-05-2017 Curso Profissional Tcnico de Multimdia 10 N


Linguagem de Programao II
Funes em PHP
Exemplo (funo sem argumentos):

<?php
function escreveMsg() {
echo Ol Mundo!";
}

escreveMsg(); // chama a funo escreveMsg


?>

15-05-2017 Curso Profissional Tcnico de Multimdia 10 N


Linguagem de Programao II
Funes em PHP
Exemplo (funo com argumentos):

<?php
function familia($nome, $ano)
{
echo "$nome Silva. Nascido em $ano <br>";
}

familia("Hugo", "1975");
familia("Sonia", "1978");
familia("Joana", "1983");
?>

15-05-2017 Curso Profissional Tcnico de Multimdia 10 N


Linguagem de Programao II
Funes em PHP
Exemplo (funo com argumento com valor por defeito):

<?php
function escreveAltura($altura = 50)
{
echo A altura : $altura <br>";
}

escreveAltura(150);
escreveAltura (); // ser utilizado o valor por defeito de 50
escreveAltura (135);
escreveAltura (80);
?>

15-05-2017 Curso Profissional Tcnico de Multimdia 10 N


Linguagem de Programao II
Funes em PHP
Exemplo (funo com devoluo de valores):

<?php
function soma($x, $y)
{
$z = $x + $y;
return $z;
}

echo "5 + 10 = " . soma(5, 10) . "<br>";


echo "7 + 13 = " . soma(7, 13) . "<br>";
echo "2 + 4 = " . soma(2, 4);
?>

15-05-2017 Curso Profissional Tcnico de Multimdia 10 N


Linguagem de Programao II
Incluso de ficheiros em PHP
Comandos include e require

O comando include (ou require) permite incluir todo o texto/cdigo/tags existente


em um ficheiro especificado no ficheiro que utiliza o comando include.
A incluso de ficheiros muito til quando desejamos incluir o mesmo cdigo PHP,
HTML ou at mesmo texto, em mltiplas pginas de um website.
possvel inserir, por exemplo, o contedo de um ficheiro PHP em outro ficheiro
PHP, com o comando include (ou require).
A nica diferena entre o comando include e o require que, em caso de falha, o
comando require produz um erro fatal, enquanto o comando include produz
apenas um aviso.

15-05-2017 Curso Profissional Tcnico de Multimdia 10 N


Linguagem de Programao II
Incluso de ficheiros em PHP
Comandos include e require

Sintaxe:

include nomedoficheiro';

or

require nomedoficheiro';

15-05-2017 Curso Profissional Tcnico de Multimdia 10 N


Linguagem de Programao II
Incluso de ficheiros em PHP
Comandos include e require

Exemplo:
Ficheiro rodape.php:
<?php
echo "<p>Copyright &copy; 1999-" . date("Y") . "</p>";
?>

Ficheiro exemplo.php:
<html>
<body>
<h1>Bem vindo minha home page!</h1>
<p>Algum texto.</p>
<p>Mais texto.</p>
<?php include rodape.php';?>
</body>
</html>
15-05-2017 Curso Profissional Tcnico de Multimdia 10 N
Linguagem de Programao II
PHP e formulrios HTML
Campos obrigatrios
Por vezes, necessrio que alguns campos utilizados em formulrios sejam
obrigatrios, para alm de criar erros quando necessrio.
Exemplo:
Pretende-se criar um formulrio com os seguintes campos e regras de validao:
Campo Regras de validao
Nome Obrigatrio. Deve conter apenas letras e espaos.
E-mail Obrigatrio. Deve conter um endereo de e-mail vlido (com @ e .)
Website Opcional. Se preenchido, deve conter um URL vlido.
Comentrios Opcional.
Sexo Obrigatrio.

15-05-2017 Curso Profissional Tcnico de Multimdia 10 N


Linguagem de Programao II
PHP e formulrios HTML
Campos obrigatrios
Exemplo (ficheiro recebe_dados.php):

<?php
function testar_dados($dados) {
$dados = trim($dados); /* elimina caracteres desnecessrios (espaos em branco
extra, tab, enter) */
$dados = stripslashes($dados) /* elimina os caracteres \ dos dados */
$dados = htmlspecialchars($dados); /* converte caracteres especiais permitindo
que no se explorem algumas vulnerabilidades */
return $dados;
}

15-05-2017 Curso Profissional Tcnico de Multimdia 10 N


Linguagem de Programao II
PHP e formulrios HTML
Campos obrigatrios
Exemplo (ficheiro recebe_dados.php):

// define as variveis e inicializa-as


$nomeErr = $emailErr = $sexoErr = $websiteErr = "";
$nome = $email = $sexo = $comentarios = $website = "";

if ($_SERVER["REQUEST_METHOD"] == "POST") {
if (empty($_POST["nome"])) {
$nomeErr = O Nome obrigatrio";
} else {
$nome = testar_dados($_POST["nome"]);
}

15-05-2017 Curso Profissional Tcnico de Multimdia 10 N


Linguagem de Programao II
PHP e formulrios HTML
Campos obrigatrios
Exemplo (ficheiro recebe_dados.php):

if (empty($_POST["email"])) {
$emailErr = O Email obrigatrio";
} else {
$email = testar_dados($_POST["email"]);
}

if (empty($_POST["website"])) {
$website = "";
} else {
$website = testar_dados($_POST["website"]);
}

15-05-2017 Curso Profissional Tcnico de Multimdia 10 N


Linguagem de Programao II
PHP e formulrios HTML
Campos obrigatrios
Exemplo (ficheiro recebe_dados.php):
if (empty($_POST["comentarios"])) {
$comentarios = "";
} else {
$comentarios = testar_dados($_POST["comentarios"]);
}

if (empty($_POST[sexo"])) {
$sexoErr = O sexo obrigatrio";
} else {
$sexo = testar_dados($_POST[sexo"]);
}
}

15-05-2017 Curso Profissional Tcnico de Multimdia 10 N


Linguagem de Programao II
PHP e formulrios HTML
Campos obrigatrios
Exemplo (ficheiro recebe_dados.php):

if ($nomeErr != || $emailErr != || $sexoErr != || $websiteErr != ")


{
include formulario.php;
}
else
{

}

?>

15-05-2017 Curso Profissional Tcnico de Multimdia 10 N


Linguagem de Programao II
PHP e formulrios HTML
Campos obrigatrios
Exemplo (ficheiro formulario.php):

<form method="post" action=recebe_dados.php">

Nome: <input type="text" name="nome">


<span class="error">* <?php echo $nomeErr;?></span>
<br><br>
E-mail:
<input type="text" name="email">
<span class="error">* <?php echo $emailErr;?></span>
<br><br>
Website:
<input type="text" name="website">
<span class="error"><?php echo $websiteErr;?></span>

15-05-2017 Curso Profissional Tcnico de Multimdia 10 N


Linguagem de Programao II
PHP e formulrios HTML
Campos obrigatrios
Exemplo (ficheiro formulario.php):

<br><br>
Comentrio: <textarea name="comentarios" rows="5" cols="40"></textarea>
<br><br>
Sexo:
<input type="radio" name=sexo" value="feminino">Feminino
<input type="radio" name=sexo" value=masculino">Masculino
<span class="error">* <?php echo $sexoErr;?></span>
<br><br>
<input type="submit" name="submit" value=Enviar">

</form>

15-05-2017 Curso Profissional Tcnico de Multimdia 10 N