Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Apostila de PHP
BÁSICA
Brazelino Bertolete Neto
Fábio José Colombo
Luciano de Jesus Guesso Rodrigues de Barros
SUMÁRIO
1Apresentando o PHP .................................................................................................... 5
1.1 Orientação a Objetos ............................................................................................... 6
1.1.1 POO – Programação Orientada a Objetos ........................................................ 6
1.1.1 Propriedades ................................................................................................. 7
1.1.2 Eventos ......................................................................................................... 7
1.1.3 Métodos ........................................................................................................ 7
2 Como é feita uma aplicação em PHP .................................................................. 8
3 Instalação do Wamp ............................................................................................... 9
3.1 Desenvolvimento .................................................................................................. 10
3.1.1 Entendendo o desenvolvimento .................................................................. 10
4 Desenvolvendo uma aplicação ........................................................................... 11
4.1 Montado a página do exercício 1 ................................................................... 11
4.1.1 Separador de Instruções e Variáveis ........................................................... 14
5 Variáveis ................................................................................................................ 16
5.1 Tipos de Dados ............................................................................................... 16
5.1.1 Tipos de Dados Numéricos Inteiros ........................................................... 16
5.2 Outros tipos de Dados..................................................................................... 16
5.3 Uso de variáveis no PHP ................................................................................ 16
5.4 Atribuindo variáveis no PHP .......................................................................... 16
5.5 Exemplo: ......................................................................................................... 17
6 Trabalhando com formulários HTML ................................................................. 20
6.1 Concatenação de variáveis.............................................................................. 22
6.2 Expressões Aritméticas................................................................................... 22
6.3 Operadores Matemáticos ................................................................................ 22
6.4 Operadores Lógicos ........................................................................................ 23
6.5 Operadores de Comparação ............................................................................ 23
7 Desenvolvendo aplicativos de exemplo ............................................................ 24
7.1 Implementação da página do exercício 1 em html ....................................... 24
7.2 Implementação da página conectar.php do exercício 1 .................................. 24
7.3 Implementação da página do exercício 2 em html ....................................... 25
7.4 Implementação da página dadosalunos.php do exercício 2 ............................ 27
8 Estruturas de Decisão: ........................................................................................ 31
8.1 Estrutura If ... { ............................................................................................... 31
8.1.1 Estrutura SE...Inicio do Bloco(IF...{) – Desvio Simples ............................ 31
8.2 Estrutura SE...{...else (IF...{...ELSE) – Desvio Composto ............................ 32
8.3 Estrutura SE...INICIO (IF...{) – Desvio Encadeado....................................... 34
9 Switch... { ............................................................................................................... 37
10 Estruturas de Repetição ...................................................................................... 39
10.1 While...{.......................................................................................................... 39
13 Código da página tabuada.php ........................................................................... 39
14 Código da página tabuadaqualquer.php ........................................................... 39
10.2 Estrutura Do...While ....................................................................................... 40
10.3 Estrutura For{. ............................................................................................... 41
11 Sub-rotinas ............................................................................................................ 44
12 .................................................................................................................................... 44
12.1 Funções que retornam valores ............................................................................ 44
12.1.1 Funções - Declaração................................................................................... 44
12.1.1 ...................................................................................................................... 44
12.1.2 Funções que não retornam valores .............................................................. 44
12.2 Procedimentos - Declaração ............................................................................... 44
12.2.1 Exemplo ....................................................................................................... 44
12.3 Passagem de Parâmetros ..................................................................................... 45
12.3.1 Passagem por Valor ..................................................................................... 45
12.3.2 Passagem por Referência ............................................................................. 45
12.4 Como sabemos quando um argumento é passado por valor ou por referência?. 45
12.4.1 Um exemplo correto! ................................................................................... 45
12.4.2 O exemplo correto ....................................................................................... 45
12.5 Exercícios de Criação de Funções ...................................................................... 46
13 Escopo de Variáveis................................................................................................ 47
13.1 Variáveis Locais ou Privadas.............................................................................. 47
13.2 Variáveis Globais ou Públicas ............................................................................ 47
13.3 Exemplos: ........................................................................................................... 47
1APRESENTANDO O PHP
PHP (um acrónimo recursivo para "PHP: Hypertext Preprocessor") é
uma linguagem de programação de computadores interpretada, livre e muito
utilizada para gerar conteúdo dinâmico na Web.
A linguagem surgiu por volta de 1994, como um subconjunto de scripts
Perl criados por Rasmus Lerdof. Com as adições de Zeev Suraski e Andi
Gutmans, dois programadores israelitas pertencentes ao Technion, o Instituto
Israelita de Tecnologia, que reescreveram o parser, era lançada em 1997 a
PHP 3, primeira versão estável e parecida com a linguagem atual. Ao
reescrever o parser, foi criado o Zend Engine, que é mantido oficialmente pela
empresa Zend em conjunto com a comunidade PHP. Em Maio de 2000 veio a
público a versão 4, e em Julho de 2004, a versão 5, onde a principal mudança
foi uma nova API para orientação a objetos provida pelo Zend Engine 2.
Trata-se de uma linguagem extremamente modularizada, o que a torna
ideal para instalação e uso em servidores web. Diversos módulos são criados
no repositório de extensões PECL (PHP Extension Community Library) e
alguns destes módulos são introduzidos como padrão em novas versões da
linguagem. É muito parecida, em tipos de dados, sintaxe e mesmo funções,
com a linguagem C e com a C++. Pode ser, dependendo da configuração do
servidor, embutida no código HTML. Além disso, destaca-se a extrema
facilidade com que PHP lida com servidores de base de dados, como MySQL,
PostgreSQL, Microsoft SQL Server,Oracle entre outros.
Apesar de ser uma linguagem de fácil aprendizado e de uso para
pequenos scripts dinâmicos simples, o PHP é uma linguagem poderosa
orientada a objetos.
1.1 ORIENTAÇÃO A OBJETOS
As linguagens orientadas a objeto, como é o caso do PHP, possibilitam que os
programadores criem programas usando objetos como unidade de dados e de ações.
O processo de evolução do que hoje é uma linguagem orientada vem de muito tempo,
por volta de 1970.
1.1.1 POO – Programação Orientada a Objetos
A POO define uma nova forma de criar programas, uma maneira mais
fácil de economizar linhas e linhas de código, tornando esse paradigma muito
divulgado. Porém, é pouco compreendido pela maioria dos desenvolvedores,
pois exige muita disciplina e mudança na atitude profissional desses
programadores. Fazer a documentação de um sistema passa a ser
fundamental.
A POO aumenta a produtividade do desenvolvimento de software
através de uma maior expansibilidade e reutilização de código, facilita o uso de
códigos, o programa principal carrega poucas linhas de códigos e o resultado
desta limpeza, gera manutenção mais simples. Abaixo alguns dos conceitos
que definem a orientação a objetos:
• Classe
• Objeto
• Atributos (Características ou propriedades)
• Ações (Eventos)
• Métodos
• Herança
• Poliformismo
PHP permite que se construa aplicações orientadas a objetos. Em linhas
gerais, aplicações orientadas a objetos se baseiam no conceito de classe. A
classe é um tipo de dados, contendo atributos e ações. O objeto é uma variável
de determinada classe. Contém atributos (propriedades) e ações (eventos).
Exemplificando: O coletivo de peixes é cardume, de pessoas é população. O
coletivo de objetos é chamado Classe, sendo este um dos principais
elementos-chave de uma linguagem orientada a objeto.
A programação orientada a objetos gira em torno dos componentes
(objetos) que compõem um programa. Esses objetos possuem propriedades,
eventos e rotinas. Vamos comparar com algo mais próximo da realidade, um
carro, por exemplo. Imaginemos o nosso carro como sendo nosso “objeto”,
esse carro possui várias propriedades como cor, modelo, ano, acessórios, etc.
E também vários eventos, por exemplo, ao girar a chave no contato, ao pisar
no acelerador, ao apertar a buzina. E por último as rotinas, que são ações
disparadas por um evento.
Exemplo:
Objeto Propriedades Evento Rotinas (métodos)
No dia a dia
Carro Cor, Modelo. Apertar Buzina Emite um som
Carro Acessórios Pisar no acelerador Aumenta a velocidade
1.1.1 Propriedades
São as características do objeto, como cor e tamanho.
É possível modificar propriedades de componentes durante a execução do sistema.
Para isto você deverá usar a sintaxe:
1.1.2 Eventos
Eventos são ações geradas pelo usuário.
Exemplo: Clicar o mouse, pressionar uma tecla, mover o mouse etc.
Cada evento gera uma procedure, onde você deve inserir as linhas de código que
envolve este evento. Por exemplo, os eventos OnClick, OnKeypress, Onload, entre
outros.
1.1.3 Métodos
São procedimentos ou funções embutidos nos objetos
2 COMO É FEITA UMA APLICAÇÃO EM PHP
O PHP é baseado no servidor, ou seja, quando você executa uma
página PHP no seu navegador, todo o código PHP é executado no servidor de
origem da página, ou seja, o navegador apenas exibe a página processada.
Para que possamos trabalhar com o PHP no Windows, precisamos
instalar no computador alguns programas que compõe um pacote que
chamamos de WAMP (Windows + Apache + MySQL + PHP).
Uma maneira simples de instalar esses softwares é através do WAMP,
um programa gratuito, que em apenas em poucos passos instala o servidor
Apache, o módulo para programação em PHP e o banco de dados MySQL.
O WAMP não é só um programa, são três em um:
_ Apache, o servidor mais popular de páginas web, sendo totalmente
compatível com o protocolo http.
_ MySQL, um dos banco dados mais difundido de código livre, por
possuir um excelente desempenho, ser compatível com muitos drivers e
também módulos de interfaces para muitas linguagens de programação e
suportar vários tipos de tabelas.
_ PHP, a linguagem ou tecnologia mais difundida para realizar páginas
com programação no servidor, acesso ao banco de dados, etc.
3 INSTALAÇÃO DO WAMP
Uma vez baixado, a instalação é imediata. Para iniciar, abriremos o
Wamp, se já não o tivermos aberto. No botão Iniciar/Todos os programas/
WampServer/startWampServer. O Resultado será o aparecimento de um
ícone próximo ao relógio do Windows como a figura abaixo, desde que, os
servidores PHP e MySQL tenham sido iniciados corretamente.
Quando o ícone do Wamp visualizado na figura acima estiver verde,
significa que os servidores foram startados e estão prontos para o
desenvolvimento. Clique no ícone do Wamp e escolha a opção Localhost, ou
digite diretamente no navegador o endereço http://localhost, nesse momento
deverá aparecer a página de início do Wamp como mostrado na figura abaixo.
Os documentos web serão armazenados na pasta de publicação de
documentos do Wamp, que é, “C:\wamp\www”. Crie, então, uma pasta
(Windows Explorer ou Meu Computador) chamada exercicio01 dentro da qual
serão gravados nossos primeiros scripts em PHP. Selecione o conteúdo da
barra de endereço da página local acessada anteriormente e pressione a tecla
F5, agora, constataremos a presença da pasta exercicio01 como mostrado na
figura abaixo.
3.1 Desenvolvimento
3.1.1 Entendendo o desenvolvimento
Para criar e editar scripts, em PHP, podemos utilizar qualquer editor de
Html, ou até mesmo o bloco de notas do Windows. Vamos inicialmente utilizar
o Notepad++, que pode ser baixado também gratuitamente da internet, depois
se desejar, poderá optar por outro editor PHP.
Um código php pode conter, ou não, tags Html, essas tags não são
processadas pelo servidor, são simplesmente passadas ao browser solicitante.
Normalmente utiliza-se Html para fazer a parte estática da página, sua
estrutura, o seu design e o php para a parte lógica, que exige processamento.
Os códigos em PHP com extensão “.php”.
Uma aplicação pode gerar uma grande quantidade de arquivos
como figuras da página, arquivos com extensão html, php dentre outros e por
isso cada projeto deve ser montado em um diretório específico.
4 DESENVOLVENDO UMA APLICAÇÃO
Neste material estaremos considerando que você tenha
conhecimentos básicos das linguagens html e javascript, quando
necessário serão explicados os códigos.
Há quatro conjuntos de tags que podem ser usadas para marcar blocos
de código PHP. Delas, somente duas (<?php. . .?> e <script
language="php">. . .</script>) são sempre disponíveis. As outras podem ser
ativadas ou desativadas a partir do arquivo de configuração php.ini.
O primeiro método, <?php. . .?>, é o preferencial, já que ele permite o
uso do PHP em códigos padrão XML e XHTML.
1) Vamos agora abrir o notepad++ e montar a seguinte página utilizando-se
do PHP.
4.1 Montado a página do exercício 1
Como dito anteriormente, abra o notepad++, clique no menu “Arquivo” e em seguida
clique na opção “Novo”. Uma nova página de edição de códigos se abrirá conforme a
figura abaixo.
Em seguida clique no menu “Linguagem”, navegue até a opção “P” e escolha a subopção
PHP, conforme a figura abaixo.
Digite o código conforme mostrado na figura abaixo.
Salve o arquivo como Exercicio_01.php na pasta “C:\Wamp\www\
exercicio01\” e em seguida, execute o arquivo criado. Para isso abra o
navegador de internet de sua preferência e digite o endereço:
http://localhost/exercicio01/exercicio_01.php. O resultado deve ser parecido
conforme o demonstrado na figura abaixo.
O comando echo retorna, o que está entre aspas, na forma de uma
cadeia de caracteres e disponibiliza, no formato html. Esta cadeia de
caracteres pode ser passada diretamente (como no exemplo) para o corpo do
navegador, ou para uma variável que poderá ser utilizada mais tarde no
processamento das informações.
O processo de interpretação, de um arquivo, pelo PHP inicia-se quando
uma das tags especiais é encontrada no conteúdo (conjunto de códigos) do
arquivo. O interpretador passa, então, a executar os comandos e só para
quando encontra uma tag de fechamento do PHP. Este mecanismo permite,
portanto, que o código PHP seja inserido em um documento escrito em
HTML. Logo, tudo o que estiver fora das tags PHP é exibido, no navegador,
exatamente como foi digitado.
4.1.1 Separador de Instruções e Variáveis
As instruções, no PHP, são separadas da mesma forma que
nas linguagens “C” e “Pascal”, ou seja: cada instrução termina com um ponto
e vírgula (;). A tag (?>) implica no fechamento de uma instrução, porém ela não
vem seguida de (;).
Agora vamos criar mais uma página de exemplo. Para isso abra uma
nova página de edição de códigos no Notepad++ como demonstrado
anteriormente e digite o código conforme mostrado na figura abaixo.
Salve o arquivo como Exercicio_02.php na pasta “C:\Wamp\www\
exercicio02\” e em seguida, execute o arquivo criado. Para isso abra o
navegador de internet de sua preferência e digite o endereço:
http://localhost/exercicio02/exercicio_02.php. O resultado deve ser parecido
conforme o demonstrado na figura abaixo.
5 VARIÁVEIS
As variáveis são símbolos que armazenam valores temporariamente na memória, já
que toda informação a ser processada (via memória RAM) por um computador por
meio de um programa necessita ser previamente armazenada.
5.1 Tipos de Dados
Os tipos de dados são classificados em diferente categorias, conforme abaixo :
5.1.1 Tipos de Dados Numéricos Inteiros
Intervalo
5.1.1.1 Tipo
Integer -2.147.483.648 a 2.147.483.647
Float 2,9 x 10 -39 a 1,7 x 10 38
5.2 Outros tipos de Dados
5.2.1.1 Tipo
String
Boolean
Intervalo
Qualquer caracter (comprimento de 1 a 255 caracteres)
True(Verdadeiro) ou False(Falso)
O tipo da variável geralmente não é configurado pelo programador: isto é
decidido em tempo de execução pelo PHP, dependendo do contexto no qual a
variável é usada.
5.3 Uso de variáveis no PHP
As variáveis, em PHP, não precisam ser declaradas, mas devem sempre
ter “$” na frente do nome. Por sua vez os nomes ou identificadores devem
sempre começar com letras ou com o caractere “_”.
Exemplo: $nome ou $_CPF. Em uma variável podemos armazenar os mais
diversos tipos de dados.
5.4 Atribuindo variáveis no PHP
A atribuição de valores para as variáveis é feita através do comando
$var1 = 1;
{ recebe um valor - inteiro, real...}
$var2 =$varX + $varY; { recebe uma expressão }
$varBool = false; { atribuição lógica }
$varStr = “atribui string”; { recebeu um string }
$varletra = “a”; { recebe um caracter }
5.5 Exemplo:
Para demonstrar o uso de variáveis no php, abra uma nova página de
edição de códigos no Notepad++ como demonstrado anteriormente e digite o
código conforme mostrado abaixo:
<html>
<head>
<title>PHP – Aula Exemplo do Uso de Variáveis</title>
</head>
<body>
<?php
// Declarando variáveis
$var1 = 1; // inteiro
$varX = 9.50; // ponto flutuante
$varY = 9.50; // ponto flutuante
$var2 = $varX + $varY; //recebendo o resultado de uma
expressão
$varSTR = "Atribui String"; // variável texto – string
$varletra = "a"; // variável caracter
$varbool = true; // atribuição lógica
echo "Exemplo de uma aplicação em PHP";
print "<P>";
echo "Conteúdo de var1: ";
echo $var1;
print "<P>";
echo "Conteúdo de varX: ";
echo $varX;
print "<P>";
echo "Conteúdo de varY: ";
echo $varY;
print "<P>";
echo "Conteúdo de var2: ";
echo $var2;
print "<P>";
echo "Conteúdo de varSTR: ";
echo $varSTR;
print "<P>";
echo "Conteúdo de varletra: ";
echo $varletra;
print "<P>";
echo "Conteúdo de varbool: ";
echo $varbool;
?>
</body>
</html>
Salve o arquivo como Exercicio_03.php na pasta “C:\Wamp\www\
exercicio03\” e em seguida, execute o arquivo criado. Para isso abra o
navegador de internet de sua preferência e digite o endereço:
http://localhost/exercicio03/exercicio_03.php. O resultado deve ser parecido
conforme o demonstrado na figura abaixo.
6 TRABALHANDO COM FORMULÁRIOS HTML
Agora veremos que uma das características mais fortes do PHP é o jeito
como ele trata formulários HTML. Para isso abra uma nova página de edição
de códigos no Notepad++ como demonstrado anteriormente, selecione HTML
no menu Linguagem e digite o código conforme mostrado abaixo:
Salve o arquivo como Exercicio_04.html na pasta “C:\Wamp\www\
exercicio04\” e em seguida, execute o arquivo criado. Para isso abra o
navegador de internet de sua preferência e digite o endereço:
http://localhost/exercicio04/exercicio_04.html. O resultado deve ser parecido
conforme o demonstrado na figura abaixo.
Não há nada de especial neste formulário. É um formulário HTML
comum. Quando o usuário preencher este formulário e clicar no botão enviar, a
página receber.php é chamada. Vamos escrever agora o arquivo
receber.php. Para isso abra uma nova página de edição de códigos no
Notepad++ como demonstrado anteriormente, selecione PHP no menu
Linguagem e digite o código conforme mostrado abaixo:
Salve o arquivo como receber.php na pasta “C:\Wamp\www\
exercicio04\” e em seguida, abra o arquivo exercício_04.html e execute-o
totalmente digitando um nome e um e-mail e clique no botão enviar. Você
obterá como resposta algo parecido com o demonstrado pela figura abaixo:
As duas páginas estão ligadas. As variáveis $_POST[‘txtnome’] e
$_POST["txtmail"] são automaticamente criadas para você pelo PHP. Nós
simplesmente usamos a auto-global $_POST que contém todos os dados
vindos do método POST, obtendo as informações digitadas nas caixas de texto
txtnome e txtmail. Quando um formulário é submetido para um script PHP,
qualquer variável do formulário será automaticamente disponível para o script.
Algumas configurações e suas preferências pessoais definirão as vias pela
quais você pode acessar os dados de seu formulário. Neste caso estamos
utilizando como via de comunicação o Método POST. O PHP armazena os
valores vindos por POST em uma variável associativa chamada $_POST que
armazena os dados vindos do formulário. Por isso que para acessarmos os
valores vindos de um formulário como nome e e-mail, por exemplo, poderíamos
fazer:
$nome = $_POST[‘txtnome’];
$mail = $_POST[‘txtmail’];
E assim é feita a transmissão de variáveis no php.
6.1 Concatenação de variáveis
Se um sinal de cifrão ($) é encontrado, o interpretador tentará obter
tantos identificadores quanto possíveis para formar um nome de variável válido.
Há várias formas de se concatenar variáveis conforme o exemplo abaixo:
<?php
$bebida = 'Coca';
echo "O sabor das '$bebida's é otimo" ;
echo "Ele bebeu algumas ${bebida}s";
echo "Ele bebeu algumas {$bebida}s";
echo "Ele bebeu algumas ". $bebida ."s";
?>
6.2 Expressões Aritméticas
SQRT
Retorna a raiz quadrada de um valor
Sintaxe : $valor = sqrt($valor)
POW
Retorna a potenciação de um valor por outro valor.
Sintaxe : $resultado = pow($valor1, $valor2)
6.3 Operadores Matemáticos
Operador Ação
+ Soma
- Subtração
/ Divisão
* Multiplicação
% Resto da divisão inteira
6.4 Operadores Lógicos
Operador Ação
&&
E
|| Ou
! Não
6.5 Operadores de Comparação
Operador Ação
== Idêntico
!= Diferente
< Menor que
> Maior que
<= Menor ou igual
>= Maior ou igual
7 DESENVOLVENDO APLICATIVOS DE EXEMPLO
1) Abra o Notepad++ e monte a tela abaixo:
7.1 Implementação da página do exercício 1 em html
<html>
<head>
<title> Aplicativo concatenação </title>
</head>
<body>
<form action="conectar.php" method= "POST">
Informe seu nome...: <input type = "text" name="txtnome"> <br>
Informe seu sobrenome...:<input type = "text" name="txtsobrenome"> <br>
<input type ="submit" value="conectar">
<input type="reset" value="Limpar"/>
</body>
</html>
7.2 Implementação da página conectar.php do exercício 1
<html>
<head>
<title> Página conectar.php </title>
</head>
<body>
<?php
echo "Seu nome completo é...:".$_POST['txtnome']."
?>
</body>
</html>
".$_POST['txtsobrenome'];
Exercício 02
1) Abra o Notepad++ e monte a tela abaixo:
7.3 Implementação da página do exercício 2 em html
<html>
<head>
<title> Cadastro de Alunos </title>
</head>
<body>
<script src="mascaras.js" type="text/javascript">
</script>
<form name="form1" action="dadosalunos.php" method="POST">
<fieldset style="width: 40%">
<legend>
Dados Pessoais
</legend>
Nome <input type="text" name="txtnome" size="50"><br>
Telefone<input type="text" name="txttelefone" size="20" maxlength="14"
onKeyPress="MascaraTelefone(this);" ><br>
RG<input type="text" name="txtRG" size="14" maxlength="15">
</fieldset>
<br>
<fieldset style="width: 40%">
<legend>
Opções
</legend>
<input type="submit" value="confirmar">
<input type="reset" value="Limpar">
</fieldset>
<br>
<fieldset style="width: 40%">
<legend>
Dados Escolares
</legend>
Curso <select name="cbocursos">
<option value="Informática">Informatica
<option value="Administração">Administracao
<option value="Enfermagem">Enfermagem
<option value="Alimentos">Alimentos
</select>
<br>
Modulo<input type="text" name="txtmodulo" size="10">
</fieldset>
</form>
</body>
</html>
</form>
</body>
</html>
Explicando o código fonte
Dados Pessoais, Opções e Dados Escolares – Tag html <fieldset> –
usada para agrupar elementos relacionados dentro de um
formulário, desenhando uma borda em torno desses elementos. Ela é
especialmente útil na organização de formulários extensos. Junto com ela,
usamos a tag <legend> para definir um título para o bloco.
Máscara utilizada na caixa do Telefone – Chamada ao método
MascaraTelefone() – contido no arquivo javascript mascaras.js*
Caixinha do Curso – Tag html <select name> – O atributo name
especifica o nome de uma lista drop-down.
*Colocando máscara no telefone: O arquivo de configuração maskaras.js pode ser
baixado através do site http://www.4shared.com/get/6jRJbVBIce/mascaras.html e deve
ser colocado no mesmo diretório da aplicação. Ele possui uma série de métodos prontos
para criar, formatar e validar dados como CPF, CNPJ, CEP dentre outros, podendo ser
chamado através da tag <script src="maskaras.js" type="text/javascript">.
Inserindo itens no cbocursos – Foi ulizada a tag <option value> com as respectivas
opções de curso.
7.4 Implementação da página dadosalunos.php do exercício 2
<html>
<head>
<title> Página dadosalunos.php </title>
</head>
<body>
<?php
echo "Segue abaixo as informações digitadas na página anterior". '<br>';
echo "Nome digitado...: ".$_POST['txtnome']. '<br>';
echo "Telefone...: ".$_POST['txttelefone']. '<br>';
echo "Curso...: ".$_POST['cbocursos']. '<br>';
echo "RG...: ".$_POST['txtRG']. '<br>';
echo "Módulo...: ".$_POST['txtmodulo']. '<br>';
?>
</body>
</html>
Exemplos
1) Desenvolva uma página que calcule o salário de uma pessoa.
Implementação da página calcularsalario.html
<html>
<head>
<title> Cálculo de Salario </title>
</head>
<body>
<script src="mascaras.js" type="text/javascript">
</script>
<form name="frmsalario" action="calcularsalario.php" method="POST">
Digite a quantidade de horas trabalhadas <input type="text" name="txthoras"
onkeypress="return numeroponto(this,event);"><br>
Digite o valor da hora....R$<input type="text" name="txtvalor" onkeypress="return
numeroponto(this,event);"><br>
<input type="submit" value="Salario"><br>
<input type="reset" value="Limpar"><br>
</form>
</body>
</html>
Implementação da página calcularsalario.php
<html>
<head>
<title> Página calcularsalario.php </title>
</head>
<body>
<br>
<?php
$valor = $_POST['txtvalor'];
$horas = $_POST['txthoras'];
$salario= $valor * $horas;
echo "De acordo com as informações digitadas na página anterior, o salário é
R$".$salario;
?>
</body>
</html>
Para a caixa de texto aceitar somente números e ponto;
Primeiramente copie o arquivo mascaras.js para o mesmo diretório de
sua aplicação e depois o referencie no código utilizando <script
src="mascaras.js" type="text/javascript">. Em seguida na tag de criação da
caixa de texto adicione onkeypress="return numeroponto(this,event);",
sendo que numeroponto é um método javascript contido em mascaras. Nesse
método é passado o objeto onde a regra de digitação será imposta e o evento
keypress ( no pressionar da tecla).
2) Desenvolva uma página que leia dois valores A e B e em seguida apresente o
resultado da soma desses valores e também o quadrado da soma dos valores lidos.
Implementação da página calculaquadrado.html
<html>
<head>
<title> Cálculo de Quadrados </title>
</head>
<body>
<form action="calcularquadrado.php" method="POST">
Digite o valor de A <input type="text" name="txta"><br>
Digite o valor da B <input type="text" name="txtb"><br>
<input type="submit" value="Calcular"><br>
</form>
</body>
</html>
Implementação da página calculaquadrado.php
<html>
<head>
<title>Página calcularquadrado.php </title>
</head>
<body>
<br>
<?php
$A = $_POST['txta'];
$B = $_POST['txtb'];
$soma= $A + $B;
$quadr = pow($soma,2);
echo "A soma dos valores é ".$soma .'<br>';
echo "O quadrado da soma é ".$quadr;
?>
</body>
</html>
3) Agora implemente esse exercício. Você deverá digitar o valor total da compra e o
número de parcelas e na página php automaticamente será mostrado o valor das
parcelas, que será o total da compra dividido pela quantidade de parcelas.
• Faça a rotina para que as caixas de texto recebam apenas números.
8 ESTRUTURAS DE DECISÃO:
Um programa é uma lista de seqüência de comandos que são executados
seqüencialmente. A menos que seja solicitado o contrário, um programa em php
executa as instruções do início de um programa (tag <?php) até o fim ( tag ?>).
Conforme aumenta a complexidade, tais programas precisão tomar decisões e alterar
este processamento seqüencial. Com estruturas de decisões, o fluxo de instruções
seqüenciais é escolhido em função do resultado da avaliação de uma ou mais
condições, onde uma condição é uma expressão lógica. Existem dois tipos de
estruturas de decisão, aquela que fornece apenas duas possibilidades
(se...então...senão...fim), de seqüência para o programa, e outra que possui inúmeras
possibilidades (caso...senão...fim) de seqüências.
8.1 Estrutura If ... {
8.1.1 Estrutura SE...Inicio do Bloco(IF...{) – Desvio Simples
Exemplo: Desenvolva uma página que pergunte dois valores (A e B). Mostre a soma
desses valores e verifica se a soma for maior que dez, deverá emitir uma mensagem de
número maior que dez
Implementação da página php
<html>
<head>
<title>Página calcularsomamostrar.php </title>
</head>
<body>
<br>
<?php
$A = $_POST['txta'];
$B = $_POST['txtb'];
$soma= $A + $B;
echo "A soma dos valores é ".$soma .'<br>';
if ($soma>10) {
echo "Soma maior que dez ";
}
?>
</body>
</html>
Exercício. Crie uma página para entrar com o valor da compra. Se valor
da compra for maior ou igual a 100, emitir uma mensagem de “Compra maior
ou igual a cem”.
8.2 Estrutura SE...{...else (IF...{...ELSE) – Desvio Composto
Exemplo: Desenvolva uma página que pergunte dois valores (A e B). Mostre a soma
desses valores e verificar, se a soma for maior que dez, deverá emitir uma mensagem de
número maior que dez na cor vermelha, caso contrário, emitir uma mensagem de
número menor ou igual a dez na cor azul.
Observação: Sempre que iniciar um bloco para uma estrutura (If, Else, Case, While,
For) é necessário acrescentar o { e o }, conforme este modelo.
Implementação da página php
<html>
<head>
<title>Página calcularsomamostrar2.php </title>
</head>
<body>
<br>
<?php
$A = $_POST['txta'];
$B = $_POST['txtb'];
$soma= $A + $B;
echo "A soma dos valores é ".$soma .'<br>';
if ($soma>10) {
echo '<font color="blue">'. "Soma maior que dez". '</font>';
}
else{
echo '<font color="red">'. "Soma menor que dez". '</font>';
}
?>
</body>
</html>
Para inserir tags html no código php
Como mostrado vemos que uma das maneiras mais simples de se fazer isso é
colocar a tag entre o sinal de apóstrofe(‘) dentro do php, daí, '<font color="blue">'.
"Soma maior que dez". '</font>'. Nos códigos anteriores fazíamos isso com a tag
<br> que serve pra pular linha. Exemplo: echo "A soma dos valores é ".$soma .'<br>';
Exercício 1. Crie uma página para entrar com um número. Se o número
for maior ou igual a 0, emitir uma mensagem em vermelho
positivo”, senão emitir uma mensagem em azul de “Número Negativo”.
de “Número
Exercício 2.Crie uma página para entrada de um número. No final emitir
uma mensagem dizendo se o número é par ou ímpar.
Exercício 3. Crie um programa que entre com a senha e o nome do
usuário. Se senha=”ETE” e o usuário =”ETE” emitir uma mensagem de “Bem
vindo ao Sistema”, senão emitir mensagem de “Usuário ou senha inválidos!!,
tente novamente!!!”. NOTA: Quando você quiser uma caixa de texto para
entrada de informações secretas, utilize a tag <input type="password"> no
lugar de <input type="text">.
8.3 Estrutura SE...INICIO (IF...{) – Desvio Encadeado
Exemplo: Desenvolva uma página que pergunte dois valores (A e B). Mostre a soma
desses valores e verifica se a soma for maior que dez, deverá emitir uma mensagem de
número maior que dez, se a soma for menor que 5, emitir uma mensagem de número
menor que 5, caso contrário, emitir uma mensagem que o número está entre 5 e 10.
Implementação da página php
<html>
<head>
<title>Página calcularsomamostrar3.php </title>
</head>
<body>
<br>
<?php
$A = $_POST['txta'];
$B = $_POST['txtb'];
$soma= $A + $B;
echo "A soma dos valores é ".$soma .'<br>';
if ($soma>10) {
echo "Soma maior que dez";}
elseif ($soma<5) {
echo "Soma menor que cinco";}
else {
echo "Soma entre cinco e dez";}
?>
</body>
</html>
Exercício 1. Faça uma página que calcule e média e a situação do
aluno. Se a média for maior ou igual a 8, a situação será Aprovado, Se a média
for menor ou igual a 3, a situação será Reprovado, caso contrário estará de
recuperação.
Exercício 2. Faça uma página para calcular o peso ideal de uma
pessoa. Entrar com o nome da pessoa, o peso, o sexo e a altura. Se sexo for
igual a masculino, usar a formula: PI=altura2 * 23. Se sexo feminino, usar a
formula: PI=altura2 * 22. Mostrar ao final o Peso ideal calculado e se o peso for
maior que o peso ideal calculado, então deverá ser emitida uma mensagem em
vermelho de “Acima do peso ideal”, Se o peso for menor que o peso ideal
calculado, então deverá ser emitida a mensagem em amarelo “Abaixo do peso
ideal”, caso contrário a mensagem emitida deverá ser “Dentro do peso ideal”
em azul.
9 SWITCH... {
A estrutura Switch permite analisarmos uma expressão e comparar o resultado com
uma série de condições até encontrar um resultado igual ao retornado da expressão.
Exemplo: Desenvolva uma página que pedirá um valor numérico do tipo inteiro que
esteja entre 1 e 12. O programa deve apresentar o nome do mês correspondente.
Caso o usuário digitar um mês inexistente, deverá ser emitida uma mensagem do erro
cometido.
Implementação da página php
<html>
<head>
<title>Página verificarmes.php </title>
</head>
<body>
<br>
<?php
$mes = $_POST['txtnum'];
switch ( $mes ){
case 1:
echo "JANEIRO";
break;
case 2:
echo "FEVEREIRO";
break;
case 3:
echo "MARÇO";
break;
case 4:
echo "ABRIL";
break;
case 5:
echo "MAIO";
break;
case 6:
echo "JUNHO";
break;
case 7:
echo "JULHO";
break;
case 8:
echo "AGOSTO";
break;
case 9:
echo "SETEMBRO";
break;
case 10:
echo "OUTUBRO";
break;
case 11:
echo "NOVEMBRO";
break;
case 12:
echo "DEZEMBRO";
break;
default:
echo "MÊS INCORRETO!";
}
?>
</body>
</html>
Exercício 1)-Crie uma página com base na tabela abaixo:
Código
Cargo
1 Secretária
2 Gerente
3 Operário
4 Analista
5 Faxineiro
Caso Código igual a 1, emitir mensagem “Secretária” e assim em diante. Caso
contrário, emitir mensagem de código inválido.
Exercício 2)- Fazer um programa que entre com dois valores (v1 e V2) e com
o código da operação desejada conforme tabela abaixo:
Cód Operações Fórmulas
1 Soma V1+V2
2 Subtração V1-V2
3 Divisão V1/V2
4 Multiplicação V1*V2
Ao final mostre o resultado.
10 ESTRUTURAS DE REPETIÇÃO
10.1 While...{
A estrutura While possui a seguinte sintaxe:
While <condição> {
<comando a>;
No php, as instruções são separadas umas das outras pelo ponto-e-vírgula (;) e a
estrutura While entende como sendo o seu fim a primeira chave (}) que encontrar.
Exemplos:
1) Mostrar os valores da tabuada do dois de 0 a 10 no ListBox:
2) Mostrar a tabuada de um número qualquer.
13 CÓDIGO DA PÁGINA
TABUADA.PHP
<html>
<title> página tabuada.php </title>
<body>
<?php
$i = 0;
while( $i <= 10 ){
$tab = 2 * $i;
echo ‘2’ . ' X ' .$i . ' = ' .$tab.'<br />';
// $i++;
}
?>
</body>
</html>
14 CÓDIGO DA PÁGINA
TABUADAQUALQUER.P
HP
<html>
<head>
<title> página tabuadaqualquer.php
</title>
</head>
<body>
<?php
$i = 0;
$num = $_POST['txtnum'];
while( $i <= 10 ){
$tab = $num * $i;
echo $num . ' X ' .$i . ' = ' .$tab .
'<br />';
$i++;
}
?>
</body>
</html>
Exercícios
1) Elabore uma página em php que Apresente os quadrados dos números inteiros
de 5 a 10.
2) Elabore uma página em php que mostre os números pares, bem como, a
somatória desses números, na faixa de 1 a 10.
10.2 Estrutura Do...While
Repete um bloco de instruções até que uma certa condição seja satisfeita. Sintaxe:
Do{
Comando_1;
Comando_2;
Comando_3;
.... . .
} While (expressão_lógica);
Neste caso, todos os comandos entre as palavras reservadas DO e WHILE
serão executadas, até que a expressão lógica seja verdadeira (FALSE),
obviamente, devemos ter o cuidado para que ela venha a ser FALSE em
determinado momento, pois caso contrário, teremos um LOOP INFINITO, (o
programa fica preso dentro da estrutura DO - Whilel).
Exemplo: Vamos usar o mesmo exemplo da tabuada visto na estrutura While
{:
Implementação da página
tabuadadois.php
<HTML>
<HEAD>
<TITLE>Página que calcula tabuada do
dois</TITLE>
</HEAD>
<BODY>
<?php
$i = 0;
do{
$tab = 2 * $i;
echo '2' . ' X ' .$i . ' = ' .$tab .
'<br />';
$i++;
} while( $i <= 10 );
?>
</body>
</html>
10.3 Estrutura For{.
O comando FOR identifica uma variável de controle para o loop e indica
uma faixa de valores ($ValorInicial ; $ValorFinal) que a variável receberá
durante as iterações do loop. Além disso, o For utiliza-se de uma variável
contadora que controla o número de vezes que o loop será executado. Esse
contandor não é um contador simples, pois, não conta obrigatoriamente
apenas de uma em uma unidade, somando (vcontadora++) ou subtraindo
(vcontadora--) uma unidade da variável contadora.
Funciona dessa forma:
No início da execução, a variável de controle recebe o valor do
ValorInicial, e a primeira iteração é executada.
Antes de cada iteração subseqüente, a variável de controle recebe o
próximo valor da faixa de ValorInicial até ValorFinal.
O loop termina após a iteração correspondente ao ValorFinal.
FOR (variável= ValorInicial; variável<= ValorFinal;i++){
...... comandos;
}
Num loop FOR cuja intenção do programador é incrementar, o valor
ordinal do ValorInicial deve ser menor que o valor ordinal do ValorFinal. (Senão
o loop não terá ação nenhuma). Alternativamente, você pode usar o operador
aritmético -- para projetar um loop FOR que seja decrementado dentro de uma
faixa ordinal:
for( $i = 1; $i <= 5; $i++ ){
echo $i .'<br />';
}
Será apresentado na página:
1
2
3
4
5
FOR (variável= ValorInicial; variável>= ValorFinal;i--)
...... comandos;
}
for($i = 5; $i >=1; $i--){
echo $i .'<br />';
}
Será apresentado na tela:
5
4
3
2
1
DICAS: A variável do For{ é incrementada ou decrementada automaticamente,
portando você nunca deve alterar o valor desta variável dentro do laço do For{.
Exemplo: (Nunca faça !)
FOR ($Contador = 50; $Contador>=1;i--){
i-=1; }Você terá um decremento de 2 em 2 e não de um em um como estipulado no
for - Contador é alterado no laço! }
- Caso você deseje alterar o valor que será somado ou subtraído a cada
execução do for, faça conforme os exemplos abaixo:
- Decremento de 2 em 2: for($i = 50; $i >=1; $i-=2){ comandos}
- Incremento de 2 em 2: for($i = 1; $i <=50; $i+=2){ comandos}
- Certifique-se de que a variável contadora vai realmente chegar até o valor final
indicado no For{, pois caso no contrário teremos um laço infinito.
- Quando você tem várias instruções a serem executadas dentro do laço For,
você deve usar o par de chaves {/} (da mesma forma como ocorre com os
outros comandos do PHP, como por exemplo no IF/THEN/ELSE).
- Usando um Laço For{ você sabe exatamente o número de execuções que seu
programa fará.
Exercícios
1) Use o For/Do - Apresentar a soma do intervalo entre os números inteiros de 3 a
8
2) Use o For/Do – Apresentar os quadrados dos números inteiros de 1 a 10
3) Use o For/Do – Apresentar todos os números divisíveis por 4 que sejam
menores de 20
11 SUB-ROTINAS
Sub-rotinas são módulos separados, têm funcionalidade completa (entrada,
processamento e saída) e permitem criar aplicações modulares, de mais fácil
manutenção.
12.1 Funções que retornam valores
São sub-rotinas que devolvem ao programa principal um valor.
12.1.1 Funções - Declaração
function Nome (Argumentos)
{
Comandos
Return Valor
}
Perceba que no corpo da função há a cláusula Return que devolve o valor para o
programa principal através da atribuição Return Valor.
Exemplo
<?php
function Soma($x,$y)
{
$s=$x+$y;
return $s;
}
echo Soma(4,5);
?>
12.1.2 Funções que não retornam valores
Esses tipos de funções são usadas para dividir um programa em blocos menores e
armazenar trechos de códigos que podem ser chamados inúmeras vezes durante a
montagem de um programa. Não retorna valores após seu processamento. Em
algumas linguagens elas são chamadas de procedimentos, mas em php o nome é
função (function) mesmo, não importando se os valores são retornados ou não.
12.2 Procedimentos - Declaração
function Nome (Argumentos)
{
Comandos
}
Note que realmente não há retorno de valor como no primeiro exemplo.
12.2.1 Exemplo
function DuasContas($A,$B, $S, $D)
{
$S=$A+$B;
$D=$A-$B;
}
Será que isto funciona?
Como a função “sabe” quais dos argumentos são utilizados para trazer os valores do
programa principal e quais são utilizados para devolver valores ao programa principal?
12.3 Passagem de Parâmetros
Os argumentos podem ser passados para a sub-rotina de duas maneiras:
• Por valor.
• Por referência.
12.3.1 Passagem por Valor
• Um argumento é passado por valor quando apenas seu valor é recebido do
programa principal.
• Qualquer alteração feita nesses argumentos dentro da sub-rotina não é
refletida no programa principal.
12.3.2 Passagem por Referência
• Neste caso, é passado a sub-rotina o endereço do argumento do programa
principal.
• Qualquer alteração feita nestes argumentos dentro da sub-rotina é refletida no
programa principal.
• Não é utilizado em funções que se utilizam da cláusula return, apenas em
funções que não se utilizam justamente para devolver valores ao programa
principal.
12.4 Como sabemos quando um argumento é passado por
valor ou por referência?
• Um argumento passado por referência é precedido pelo símbolo &.
• Se não estiver presente o símbolo &, o argumento é passado por valor.
12.4.1 Um exemplo correto!
• No exemplo dado de procedimento, os argumentos $A e $B eram de entrada,
sendo, portanto, passados por valor, sem &.
• Os argumentos $S e $D eram de saída, sendo, portanto, passados por
referência, com &.
12.4.2 O exemplo correto
<?php
function DuasContas($A,$B,&$S,&$D)
{
$S=$A+$B;
$D=$A-$B;
}
DuasContas(4,3,$a,$b);
echo $a .'<br>';
echo $b .'<br>';
12.5 Exercícios de Criação de Funções
1) Crie uma página que funcionará da seguinte maneira: Quando o número
digitado pelo usuário for menor que 100, então a página exibirá a mensagem
“número menor que 100”, senão retornará “número maior ou igual a 100”.
Use uma função cujo parâmetro deverá receber o valor do número
digitado pelo usuário.
2) Crie uma página que leia dois números inteiros e exiba a soma desses
dois números. Use uma função com dois parâmetros para armazenarem
os valores dos números digitados e em seguida baseado nestes números,
execute a operação, retornando a soma.
3) Faça uma página que dado o código será exibido o cargo na empresa.
Use uma função que pegue no parâmetro dela o número digitado e em
seguida baseado nesse número retorne o cargo de acordo com a tabela
abaixo:
Código Estado Civil
1 Secretaria
2 Gerente
3 Operário
Qualquer outro Outros
valor
4) – Crie um página que retorne a área do triângulo. O usuário deverá entrar
com os valores de base e altura e o programa calculará a área baseado na
seguinte fórmula: Área= base x altura.
Faça uma função que retorne a área do triângulo, sendo que essa função
deverá ter dois parâmetros que armazenarão os valores de base e altura.
5)- Faça uma página que dado um número de Bytes, via teclado, exibir essa
quantidade transformada em Kilobytes, Megabytes e Gigabytes, sabendo que:
1 Kilobyte 1024 bytes
1 Megabyte 1024 Kilobytes
1 Gigabyte 1024 Megabytes
Use uma função que faça essa conversão, sendo que o parâmetro deste
procedimento deverá receber o valor do número digitado pelo usuário.
13 ESCOPO DE VARIÁVEIS
Definimos escopo como sendo a visibilidade de uma variável dentro de um programa
ou sub-rotina.
As variáveis podem ser de dois tipos básicos:
• Locais ou privadas.
• Globais ou públicas.
13.1 Variáveis Locais ou Privadas
• A maior parte das variáveis no php tem somente escopo local.
• Qualquer variável dentro de uma função é por default limitada dentro do
escopo local dessa função
• Após o término da execução do bloco ou subrotina, o seu contéudo é
destruído.
13.2 Variáveis Globais ou Públicas
• No PHP, as variáveis globais precisam ser declaradas globais dentro de uma
função se ela vai ser utilizada naquela função.
• A variável é criada no início da execução do página só é destruída no final da
execução desta.
13.3 Exemplos:
Este script não produz nenhuma saída porque a instrução echo refere-se a uma versão
local da variável $a, e ela não tem nenhum valor assimilado nesse escopo. No PHP, as
variáveis globais precisam ser declaradas globais dentro de uma função se ela vai ser
utilizada naquela função. Agora veja o segundo exemplo usando a palavra chave global.
O script acima imprimirá "3". Declarando $a e $b globais na função, todas as
referências a essas variáveis referem-se a versão global. Não há um limite para o
número de variáveis globais que podem ser manipuladas por uma função.
OBSERVAÇÃO: Existem também as variáveis chamadas de superglobais, que existem
em qualquer escopo e portanto não necessitam usar a palavra chave global. Um
exemplo clássico é a variável superglobal $_POST.