Buscar

Desenvolvimento Web com PHP

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 145 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 145 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 145 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Copyright © Portal Educação 
2012 – Portal Educação 
Todos os direitos reservados 
 
R: Sete de setembro, 1686 – Centro – CEP: 79002-130 
Telematrículas e Teleatendimento: 0800 707 4520 
Internacional: +55 (67) 3303-4520 
atendimento@portaleducacao.com.br – Campo Grande-MS 
Endereço Internet: http://www.portaleducacao.com.br 
 
 
 
 
 
 
 
 
 
 Dados Internacionais de Catalogação na Publicação - Brasil 
 Triagem Organização LTDA ME 
 Bibliotecário responsável: Rodrigo Pereira CRB 1/2167 
 Portal Educação 
P842d Desenvolvimento web com PHP / Portal Educação. - Campo Grande: Portal 
Educação, 2012. 
 151p. : il. 
 
 Inclui bibliografia 
 ISBN 978-85-8241-240-4 
 1. PHP (Linguagem de programação). 2. HTML ( Linguagem de 
programação). I. Portal Educação. II. Título. 
 CDD 005.133 
 
 
 
 
SUMÁRIO 
 
1 INTRODUÇÃO AO HTML 
1.1 Por que aprender HTML antes de PHP? 
2 INTRODUÇÃO 
2.1 Linguagem de marcação 
2.2 Linguagem Interpretada pelo próprio browser 
2.3 Modelo Cliente / Servidor 
2.4 Casos especiais: Firefox | Netscape | MS-Explorer 
3 CONCEITOS INICIAIS 
3.1 Extensão de um novo documento html 
3.2 Vendo um documento HTML 
3.3 Conceito de tags e de documento bem formado 
3.4 Modificando parâmetros de tags 
4 BASE DE UM DOCUMENTO 
4.1 Definindo o documento principal 
4.2 Definindo o cabeçalho do documento 
4.3 Dando um título para o documento 
4.4 Definindo o corpo principal 
4.5 Alterando a cor de fundo 
5 EXIBINDO INFORMAÇÕES 
5.1 Escrevendo dados num documento 
5.2 Criando cabeçalhos 
5.3 Um parágrafo 
5.4 Alterando o alinhamento de um texto 
5.5 Mudando a cor do texto 
5.6 Tornando o texto negrito 
5.7 Tornando o texto itálico 
5.8 Tornando o texto sublinhado 
5.9 Quebrando linhas 
5.10 Dividindo em seções 
6 LIGAÇÕES ENTRE PÁGINAS 
6.1 Conceitos de links entre páginas 
 
 
6.2 Criando um novo link 
7 INSERINDO IMAGENS 
7.1 Inserindo uma imagem 
8 TABELAS 
8.1 Formatando dados usando tabelas 
8.2 Mostrando as bordas 
8.3 Incluindo uma nova linha 
8.4 Incluindo uma nova célula 
8.5 Mesclando linhas 
8.6 Mesclando colunas 
8.7 Alterando a cor de fundo de uma célula 
8.8 Alterando o alinhamento de uma célula 
9 LISTAS 
9.1 Listas gerais 
10 FORMULÁRIOS 
10.1 Trabalhando com dados em HTML 
10.2 Definindo um novo formulário 
10.3 Opções de entrada de dados 
10.4 Criando um novo campo 
10.5 Criando um botão 
10.6 Criando um botão de submissão 
10.7 Criando um botão de limpeza 
10.8 Criando uma checkbox 
10.9 Criando um radiobutton 
10.10 Criando um campo de senha 
10.11 Caixas de seleção 
10.12 Caixas de texto 
11 JANELAS 
11.1 Definição de janelas em HTML 
11.2 Definição de janelas 
12 INTRODUÇÃO AO PHP – PARTE 1 
12.1 Linguagem Interpretada 
12.2 Modelo Cliente/Servidor 
12.3 Diferenças entre PHP e Java Script 
 
 
12.4 Servidor Web 
12.5 Casos específicos: Apache e MS-IIS 
12.6 Instalando o Apache 
12.7 Visualização dos resultados 
13 CONCEITOS INICIAIS 
13.1 Onde colocar o código 
13.2 Mesclando PHP com HTML 
13.3 As tags especiais 
13.4 comando echo “TESTE” 
14 TRABALHANDO COM DADOS 
14.1 Tipos de dados 
14.2 Declaração de variáveis 
14.3 Declaração de constantes 
14.4 Trabalhando com Vetores 
14.5 Comentários 
14.6 Comando de atribuição 
14.7 Imprimindo conteúdo na tela 
15 OPERADORES 
15.1 Operadores matemáticos 
15.2 Operadores relacionais 
15.3 Operadores lógicos 
15.4 Operador de concatenação de strings 
15.5 Notação Pré-fixa e Pós-fixa 
16 CONDICIONAIS 
16.1 Bloco de Comandos 
16.2 O condicional if 
16.3 O condicional if/else 
16.4 O condicional switch 
17 REPETIÇÕES 
17.1 Repetição usando while 
17.2 Repetição usando for 
17.3 Repetição usando do/while 
17.4 Repetição usando foreach 
18 DESVIOS INCONDICIONAIS 
 
 
18.1 Desvio incondicional: return 
18.20 Desvio incondicional: break 
18.3 Desvio incondicional: continue 
19 INTRODUÇÃO AO PHP – PARTE 2 
19.1 Declarando uma função 
19.2 Chamando uma função 
19.3 Definindo um valor padrão para os parâmetros de entrada 
20 INCLUINDO ARQUIVOS 
20.1 Diretiva include 
20.2 Diretiva require 
20.3 Diretivas include_once e require_once 
21 FORMULÁRIOS 
21.1 Enviando dados entre arquivos 
21.2 Cabeçalho de um formulário 
21.3 Manuseando as informações passadas 
21.4 Variáveis 
21.5 O atalho 
22 PHP E BANCO DE DADOS 
22.1 Funções de Acesso a Bancos de Dados 
22.2 Conectando com um banco de dados 
22.3 Criando e executando uma consulta de dados 
22.4 Tratando o retorno de uma consulta 
23 GERENCIAMENTO DE SESSÕES 
23.1 Introdução e Motivação 
23.2 Criando uma sessão 
23.3 Atribuindo informações a uma sessão 
23.4 Acessando informações de uma sessão 
23.5 Destruindo uma sessão 
23.6 Cuidados necessários 
 
24 ORIENTAÇÃO A OBJETOS 
24.1 Introdução e Motivação 
24.2 Classe e Objeto 
24.3 Criando um objeto 
 
 
24.4 Atributo e Estado 
24.5 Método e Ação 
24.6 Construtores 
24.7 Herança 
24.8 Métodos Estáticos 
25 EXPRESSÕES REGULARES 
25.1 Introdução e Motivação 
25.2 Caracteres Normais e Caracteres Especiais 
25.3 Listas de Caracteres 
25.3 Repetições Definidas 
25.5 Uso de Funções do PHP 
26 CONTROLANDO O UPLOAD DE ARQUIVOS 
26.1 Introdução e Motivação 
26.2 Alterações Necessárias no Formulário 
26.3 Tratamento no Servidor 
4.26 Movendo um arquivo para um diretório 
26.4 Salvando uma referência no Banco de Dados 
27 TRATAMENTO DE EXCEÇÕES 
27.1 Introdução e Motivação 
27.2 Como Capturar uma Exceção 
27.3 Como Lançar uma Exceção 
27.4 Como Criar um Objeto de Exceção 
REFERÊNCIAS 
 
 
 
 
 
 
 
 
 
 
1 INTRODUÇÃO AO HTML 
 
 
 
1.1 Por que aprender HTML antes de PHP? 
 
Quando se está programando na perspectiva WEB, toda a interface gráfica, independente da 
tecnologia usada, faz uso do HTML para construção e exibição de suas interfaces. Então, ainda que o 
PHP controle o fluxo de execução da sua aplicação (como recuperar dados de um banco de dados ou 
iterar sobre uma lista de dados) será o HTML responsável por renderizar a página em si, desenhando 
os componentes gráficos, posicionando textos, tabelas e formulários. 
Por conta disso, a primeira parte deste material se propõe a introduzir e estabelecer todos os 
conceitos necessários para a construção de interfaces gráficas utilizando o HTML. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2 INTRODUÇÂO 
 
2.1 Linguagem de marcação 
 
Linguagens de marcação são utilizadas para definir formatos e padrões dentro de um 
documento. Normalmente não possuem qualquer estrutura de controle como as linguagens de 
programação tradicionais (por exemplo, comandos condicionais ou de repetição). Dessa forma, servem 
basicamente para definir como um determinado conteúdo será exibido na tela. 
As linguagens de marcação se utilizam do conceito de marcador ou tag, que possuem 
significado quando forem visualizados por algum sistema, entendendo como esse conteúdo deve ser 
exibido. Por exemplo, suponha que se queira deixar todas as palavras começadas pela letra “A” em 
negrito; para executar essa operação em HTML, seria necessário colocar as palavras começadas por 
esta letra entre os símbolos <b> e </b>. 
Existem diversos tipos e padrões para linguagens de marcação e a HTML é apenas mais 
uma delas, mas que se popularizou por causa do advento da Internet, já que a maioria dos documentos 
que trafega na rede a utiliza para exibir suas informações. 
 
 
2.2 Linguagem Interpretada pelo próprio browser 
 
O HTML possui um código com várias marcações, mas ao ser aberto como um documento 
texto, não mostra nada além de texto com essas marcas especiais em determinadospontos. Para que 
o real efeito do HTML ocorra, é preciso outro software, que pegue o documento fonte e interprete o que 
significa cada uma das marcações existentes. 
A função básica de um browser Web (como o Microsoft Internet Explorer e o Mozilla Firefox) 
é fazer exatamente isso; dado um documento com marcações HTML, ele está preparado para entendê-
las e exibir o conteúdo aos usuários depois de terem interpretado suas tags, exibindo o real conteúdo 
de cada documento. 
 
 
Vale destacar ainda que o HTML não é compilado, como algumas linguagens de 
programação, transitando na rede de uma forma que o seu código fonte pode ser lido por 
 
qualquer pessoa. Ele também não tem nenhum processamento no lado do servidor, este apenas envia 
os arquivos para a máquina cliente, que fica responsável por fazer todo o processamento. 
 
2.3 Modelo Cliente / Servidor 
 
O modelo básico de funcionamento da Internet é o chamado Cliente / Servidor, onde existe 
uma máquina central que tem armazenado os documentos que os usuários desejam ver e estes, por 
sua vez, são os chamados clientes. No caso da Internet, não existe um computador central, pois ela 
cresceu a tal ponto que fica impossível gerenciá-la desta maneira. 
Um servidor pode atender a requisições de diversos clientes ao mesmo tempo, cada um 
solicitando um documento, como uma página específica de um site, diferente ao mesmo tempo. Esse 
servidor normalmente possui uma capacidade de processamento bem maior, para garantir que isso 
possa ser feito sem demora para os clientes. 
Os computadores clientes, após receberem os documentos do servidor pela Internet, ficam 
responsáveis por realizar alguma operação sobre esses arquivos, como por exemplo, visualizar as 
informações de um determinado arquivo num browser ou ainda salvar o arquivo em algum diretório na 
máquina cliente (os populares downloads). 
 
2.4 Casos especiais: Firefox | Netscape | MS-Explorer 
 
Os dois sistemas mais populares para visualização de páginas HTML, aquelas que são 
obtidas visitando sites na internet, são atualmente o Mozilla Firefox e o Microsoft Internet Explorer. O 
primeiro roda na maioria das plataformas existentes (e é baseado no antigo Netscape Navigator), e o 
segundo apenas em sistemas baseados no Microsoft Windows. 
 
 
O Netscape Navigator já foi o líder deste segmento de mercado de visualização de páginas 
internet, quando a Microsoft fez uma forte investida neste campo, disponibilizando seu browser direto 
no sistema operacional. Isso gerou diversos movimentos de acusação de 
 
concorrência desleal (deve-se levar em conta que o Microsoft Windows equipa a imensa maioria de 
computadores), porém o resultado foi a inversão da liderança entre os navegadores. 
Tecnicamente, eles são muito parecidos, ambos devem visualizar o conteúdo de um 
documento HTML na tela do computador. Teoricamente, o resultado deveria ser igual se os 
documentos fossem iguais (essa é uma das bases das linguagens de marcação), mas devido a 
diferentes entendimentos de algumas marcas de documento, a implementação de um e de outro pode 
mudar, o que acaba gerando resultados diferentes para documentos iguais. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3 CONCEITOS INICIAIS 
 
 
3.1 Extensão de um novo documento: .html 
 
A extensão padrão para os documentos HTML é o .html, porém existe uma variação, o .htm. 
De modo geral, se um documento com esta extensão for criado e aberto num browser, este tentará 
mostrar o seu conteúdo como HTML, interpretando tags e tudo o mais. 
 
3.2 Vendo um documento HTML 
 
Como já mencionado, a maneira de se ver o resultado de um documento HTML é abrindo-o 
num browser. Isso tanto pode ser feito abrindo o documento diretamente, como o colocando num 
servidor internet e acessando-o como mais uma página da internet. O resultado deve ser o mesmo. 
 
3.3 Conceito de tags e de documento bem formado 
 
Já foi falado rapidamente o significado de tags ou marcadores no início deste documento. 
Uma tag é uma marca que deve ser colocada num documento e que determinados programas 
interpretam de alguma forma, dando um significado específico, como alterando a formatação do 
documento naquele ponto. 
Normalmente, o texto a ser modificado deve vir entre uma marca que indica o início e o fim da 
marcação. Essa tag deve ser alguma reconhecida pelo browser. Por exemplo: 
 
<i> Texto Modificado e Exibido em Itálico </i> 
 
 
 
No trecho acima, todas as palavras seriam mostradas em itálico, pois estão colocadas entre 
tags que possuem esse significado e alteram o texto desta forma quando interpretadas por um browser. 
A imensa maioria de tags da definição do HTML possui um abre e um fecha correspondente, daí vem a 
definição de documento bem formado, ou seja, sempre que existir um abre, deve existir um fecha 
correspondente a este. 
 Figura 01: Resultado das tags para itálico. 
 
Se por algum motivo uma tag não for fechada, o documento continuará a ser exibido, 
eventualmente com algum erro na visualização, mas nenhum erro na execução será mostrado, 
diferente da maioria das linguagens de programação tradicionais, onde alguma saída de erro seria 
mostrada para o usuário. 
Uma última observação sobre documentos bem formados, é sobre o caso das tags que não 
possuem marca indicando o fechamento. Nesses casos, deve-se colocar uma barra no início da 
primeira tag e omitir a que seria de fechamento. O HTML já pode ser escrito dessa forma e a maioria 
dos browsers irá reconhecer o formato, contudo a padronização maior virá quando o XHTML (HTML 
extendido) se tornar um padrão mais difundido. 
 
 
 
 
 
3.4 Modificando parâmetros de tags 
 
As tags também possuem modificadores que podem alterar parte do significado do conteúdo 
dela num determinado contexto. Por exemplo, o par de tags <body></body> define simplesmente o 
corpo de uma página HTML, porém no exemplo <body bgcolor = “blue”> ... </body> ela continua 
definindo o corpo de um documento HTML, mas modifica a sua cor de fundo para azul (a não 
colocação deste parâmetro implica que a cor de fundo continua branca). Existe uma infinidade de 
parâmetros para cada tag e apenas com uma referência do lado, consegue-se saber todas as suas 
opções ou funcionalidades. 
 
Figura 02: Página com fundo azul vista num browser. 
 
 
 
 
 
 
 
 
 
4 BASE DE UM DOCUMENTO 
 
 
4.1 Definindo o documento principal: <html></html> 
 
Antes de se escrever o conteúdo que um determinado documento deverá exibir na tela, deve-
se identificar claramente que o documento em questão será entendido como um documento HTML e 
que tudo que estiver contido nele receberá um tratamento especial. Esse tipo de operação é feito 
utilizando-se as tags <html> e </html>, indicando que tudo dentro delas será interpretado como uma 
página Internet. 
 
 4.2 Definindo o cabeçalho do documento: <head></head> 
 
Todo documento HTML possui um cabeçalho onde são escritas definições gerais e de 
padrões a serem seguidos em todas as partes do documento, bem como a escrita de determinados 
trechos de código de programação ou ligação com documentos externos. A definição do título da 
página, (detalhada abaixo) também deve ser escrita entre as tags <head> e </head>. 
 
4.3 Dando um título para o documento: <title></title> 
 
Por definição, todos os aplicativos executados sobre a plataforma Microsoft Windows (e uma 
grande variedade de outras plataformas) que possuem interação por janelas, possuem uma barra 
superior que mostra um título para o documento sendo exibido, ao mesmo tempo em que também fala 
qual o aplicativo que está sendo executado na janela corrente. 
Nas páginas da Internet, não é diferente em relação à existência desses elementos. Portanto, 
para colocarmos o título que desejarmos numa janela do browser utilizamos as tags <title></title>, que 
deve vir escrita entre as tags <head>e </head>. Podemos ter como exemplo: 
 
<head> 
 
 
 <title> Título da minha Janela </title> 
</head> 
 
Nesse exemplo, será exibida uma janela com o título “Título da Janela”. Verifique as imagens 
acima e note o título de cada janela. 
 
4.4 Definindo o corpo principal: <body></body> 
 
A partir da definição destas tags, que indicam o início do corpo principal do documento, ou 
seja, o que será mostrado na tela do monitor, pode-se começar a escrever o conteúdo da página em si, 
colocando-se diversas tags de formatação, definindo-se campos de formulários, mostrando textos e 
imagens, além de criar links entre diversos outros documentos. 
 
4.5 Alterando a cor de fundo: atributo bgcolor 
 
Como já mencionado anteriormente, a grande maioria de tags HTML possui parâmetros 
modificadores que de alguma forma alteram a forma como o conteúdo que virá entre as tags será 
exibido. Um dos parâmetros existentes para a tag <body></body> é a que altera a cor de fundo de toda 
a janela. Veja o exemplo: 
 
... 
<body bgcolor = “blue”> </body> 
... 
 
 
Neste caso, toda a janela do browser ficará com a cor azul, porém, no lugar do azul, 
poderiam ser colocadas diversas outras cores, todas em inglês, que mudariam também o fundo. Além 
 
 
do nome por extenso, também poderia ser colocado o valor correspondente da cor em hexadecimal, 
precedido do símbolo sustenido: “#”. 
 
... 
<body bgcolor = “#4D998F”> </body> 
... 
 
Figura 03: Janela com a cor de fundo definida usando o valor #4D998F. 
 
 
 
 
 
 
 
 
 
5 EXIBINDO INFORMAÇÕES 
 
 
5.1 Escrevendo dados num documento 
 
Esta seção trata principalmente da forma como os dados serão exibidos na tela, alterando 
sua formatação, alinhamento e disposição na tela, sempre utilizando tags HTML para permitir isso. Por 
padrão, pode ser escrito qualquer coisa no documento, mesmo fora das tags, e mesmo assim o 
browser irá exibir o texto, com a diferença de que não se tem nenhum controle sobre o efeito. 
Daí a importância de sempre se utilizar tags para controlar a formatação, não apenas abrindo 
uma tag e colocando a informação, como também fechando a tag correspondente, para ao final gerar 
um documento HTML bem formado, ao mesmo tempo em que se tem um controle preciso do que um 
determinado browser irá exibir, e não deixar que ele tome decisões que vão distorcer o conteúdo. 
 
5.2 Criando cabeçalhos: <hn></hn> 
 
A maneira mais simples de se definir um cabeçalho (ou título) num documento HTML, é 
através das tags <hn> e </hn>, onde o valor do “n” seria substituído por algum número entre 1 e 6, 
sendo que valores menores indicam que o tamanho da fonte exibida será maior e números menores 
indicam títulos de tamanho menor. Por exemplo: 
 
<h1> Comparando Tamanhos </h1> 
<h2> Comparando Tamanhos </h2> 
<h3> Comparando Tamanhos </h3> 
<h4> Comparando Tamanhos </h4> 
<h5> Comparando Tamanhos </h5> 
<h6> Comparando Tamanhos </h6> 
 
 
 
Figura 04: Tamanhos diferentes da tag <hn> e </hn>. 
 
5.3 Um parágrafo: <p></p> 
 
Um texto normal, ou melhor, que seja encarado como normal e que apareça em diversos 
pontos da página, deve vir entre as tags <p> e </p>, que denotam a existência de um parágrafo. Para 
visualização de algum resultado, não é necessário que exista uma tag de fechamento, porém isso pode 
fazer com que versões mais antigas de browsers vejam o resultado de forma diferente. 
 
<p> Texto, Texto, Texto, Texto, Texto, Texto, Texto, Texto, Texto, Texto, Texto, Texto, Texto, Texto, 
Texto, Texto, Texto, Texto, Texto, Texto, Texto, Texto, Texto, Texto, Texto, Texto, Texto, Texto, Texto, 
Texto, Texto </p> 
Neste exemplo, será criado um parágrafo contendo o texto entre as tags. Caso sejam criados 
mais de um parágrafo, eles terão um pequeno espaçamento para indicarem que são elementos 
diferentes. 
 
 
 
Figura 05: Inserindo texto entre as tags <p> e </p>. 
 
5.4 Alterando o alinhamento de um texto 
 
Dentro das tags que trabalham com texto, pode vir um modificador, também chamado de 
parâmetro, que altera o alinhamento do texto que vier entre as tags (daí a importância de fechar as 
tags, pois mostra explicitamente até onde vai o alinhamento proposto para uma determinada tag). 
Existem quatro alinhamentos possíveis: esquerdo, centralizado, direito e justificado. 
 
<p align=’left’> Texto à esquerda </p> 
<p align=’center’> Texto ao centro </p> 
<p align=’right’> Texto à direita </p> 
<p align=’justify’> Texto justificado </p> 
 
 
 
 
 
 
 
Figura 06: Alinhamento de texto. 
 
O texto com alinhamento à esquerda é o valor padrão, fazendo com que não seja necessário 
colocar explicitamente esse item quando estiver sendo declarado. O texto com alinhamento justificado, 
faz com que o texto fique alinhado tanto à esquerda, quanto à direita, distribuindo as palavras de uma 
forma homogênea. 
 
5.5 Mudando a cor do texto: <font></font> 
 
As tags <font> e </font> servem para modificar a fonte, o tamanho e as cores utilizadas num 
trecho de texto de forma global, não apenas uma ou outra palavra. Com isso, tem-se um controle 
preciso da formatação que está se tentando alcançar. 
 
<font color=’red’ size=’20’><p> Exemplo! </p></font> 
 
 
 
 
 
 
 
Figura 07: Mudança da cor do texto. 
 
5.6 Tornando o texto negrito: <b></b> 
 
Para dar um destaque maior a algum trecho de texto, podem-se usar as tags <b> e </b>, que 
destacam o texto que estiver contido entre elas. Elas podem ser colocadas dentro de outras tags, como 
nas de parágrafo ou de título, desde que o ocorra o devido fechamento. Segue um exemplo: 
 
<p> Texto normal, mas agora com <b> negrito </b> . </p> 
 
 
 
 
 
 
 
 
Figura 08: Texto em negrito. 
 
O início da frase está normal, porém existe uma palavra destacada. 
 
5.7 Tornando o texto itálico: <i></i> 
 
Da mesma forma que se pode destacar algum trecho de um texto utilizando negrito, como 
mostrado acima, também se usam as tags <i> e </i> para mostrar um trecho de código em itálico, como 
alguma citação ou palavra estrangeira. O seu uso é idêntico ao caso da tag negrito. 
 
<p> Agora em <i> itálico </i> ... </p> 
 
 
 
 
 
 
 
 
 
 
Figura 09: Texto em itálico. 
 
5.8 Tornando o texto sublinhado: <u></u> 
 
Por fim, o último dos modificadores padrão de textos é o de sublinhado, que deve ser 
utilizado da mesma forma que as tags exibidas anteriormente, de negrito e itálico. Ele deixa marcado 
com uma linha inferior, abaixo das palavras, todas as palavras entre elas. 
 
<p> Parte <u>deste</u> texto <u> será sublinhado </u>. </p> 
 
Figura 10: Texto em sublinhado. 
 
Vale destacar que pode ocorrer qualquer combinação destas tags mostradas até o momento, 
para se chegar ao efeito desejado. 
 
 
 
5.9 Quebrando linhas: <br> 
 
Esta tag não possui fecha, ela é definida unicamente. Ela serve para inserir quebras de linhas 
no documento, fazendo com que o texto que vem abaixo seja ainda mais deslocado. É muito 
importante para arrumar a disposição dos elementos gráficos na tela, não havendo limite de 
quantidade. 
 
<h1> Linha 1 </h1> <br><br><br><br><br> <h1> Linha 2 </h1> 
 
 
 
 
 
 
 
 
 
Figura 11: Quebras de linha. 
 
Neste exemplo, apesar de todas as frases estarem na mesma linha, foram inseridas cinco 
quebras de linha, o que irá fazer com que o segundo texto seja deslocado em cinco linhas para baixo. 
 
 
5.10 Dividindo em seções: <hr> 
 
 
Da mesma forma que a tag <br>, esta também não possui uma tag para indicar o seu final, 
ela é definida unicamente. Serve para colocar linhas horizontais, principalmente para implementar a 
divisão de seções dentro de um mesmo conteúdo. Por exemplo: 
 
<p> Primeira Seção </p> <hr> <p> Segunda Seção </p> 
 
 
 
Figura 12: Separadores horizontais. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
6 LIGAÇÕES ENTRE PÁGINAS 
 
 
6.1 Conceitos de links entre páginas 
 
Um dos fundamentosda Internet é permitir que se possa ir de um lugar a outro da rede com 
apenas um clique. Esta é a função dos links, estabelecer conexões entre diversas páginas, sejam elas 
internas, dentro do mesmo site, seja referenciando sites externos, de outras empresas, mas que sejam 
relevantes para o conteúdo discutido no momento. 
Dessa forma, surgem dois conceitos, o de link absoluto e o de link relativo, fundamentais para 
a implementação de links dentro de uma página. Um link absoluto define todo o caminho onde uma 
segunda página está hospedada e que será aberta no browser. Um link relativo indica apenas parte do 
endereço, utilizando conceitos dos diretórios em uso para indicar outra página. 
Em maiores detalhes, o diretório corrente onde uma página HTML está salva, é chamado 
diretório raiz. Para se referenciar ao diretório (e eventuais arquivos) que está acima numa hierarquia, 
usa-se o ponto-ponto: “..”. Para indicar um diretório abaixo na hierarquia, utiliza-se o nome do diretório, 
mas caso exista mais de um, deve-se separar os nomes por uma barra “/”. 
Esses conceitos são os mesmos que utilizados para a navegação em sistemas 
computacionais baseados em linha de comando, como o MS-DOS ou um terminal, no Linux. Prefira 
sempre utilizar caminhos relativos aos absolutos, pois isso garante uma facilidade maior caso seja 
necessário modificar o endereço em que a página está hospedada, pois todos os demais diretórios 
ficam intactos. 
 
 
 
 
 
6.2 Criando um novo link: <a></a> 
 
 
 
Agora, tecnicamente, um link é definido no HTML como um pedaço de texto (ou outro objeto 
qualquer, como uma imagem) que ao ser clicado leva a um outro lugar, ou seja, a outra página. Isso é 
feito utilizando-se as tags <a> e </a>, que deverão englobar o texto para o qual será dado destaque e 
que será clicado pelo usuário final. Por exemplo, criando um link vazio: 
 
<p> Texto: <a> Clique Aqui </a> </p> 
 
Neste exemplo, nenhuma operação será feita, porém o link foi criado e pode ser clicado 
(aparecerá a mãozinha, inclusive), porém o usuário permanecerá na mesma página. Para executar 
alguma operação que realmente leva o usuário a outra página, é preciso incluir um parâmetro que 
mostra a página de destino. Por exemplo: 
 
<p>Texto:<a href=’http://www.mdcolombo.com.br’>Clique Aqui</a></p> 
 
Neste caso, o resultado será o redirecionamento para o link absoluto definido na tag href. 
Usando um link relativo: 
 
<p>Texto:<a href=’../arqs/artigo.html’>Clique Aqui</a></p> 
 
Neste último exemplo, o arquivo que será aberto é procurado um nível acima da hierarquia 
corrente, depois dentro do diretório arqs e por fim, procura-se um arquivo de nome artigo.html. Caso 
ele não exista, um erro é retornado, senão o documento é exibido na tela. 
 
 
 
 
 7 INSERINDO IMAGENS 
 
 
7.1 Inserindo uma imagem: <img> 
 
Uma imagem é encarada como um objeto que pode ser inserido em qualquer lugar da 
página, não precisando inclusive ter uma tag que a feche. No ponto em que se deseja colocar a 
imagem deve-se colocar a tag correspondente e indicar o local onde a imagem fonte está armazenada 
e o nome da imagem a ser inserida. Todos os comentários de links absolutos e relativos se aplicam 
aqui. 
 
<img src=‘imgs/teste/cavalo.jpg’> 
 
Para que uma imagem se torne um link, basta que uma tag <a> e </a> englobe uma tag 
<img>. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
8 TABELAS 
 
 
8.1 Formatando dados usando tabelas: <table></table> 
 
A melhor maneira, senão a única, de dispor elementos gráficos numa página HTML é através 
do uso de tabelas, pois garante que um determinado elemento ou texto ficará onde se deseja que ele 
fique, porém isso aumenta em muito a complexidade na elaboração de páginas. Atualmente, existem 
diversos editores que facilitam essa operação, pois desenham as tabelas e ocultam o código. 
Para declarar uma nova tabela, deve ser feito uso das tags <table> e </table>, que indicam 
que uma nova tabela será criada, com suas várias linhas e colunas. Neste ponto, não existem dados 
ainda, então o resultado visível não é muito grande, mais adiante é que os dados serão inseridos 
dentro desta nova tabela. 
 
8.2 Mostrando as bordas: atributo border 
 
Quando se está trabalhando com tabelas, é fundamental saber onde as linhas e colunas 
estão aparecendo, mesmo que para a página como um todo seja mais interessante, por questões de 
design, que as bordas não apareçam. Enfim, ao menos em fase de desenvolvimento, as bordas devem 
aparecer. Isso é feito através do parâmetro border, dentro de <table>. Assim: 
 
<table border=’1’> 
 
</table> 
 
Neste caso, esta tabela terá bordas de tamanho 1. 
 
8.3 Incluindo uma nova linha: <tr></tr> 
 
 
 
Para incluir uma nova linha a uma tabela, devem-se usar as tags <tr> e </tr>. Tudo que 
estiver entre elas, será disposto na mesma linha, independente do resultado final de exibição. Elas 
devem vir dentro das tags <table> e </table>. Assim: 
 
<table border=’1’> 
 <tr></tr> 
 <tr></tr> 
 <tr></tr> 
</table> 
 
8.4 Incluindo uma nova célula: <td></td> 
 
Por fim, para se declarar todas as possibilidades de uma tabela, deve ser possível declarar 
colunas dentro de uma tabela. Isso é feito utilizando as tags <td> e </td>, que por sua vez devem vir 
dentro das tags <tr> e </tr>. Os dados propriamente ditos são colocados dentro de <td> e </td>. Vale 
destacar, que desta forma, fica definida uma célula. Por exemplo: 
 
<table border=’1’> 
 <tr> <td> C11 </td> <td> C12 </td> <td> C13 </td> </tr> 
 <tr> <td> C21 </td> <td> C22 </td> <td> C23 </td> </tr> 
 <tr> <td> C31 </td> <td> C32 </td> <td> C33 </td> </tr> 
</table> 
 
 
 
Figura 13: Tabela em HTML. 
 
No exemplo acima, é definida uma tabela, com três linhas e três colunas. 
 
8.5 Mesclando linhas: atributo rowspan 
 
Há situações em que algumas células não possuem dados e para não deixá-las 
simplesmente vazias, o que pode tornar mais confuso o entendimento do código, existe o conceito de 
span, que serve para mesclar (como os conceitos do Microsoft Excel), juntando o espaço de duas 
células e tornando-a uma só. 
No caso do atributo rowspan, deve-se definir quantas linhas deseja-se incluir, daquela mesma 
coluna, na célula final resultante. Isso é feito apenas na primeira célula, sendo que as demais devem 
ser removidas. Pegando o exemplo anterior, vamos mesclar toda a primeira coluna: 
 
<table border=’1’> 
 
<tr> <td rowspan=2> C11 </td> <td> C12 </td> </tr> 
 
 
<tr> <td> C21 </td> </tr> 
<tr> <td> C31 </td> <td> C32 </td> </tr> 
</table> 
 
Figura 14: Linhas mescladas numa tabela. 
 
8.6 Mesclando colunas: atributo colspan 
 
 
A mesma idéia aplicada no item acima para a questão de mesclar linhas, pode ser aplicada 
para mesclar colunas, onde diversas colunas podem ser unidas numa única, removendo o código das 
demais. Assim: 
 
<table border=’1’> 
 
 <tr> <td colspan=’2’> C11 </td> </tr> 
 <tr> <td> C21 </td> <td> C22 </td> </tr> 
 
 
 
<tr> <td> C31 </td> <td> C32 </td> </tr> 
</table> 
 
Figura 15: Colunas mescladas numa tabela. 
 
8.7 Alterando a cor de fundo de uma célula 
 
 
Numa tabela, cada célula pode ser tratada independentemente, modificando seus 
parâmetros, e fazendo com que apenas uma delas tenha sua exibição modificada. Para este efeito, é 
necessário incluir nas tags <td> os modificadores correspondentes para mudar o comportamento 
daquela célula em especial. 
Dessa forma, para alterar a cor de fundo de uma célula, é preciso incluir o atributo bgcolor o 
qual irá receber como valor modificador a nova cor que será colocada no fundo da célula. Esse nome 
de cor segue os mesmo padrões de cores que devem ser utilizados em 
 
HTML, ou seja, devem ser em inglês ou o valor hexadecimal precedido de sustenido e entre aspas. 
 
 
 
<table border=’1’> 
 
<tr> 
<td bgcolor=’0000FF’> azul </td> 
<td bgcolor=’yellow’> amarelo </td></tr> 
 <tr> 
<td bgcolor=’gray’> cinza </td> 
<td bgcolor=’#FF0000’> vermelho </td> 
</tr> 
</table> 
Figura 16: Cores de fundo numa tabela. 
 
 
8.8 Alterando o alinhamento de uma célula 
 
 
 
 
Da mesma forma que se podem incluir modificadores para cores de células, independentes 
umas das outras, pode-se também alterar o alinhamento do conteúdo existente dentro de uma célula, 
seja texto, seja uma imagem. Alguns exemplos: 
 
<table border=’1’> 
 <tr> 
<td align=’left’> esquerda </td> 
<td align=’center’> centro </td> 
</tr> 
 <tr> 
<td align=’right’> direito </td> 
<td align=’justify’> justificado </td> 
</tr> 
</table> 
 
 
 
 
 
 
 
9 LISTAS 
 
 
9.1 Listas gerais: <ol></ol>, <ul></ul> e <li></li> 
 
 
 
Uma outra forma de organizar as informações numa página HTML é através de listas, que 
são itens estruturados e separados por algum símbolo de marcação, normalmente uma pequena 
bolinha colocada ao lado do elemento de texto que se deseja exibir na tela. 
O primeiro tipo de lista, <ol> e </ol> recebe o nome de lista ordenada, pois existe uma ordem 
lógica entre os elementos que irão compor os dados. O segundo tipo de lista, <ul> e </ul> não implica 
em nenhum tipo de ordem específica dos elementos. Por fim, as tags <li> e </li> definem um elemento 
interno de qualquer uma das listas. 
A estrutura básica de uma lista é: 
 
<ol> 
 <li> Item </li> 
 <li> Item </li> 
 <li> Item </li> 
</ol> 
 
 Ou: 
 
<ul> 
 <li> Item </li> 
 
<li> Item </li> 
 <li> Item </li> 
</ul> 
 
 
 
Figura 17: Listas ordenadas e não ordenadas. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
10 FORMULÁRIOS 
 
 
10.1 Trabalhando com dados em HTML 
 
 
Para projetos maiores e que necessitam trocar ou obter informações do usuário, texto simples 
e estático, não é muito interessante, pois acaba sendo um caminho de mão única de comunicação 
entre o desenvolvedor e o usuário que está acessando os dados. Sendo assim, a linguagem HTML 
oferece suporte a um grupo de estruturas para fazer o caminho de volta. 
Sempre que alguém preenche seus dados numa página de cadastro, ela está fazendo uso de 
formulários do HTML. Essas estruturas fornecem campos de texto por extenso, botões, caixas de 
seleção e de senha. Em sistemas mais complexos e que trabalham com bases de dados, esses 
conceitos são dos mais utilizados para a elaboração do sistema. 
Nos itens a seguir, serão mostrados os principais elementos para construção de formulários 
em HTML e de que forma eles se comportam num sistema. 
 
10.2 Definindo um novo formulário 
 
 
Para deixar claro que daquele ponto em diante será utilizado um formulário e seus diversos 
elementos, deve-se antes declarar essa informação explicitamente, inclusive com alguns outros 
parâmetros que irão controlar o comportamento dos dados entre o computador cliente e o servidor, 
onde as informações poderão ser tratadas e, por exemplo, inseridas numa base. 
 
<form name=’pri_form’ method=’post’ action=’arquivo.php’> 
… 
</form> 
 
 
 
Todos os demais elementos devem vir entre as tags <form> e </form>. O primeiro parâmetro, 
name, indica o nome do formulário, o que servirá para referenciá-lo em outros trechos do código. O 
parâmetro method indica de que forma os dados serão enviados para o servidor (post indica que os 
dados serão ocultos, a outra opção, get, que os dados irão visíveis) e por fim, action, indica qual o 
arquivo que deve tratar os dados depois do envio. 
 
 
10.3 Opções de entrada de dados: <input> 
 
 
Uma das tags mais simples e ao mesmo tempo mais utilizadas é a tag <input>. Ela não 
possui uma correspondente que a fecha e é utilizada para permitir ao usuário inserir informações 
alfanuméricas ou então mostrar um botão clicável. Existem alguns modificadores que podem ser 
utilizados que alteram a forma como os dados serão digitados pelos usuários. 
A seguir são mostrados os vários tipos de estruturas que a tag input pode representar, 
alterando apenas o campo type, que indica qual tipo de estrutura deve ser visualizada no formulário. 
Além do tipo, é importante colocar o parâmetro name, para mostrar qual o identificador para aquela 
estrutura, para que possa ser referenciado no futuro, caso seja necessário. 
 
 
10.4 Criando um novo campo: parâmetro text 
 
 
Quando se deseja digitar alguma informação alfanumérica num formulário, deve-se utilizar o 
parâmetro text na declaração do campo. Isso é feito da seguinte forma: 
 
<input type=’text’ name=’campo’ maxlength=’50’ size=’50’> 
 
 
 
 
Figura 18: Campo de formulário. 
 
A palavra input indica uma nova entrada de dados. O item, type=’text’, indica um novo campo 
de entrada para texto. O item name=’campo’, declara um nome para o campo poder ser acessado por 
outras linguagens de programação. Os outros dois parâmetros são itens para visualização. O primeiro 
mostra o número máximo de caracteres que podem ser inseridos e o segundo, o tamanho do campo 
que será mostrado na tela. 
Outros parâmetros podem estar presentes. Eventualmente, podem existir informações 
padrões que vieram de outras fontes, como uma base de dados, e deseja-se que essa informação seja 
o padrão do campo, ou seja, que já venha digitada alguma coisa nele. Para isso, usa-se o parâmetro 
value, seguido do texto a ser exibido. Por fim, existe o item readonly, para não permitir modificações no 
conteúdo do campo. 
 
10.5 Criando um botão: parâmetro button 
 
 
 
 
Outro item muito interessante em formulário é a inserção de botões, que quando clicados, 
disparam alguma ação, como executar o código fonte de alguma outra linguagem de programação. É 
 
 
necessário o uso de outra linguagem de programação porque o HTML não fornece suporte a um 
grande número de estruturas muito comuns em programação (condicionais, repetições, etc). 
 
<input type=’button’ name=’botão’ value=’Aperte’> 
 
A declaração do botão acima não realizará qualquer operação em especial, apenas permitirá 
ao usuário ficar apertando um botão na tela, no entanto esse exemplo é bem explicativo. A declaração 
do botão segue o mesmo padrão de um campo texto, com a diferença do tipo. O parâmetro value 
também tem outra função, serve para indicar o título inserido no corpo do botão. 
Para associar algum tipo de comportamento mais avançado ao botão, deve-se incluir um 
outro parâmetro, o mais comum é o onClick associado a alguma função, que também pode ser 
chamado de evento. Ele indica que sempre que o botão for clicado, chamará a função (ou método) ao 
qual estiver associado, por exemplo, da linguagem JavaScript. Outro exemplo: 
 
<input type=’button’ 
name=’botao_2’ 
value=’Aperte’ 
onClick=’alert(“oi”)’> 
 
 
 
 
 
 
 
Figura 19: Botão com uma mensagem sendo exibida. 
 
A função alert() deve ser escrita em algum trecho do código e ser visível por esse trecho de 
código. No momento em que o usuário apertar o botão, a função será chamada e o código dela 
executado. 
 
 
10.6 Criando um botão de submissão: parâmetro submit 
 
 
A declaração de um botão de submissão é idêntica ao de um botão comum, inclusive com 
sua visualização sendo idêntica ao de um botão normal, com a diferença de que já existe uma 
operação pré-configurada, a de envio dos dados do formulário para o formulário onde as páginas HTML 
estão hospedadas, fazendo com que os dados sejam tratados. Por exemplo: 
 
<input type=’submit’ name=’envio’ value=’Enviar’> 
 
Será criado um botão com o título Enviar que, quando clicado, pegará todos os dados 
preenchidos nos demais campos deste formulário e o enviará para o servidor. 
 
 
 
 
10.7 Criando um botão de limpeza: parâmetro reset 
 
 
Um botão de reset possui a mesma definição do submit, porém com uma ação associada 
diferente, e potencialmente destrutiva, ou seja, uma vez acionado o botão, todas as informações de 
todos os campos do formulário são apagadas, fazendocom que os campos retornem ao estado inicial. 
Essa operação é perigosa por eventualmente fazer com que o usuário digite todas as informações 
novamente. Por exemplo: 
 
<input type=’reset’ name=’apag’ value=’Apagar’> 
 
 
10.8 Criando uma checkbox: parâmetro checkbox 
 
 
Uma checkbox (ou caixa de marcas) permite ao usuário marcar, dentre um grupo de opções, 
aquelas que ele deseja, mais de uma se for o caso. Para indicar que todas as opções se referem ao 
mesmo grupo, os nomes de todos os campos devem ser o mesmo. Por exemplo: 
 
De quais cores você gosta? 
<input type=’checkbox’ name=’cores’> Azul 
<input type=’checkbox’ name=’cores’> Vermelho 
<input type=’checkbox’ name=’cores’> Amarelo 
 
 
 
Figura 20: Caixas de seleção múltipla. 
 
Neste caso, o usuário poderia escolher qualquer combinação de cores, marcando uma, duas 
ou as três opções. 
 
 
10.9 Criando um radiobutton: parâmetro radio 
 
 
A forma de declarar um campo radiobutton (ou radio) é muito semelhante ao de checkbox, 
inclusive com a obrigatoriedade de o nome ser igual para todas as opções, sendo que a maior 
diferença está que nesta opção, a seleção é única, ou seja, só pode ser escolhida uma opção dentre as 
várias que são fornecidas para o usuário. Por exemplo: 
 
Qual a sua faixa etária? 
<input type=’radio’ name=’idades’> Menor 18 
 
<input type=’radio’ name=’idades’> Entre(inclusive) 18 e 50 
 
 
<input type=’radio’ name=’idades’> Maior 50 
 
Figura 21: Caixas de seleção exclusiva. 
 
Nestas opções, um mesmo usuário não pode escolher mais de uma opção, pois ele não pode 
se encaixar, simultaneamente em duas faixas etárias distintas, como é o caso. 
 
 
10.10 Criando um campo de senha: parâmetro password 
 
 
Campos password são úteis quando não se deseja que outros usuários vejam as informações 
que estão sendo digitadas num campo, por exemplo, numa senha, ao se validar a 
 
 
entrada de um usuário de um sistema, ou mesmo quando o usuário estiver inserindo sua senha num 
cadastro qualquer. Sua declaração é muito parecida com a de um campo normal: 
 
 
 
<input type=’password’ name=’sna’ size=’10’ maxlength=’10’> 
 
Aqui é criado um campo de tamanho dez caracteres e que só permite ao usuário digitar dez 
caracteres quando da inserção de dados. No lugar dos caracteres, que seria o normal aparecerem na 
tela, são exibidos asteriscos, ocultando assim a entrada dos usuários. 
 
 
10.11 Caixas de seleção: <select></select> 
 
 
Caixas de seleção são muito utilizadas para permitir ao usuário selecionar apenas uma opção 
dentre várias existentes, sem mostrar todos os itens ao mesmo tempo (como no caso da checkbox), 
obtendo-se um ganho de espaço considerável na tela, facilitando a formatação e diagramação da 
página. Sua declaração segue: 
 
<select name=’seleção’> 
 <option value=’1’> Item 1 </option> 
 <option value=’2’> Item 2 </option> 
 <option value=’3’> Item 3 </option> 
</select> 
 
 
 
 
 
Figura 22: Caixas de seleção. 
 
Neste caso, foi criada uma caixa de seleção com três opções, sendo que cada opção 
possível é declarada entre as tags <option> e </option>. Deve ser dado um nome para a caixa de 
seleção para referência futura. Um parâmetro utilizado dentro da tag <option>, value, mostra qual o 
valor que será considerado quando a opção for selecionada. 
 
 
10.12 Caixas de texto: <textarea></textarea> 
 
 
Esse elemento é utilizado principalmente quando a quantidade de texto a ser digitado pelo 
usuário é muito grande. Ela permite uma melhor visualização de grandes quantidades de caracteres, 
mesmo que isso não seja a melhor solução de exibição de informações em páginas HTML. Sua 
declaração segue o seguinte modelo: 
 
<textarea name=’tarea’ rows=’10’ cols=’40’></textarea> 
 
 
 
Figura 23: Áreas de Texto. 
 
No exemplo acima, é declarada uma textarea de nome tarea, que tenha dez linhas e quarenta 
colunas, onde cada coluna é o espaçamento de um caractere. Caso exista algum texto que se deseja 
colocar por padrão neste campo, ele deve ser posto entre as tags. 
 
 
 
 
 
 
 
 
 
 
 
 
 
11 JANELAS 
 
 
11.1 Definição de janelas em HTML 
 
 
Uma janela de um browser pode ser considerada inteira, com apenas um documento 
ocupando toda a área visível ou então pode ser dividida em diferentes partes, cada uma ocupada por 
um documento HTML diferente, que de alguma forma se relacionam, ou seja, ao se clicar num link 
numa janela, a página será aberta em outra. Esse conceito é chamado de frames. 
Como nem todos os browsers suportam a definição de frames (todas as versões mais 
recentes suportam atualmente) nem sempre foi uma boa idéia implementar soluções utilizando esses 
conceitos. Vale destacar que com o uso de outras tecnologias (como PHP e ASP) o uso de frames 
pode dificultar o desenvolvimento dos sistemas, sendo mais simples utilizar uma única página. 
 
 
11.2 Definição de janelas: <frameset></frameset> 
 
 
Quando se usa janelas, deve existir um documento especial que define como eles serão 
montados, quais arquivos serão chamados e de que forma eles se relacionam. Isso é feito através do 
uso das tags <frameset></frameset>, que devem ser utilizadas no lugar das tags <body></body> que 
existem num documento normal HTML. 
Dentro destas tags é que virão algumas configurações de parâmetros e de frames que serão 
utilizadas para exibir o resultado. Vale destacar que quando se deseja visualizar o resultado, este 
documento de definição é o que deve ser aberto no browser e não qualquer outro que componha o 
conteúdo que será visto na tela. 
 
<frameset cols=’25%, 75%’> 
 
 
 <frame name=’esq’ src=’menu.html’> 
 
<frame name=’dir’ src=’conteudo.html’> 
</frameset> 
 
Figura 24: Definição de Janelas 
 
Nesta definição, é definido um frame com duas colunas, sendo uma ocupando 25% da tela e 
a outra ocupando 75% da tela. A seguir, são definidos os conteúdos dos dois frames, sendo que no 
primeiro, chamado esq, deve ser aberto o arquivo menu.html e no menu direito será aberto o arquivo 
conteudo.html. Uma definição alternativa, é que ao invés de se separar os frames por colunas, 
separem-se por linhas, neste caso, no lugar de cols deverá ser colocada a palavra rows. 
 
 
 
 
12 INTRODUÇÃO AO PHP – PARTE 1 
 
 
 
12.1 Linguagem Interpretada 
 
 
Uma linguagem interpretada é aquela que não precisa ser compilada antes de ser executada. 
Porém, é necessário ter um mecanismo que consiga ler o código fonte e gerar a saída esperada pelo 
usuário ou então mostrar eventuais erros no arquivo que está sendo executado naquele momento; de 
certa forma, a compilação é feita em tempo real e se algo estiver errado, uma saída de erro é exibida, 
caso contrário o resultado é mostrado. 
Além do PHP, existem diversas outras linguagens interpretadas, que também podem ser 
chamadas de “Linguagens Script”, tais como Microsoft ASP e JavaScript. Elas possuem aplicações 
específicas, mas com alguns pontos em comum, com destaque especial entre PHP e Microsoft ASP, 
assunto, porém, que foge do escopo deste treinamento. 
 
12.2 Modelo Cliente/Servidor 
 
A Internet atualmente é baseada no modelo chamado cliente/servidor. Nesse paradigma 
existe uma máquina que deseja fazer alguma operação e para que isso ocorra, entra em contato com 
outra máquina, que pode estar fisicamente distante, mas conectada através de uma rede, como por 
exemplo a Internet, estabelecendo assim um canal de comunicação entre elas. 
O cliente faz os pedidos de operações e o servidor fica responsável por executar alguma 
operação ou processamento e enviar-lhe um resultado, através da rede. Isso pode ser 
 
muito interessante para concentrar todo o processamento apenas de um lado da rede, deixando os 
usuários finais com menos obrigação de ter bons computadores. 
 
 
As questões de infra-estrutura não são importantes neste momento, mas vale destacar que 
podem existirdiversos computadores intermediários entre as duas pontas que estabeleceram 
comunicação, o que pode aumentar o tempo de resposta. Destaca-se ainda que este conceito não é 
absoluto, ou seja, uma máquina pode ser cliente num momento e servidor em outro. 
 
12.3 Diferenças entre PHP e JavaScript 
 
Uma das linguagens mais famosas atualmente, principalmente por causa do advento da 
Internet, é a chamada JavaScript (que é bem diferente da sua prima de nome, a linguagem Java), que 
muitas vezes pode ser confundida com PHP, especialmente para quem está começando a dar os 
primeiros passos em programação web, por isso serão explicadas rapidamente suas diferenças. 
PHP é executada do lado do servidor, ou seja, um browser internet, na máquina do usuário, 
faz um pedido de página e um outro computador se encarrega de fazer todo o processamento 
necessário, enviando, em seguida, apenas o resultado. JavaScript, por sua vez, é executada do lado 
do cliente, sendo o código enviado junto com a página Internet e o processamento feito pelo browser. 
A linguagem PHP permite acesso a bancos de dados de forma muito mais simples, pois pode 
trabalhar diretamente com as conexões abertas entre o servidor de páginas e o servidor de bancos de 
dados. Como JavaScript é executada do lado do cliente, fica muito mais complicado criar uma conexão 
através da rede para acesso a dados e criação de páginas dinâmicas. 
Um dos grandes diferenciais para se usar JavaScript é tirar a sobrecarga de processamento 
do servidor, fazendo com que um pouco dessa carga fique por conta do cliente. Por exemplo, para 
validar o preenchimento de determinados campos num formulário HTML, a 
 
verificação pode ser feita no cliente, antes de enviar os dados pela rede, ganhando no tempo de 
transferência dos dados. 
As duas possuem suas origens de estrutura nas linguagens C/C++, por isso ambas se 
parecem muito em suas estruturas de programação (condicionais, repetições, atribuições), porém PHP 
possui facilidades por contar com recursos de um servidor (normalmente uma máquina mais potente) e 
a JavaScript foi criada para controlar ações de um browser Internet. 
 
 
 
12.4 Servidor Web 
 
Para que um código em PHP seja executado, é necessário ter um software especial que 
consiga pegar o arquivo com o código fonte em PHP, interpretá-lo e gerar algum resultado. Um servidor 
Web é o responsável por gerenciar as diversas conexões que navegadores internet estiverem fazendo, 
requerendo diversas páginas de sites, por exemplo. 
O servidor processa o código fonte que está sendo solicitado pelo navegador, que 
normalmente está associado a um endereço internet ou a um link interno de alguma página, verifica se 
existe algum erro na página e gera como saída um documento em formato HTML; um ponto muito 
interessante do PHP é que ele poder ser colocado no meio de código HTML, tendo lógica e interface no 
mesmo documento. 
 
12.5 Casos específicos: Apache e MS-IIS 
 
Dois dos mais famosos servidores Web que permitem que navegadores possam fazer 
requisições e a partir de documentos armazenados nos seus diretórios responder com código HTML, 
são o Apache, que oferece suporte a diversas tecnologias, dentre elas o PHP e Microsoft ASP, o 
Microsoft Internet Information Server (IIS) que, além de oferecer suporte à ASP, também poderá ser 
configurado para rodar outras tecnologias. Ambos são responsáveis por tratar 
 
 
requisições HTTP (Hypertext Transfer Protocol), que é o protocolo utilizado na Internet para 
comunicação entre clientes e servidores. 
O Apache é um projeto de software livre dentre vários outros mantidos pelo grupo Apache, 
que se mantém com doações de várias empresas que têm interesse em utilizar sistemas de base 
produzidos e geridos por ele, que possui toda a ideologia do software livre, ou seja, possui o código 
aberto e qualquer interessado pode obtê-lo e fazer as modificações que bem entender. Ele domina o 
 
 
mercado de servidores de página, ocupando aproximadamente 50%, estando atualmente em sua 
versão 2.2.9, oferecendo várias correções de segurança e desempenho. 
Já o Microsoft IIS é um sistema de propriedade da Microsoft como qualquer outro de seus 
vários sistemas, como o Windows, em que, para ser permitida a sua utilização, é necessário o 
pagamento de uma licença, além de que nenhuma modificação no sistema pode ser feita sem a 
autorização da própria Microsoft, gerando uma dependência. Claro, com o benefício de um suporte 
mais personalizado, em alguns casos. 
 
12.6 Instalando o Apache 
 
Esse material terá como foco o servidor Apache, que ocupa boa parte do mercado de 
servidores de página web, é estável e pode ser obtido de forma livre e gratuita, a partir do site 
http://httpd.apache.org/download.cgi, nas suas mais variadas versões para diferentes sistemas 
operacionais, com especial destaque para sistemas Linux (em alguma distribuição) ou Microsoft 
Windows. 
Um método alternativo e que facilita esse momento de instalação da infra-estrutura de 
software, é obter algum instalador que já prepara todo o ambiente necessário para o desenvolvimento. 
Os dois mais famosos são o EasyPHP (http://www.easyphp.org/) e o Xampp 
(http://www.apachefriends.org/en/xampp.html). A diferença entre cada um deles está no número de 
componentes que cada um já traz por padrão. De qualquer forma, ambos trazem como servidor de 
banco de dados o MySQL, outro software livre muito utilizado, o que permite a criação de ambientes 
dinâmicos. 
 
Eis um passo-a-passo de como instalar os componentes necessários a partir de um 
instalador do EasyPHP, baixado a partir do site indicado acima. 
 
 
 
 
O primeiro passo é escolher em qual idioma os softwares serão instalados. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Segue-se uma tela inicial de apresentação do processo de instalação no idioma selecionado. 
 
 
 
 
 
 
 
 
 
 
 
 
 
Ao escolher o item “Eu aceito os termos do Contrato”, o botão Avançar torna-se habilitado e o 
processo de instalação pode seguir. 
 
 
 
 
 
 
 
 
 
 
 
 
 
O último passo antes da instalação em si é escolher o diretório em que os sistemas serão 
instalados. Pode-se optar por instalar no diretório padrão fornecido (como acima) ou então definir outro. 
 
 
 
 
 
 
 
 
 
 
 
 
Ao final da instalação, será criada uma entrada no menu de Programas da instalação do 
Microsoft Windows que representa o EasyPHP. Ao se iniciar o programa, será mostrada uma tela de 
inicialização do sistema, com semáforos representando o status do sistema. Outro indicativo é ele 
mostrar ao lado do relógio do sistema um ícone indicando a execução dos sistemas. 
 
 
 
 
Configurações adicionais podem ser feitas, escolhendo-se a opção correspondente no painel 
de controle, que trará o arquivo httpd.conf, que representa todas as configurações disponíveis para o 
 
 
servidor. Por padrão, todo o código-fonte em PHP deve ser colocado dentro do diretório www que foi 
criado no processo de instalação do sistema. 
 
 
12.7 Visualização dos resultados 
 
 
Como já mencionado, todo o resultado gerado de uma página PHP se torna uma página 
HTML e por isso pode ser visualizada da mesma forma pela grande maioria dos navegadores 
disponíveis atualmente (cada um possui suas particularidades, mas de modo geral o resultado é o 
mesmo). Com isso se ganha uma grande liberdade de acessar os dados de qualquer lugar do mundo. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
13 CONCEITOS INICIAIS 
 
 
13.1 Onde colocar o código 
 
 
Deve ser definido um diretório (normalmente chamado public_html) onde todas as páginas de 
código PHP devem ser colocadas (esses arquivos possuem extensão .php ou .inc) e que deve ser 
“enxergado” pelo servidor web (neste caso, adotaremos o Apache). Essa configuração normalmente já 
está pronta ou então é de responsabilidade do administrador do sistema. 
Em seguida, deve ser criadoum diretório para que os códigos que forem gerados sejam 
colocados, sem gerar confusão, principalmente se muitos usuários estiverem colocando código nesta 
pasta. Para ver o resultado desse código, deve ser aberto um navegador e digitado: 
 
http://192.256.123.456/sua_pasta/arquivo.php 
 
http://localhost/sua_pasta/arquivo.php 
 
ou ainda, 
 
http://192.256.123.456:8080/sua_pasta/arquivo.php 
 
http://localhost:porta/sua_pasta/arquivo.php 
 
Nos dois exemplos, usa-se como protocolo o http, que é padrão para a internet; localhost 
significa que está se trabalhando localmente e que ainda não se pode visualizar esse conteúdo de fora 
 
 
da empresa; porta é um número que indica por onde o navegador vai tentar se conectar ao servidor e, 
se existir apenas um servidor web numa máquina, esse número pode ser omitido; depois vem o nome 
da estrutura de diretórios interna ao public_html e por fim, o arquivo em si. 
 
13.2 Mesclando PHP com HTML 
 
Um dos principais recursos e facilidades do PHP é permitir que lógica e visualização de 
dados possam ser colocados num mesmo arquivo. Por um lado, isso permite uma imensa flexibilidade 
na construção de sistemas, mas por outro, prejudica, e muito, a manutenção futura de projetos 
grandes, pois dependendo do código, ele pode não ser tão legível. 
Tendo isso em mente , vêm sendo propostas maneiras de se separar um pouco mais o 
código de lógica da visualização das informações, principalmente com a utilização de classes, vinda da 
teoria de orientação a objetos e separação por camadas, sendo que cada camada é responsável por 
uma atividade, tendo independência, facilitando a reorganização e manutenção. 
 
13.3 As tags especiais “<?” “?>” 
 
Numa página com a extensão php, tudo é visto como HTML pelo servidor web; sendo assim, 
é preciso, de alguma forma, que o que for código PHP seja identificado pelo servidor, e é neste 
contexto que entram as tags “<?” “?>”, pois tudo que estiver entre estas tags será identificado como 
código php e tratado como tal, inclusive para verificar se tudo que foi escrito está correto. 
 
 
 
 
 
 
13.4 O comando echo “TESTE”; 
 
Uma das ações mais importantes em qualquer linguagem de programação é exibir uma saída 
para o usuário. Em PHP, uma das maneiras de se fazer isso é utilizando o comando: 
 
<? 
echo “TESTE”; 
?> 
 
Este comando se imprime no trecho onde está colocada a cadeia de caracteres ou então a 
variável correspondente. Repare no ponto e vírgula ao final do comando. Isso é muito importante, pois 
a maioria dos comandos precisa dele para funcionar corretamente, caso contrário o servidor devolverá 
uma mensagem de erro na linha em que estiver faltando esse marcador. 
 
Resultado obtido 
 
O resultado de qualquer comando em PHP será visto como uma cadeia de caracteres que 
dará origem a um arquivo HTML, para que qualquer navegador consiga exibir os resultados do 
processamento. Um ponto que vale a pena mencionar é que o navegador, que está numa máquina 
cliente, não executa nenhum tipo de processamento, ficando tudo sob responsabilidade do servidor. 
 
 
 
 
 
 
 
14 TRABALHANDO COM DADOS 
 
 
14.1 Tipos de dados 
 
PHP é fracamente tipada, o que significa que não é preciso declarar os tipos das variáveis 
antes de utilizá-las. Dessa forma, pode-se colocar qualquer tipo de dados numa variável, a qualquer 
momento, independente do tipo que ela armazenava antes da operação corrente. Os tipos existentes 
são: 
 
Tipo Descrição 
boolean Representa verdadeiro ou falso. 
integer Números inteiros. 
float Números de ponto flutuante. 
string Cadeia de caracteres. 
array Vetores de dados. 
object Objetos. 
resource Resultados de operações em bancos de dados. 
NULL Inexistência de dados. 
 
 
 
 
 
 
 
 
 
14.2 Declaração de variáveis 
 
Todas as variáveis em PHP devem ser começadas com o caractere $ (dólar), e depois terem 
uma quantidade qualquer de caracteres alfanuméricos, porém com o primeiro caractere sendo uma 
letra ou sublinhado. É uma boa prática de programação dar nomes descritivos para 
as variáveis. Em PHP, faz-se distinção entre maiúsculas e minúsculas. Exemplos de variáveis seriam: 
 
$i 
$teste123 
$casa 
$curso 
$CuRsO 
$_8569 
 
Neste caso, $curso e $CuRsO são variáveis diferentes. 
 
14.3 Declaração de constantes 
 
Uma constante é um identificador que possui um valor associado e que não pode ter esse 
valor modificado através do tempo, pelo código PHP. As constantes possuem escopo global, ou seja, 
podem ser acessadas de qualquer ponto do código. Algumas declarações típicas são as seguintes: 
 
 
<? 
define(“NOME_CONSTANTE”, “VALOR”); 
define(“NOME_CONST_IDADE”, 18); 
 
 
?> 
 
Deve-se utilizar a palavra reservada define, tendo dois argumentos, o primeiro é o nome pela 
qual a constante será referenciada e o segundo sendo o valor que ela armazenará. Como padrão, 
adota-se que o nome da variável esteja todo em maiúsculo. 
A sua utilização depois de definida, utilizando a sintaxe acima, é muito simples, apenas 
incluindo no comando a palavra que faz referência ao valor. Para o mecanismo que interpreta o código, 
é como se no lugar da palavra estivesse sendo colocado o valor que ele representa. 
 
14.4 Trabalhando com Vetores 
 
Vetores são uma das estruturas de dados mais importantes em computação. 
Conceitualmente, é o agrupamento de diversas variáveis sobre o mesmo nome, facilitando o seu 
acesso. O conteúdo de um vetor é acessado através de índices, pois o computador enxerga um vetor 
como posições de memória alocadas continuamente. Existem várias formas de declarar um vetor: 
 
<? 
$sobrenomes[0] = ‘Silva’; 
$sobrenomes[1] = ‘Souza’; 
$sobrenomes[2] = ‘Oliveira’; 
 
$idades = array(10, 11, 12); 
?> 
Nos casos acima, cada um dos vetores possui tamanho três. Os dois primeiros exemplos 
mostram vetores de strings e o terceiro, um vetor de inteiros. Uma vez declarado os vetores, seus 
valores podem ser acessados através de um índice inteiro que verifica o conteúdo existente naquele 
ponto. Então, para imprimir na tela o nome, sobrenome e idade da Maria, escreveríamos: 
 
 
 
<? 
echo $nomes[1] . “ “ . $sobrenomes[1] . “,“ . $idades[1]; 
?> 
 
Vale destacar que os índices começam em zero, ou seja, o primeiro elemento de um vetor é 
definido como $vetor[0]. Diversas funções ajudam a trabalhar com vetores, mas algumas são 
especialmente úteis, como sizeof(), que retorna o tamanho de um vetor naquele momento. Por 
exemplo: 
 
<? 
$tamanho = sizeof($sobrenomes); 
echo $tamanho; 
?> 
 
Esse exemplo imprimiria na tela o valor 3. Indo um pouco além, vetores podem ter dentro 
deles outros vetores, introduzindo assim o conceito de dimensão. Num vetor simples, ele possui 
apenas uma dimensão, chamado de vetor unidimensional, ou simplesmente, vetor. Se 
 
tivermos um vetor dentro do outro, temos duas dimensões, ou ainda, matriz. A declaração de matriz é a 
seguinte: 
 
<? 
$mat[0][0] = 10; 
$mat[0][1] = 10; 
$mat[0][2] = 10; 
 
 
$mat[1][0] = 20; 
$mat[1][1] = 20; 
$mat[1][2] = 20; 
$mat[3][0] = 30; 
$mat[3][1] = 30; 
$mat[3][2] = 30; 
?> 
 
Nesse caso, teríamos uma matriz de três linhas e três colunas, sendo que na primeira linha 
teríamos o valor 10, na segunda linha, o valor 20 e por fim, na terceira linha, o valor 30. Vale destacar 
que no lugar de índices com valores absolutos, como os exemplos dados até agora, poderíamos ter 
variáveis indexando os vetores, o que garante uma flexibilidade muito maior. Por exemplo: 
 
<? 
$i = 0; 
$j = 1; 
 
echo $mat[$i][$j]; 
?> 
 
Neste exemplo, seria impresso na tela o valor 10. 
 
14.5 Comentários 
 
Existem dois tipos de comentários em PHP, aqueles de uma única linha e aqueles que 
envolvem uma ou mais linhas. Naqueles do primeiro caso, existem duas formas para indicar isso, 
 
 
usando o caractere sustenido “#” ou então usando duas barras “//”. Parao caso de múltiplas linhas, 
usam-se os caracteres “/*” e “*/”, para indicar abre e fecha comentários, respectivamente. Exemplo: 
 
<? 
# comentário de uma linha apenas 
 
// outro comentário de uma linha apenas 
 
/* 
comentário 
 em várias 
 linhas 
*/ 
 
?> 
 
14.6 Comando de atribuição 
 
Atribuição é outra operação importante em qualquer linguagem de programação, pois é a 
forma mais simples de se manusear informações de usuários, consultas realizadas aos bancos de 
dados e imprimir dados que variam de uma situação para outra na tela. O comando de atribuição é 
bem parecido com o de outras linguagens (notadamente C, C++ e Java). 
 
<? 
$i = 1; 
$teste123 = 123; 
 
 
$casa = “Endereço”; 
$curso = “Computação”; 
$CuRsO = 42; 
$_8569 = 1.50; 
?> 
 
Em todas as situações, o identificador da esquerda deve receber o valor da direita e entre 
eles deve vir o sinal de igual, “=”. Seguindo também a notação das linguagens já citadas acima, todos 
os operadores possuem uma abreviação para a situação da variável receber o seu valor atual com 
algum outro valor e operação. Por exemplo: 
 
<? 
 
$i += 1; 
$valor *= 5; 
$teste /= 2; 
?> 
 
Que podem ser escritos de uma forma extendida como: 
 
<? 
$i = $i + 1; 
$valor = $valor * 5; 
$teste = $teste / 2; 
?> 
 
 
 
Ou seja, a variável inicial receberá também o valor depois de realizada alguma operação. 
 
14.7 Imprimindo conteúdo na tela 
 
Além do comando “echo” já mencionado anteriormente, o PHP possui uma série de outros 
comandos pré-definidos que servem para escrever uma cadeia de caracteres ou variáveis num 
documento HTML que poderá ser interpretado por um navegador. São eles: 
 
<? 
 
print “Cadeia de caracteres”; 
print(“Outra cadeia de caracteres”); 
?> 
 
Nos dois casos acima, também poderia ter sido utilizado o comando echo, mas devido à 
compatibilidade com versões mais antigas, os comandos print continuam disponibilizados para uso. 
Existe uma variação de print, chamada printf, que além da cadeia de caracteres, possui como 
parâmetros alguns itens que modificam a formatação do texto exibido. Por exemplo: 
 
<? 
$idade = 21; 
printf(“A minha idade é %d”, $idade); 
 
$altura = 1.83; 
printf(“Altura: %6.2f”, $altura); 
 
 
?> 
 
O símbolo de % indica que naquele ponto deverá ser colocado o valor da variável que será 
declarada depois da String (podem vir quantas variáveis forem necessárias), a letra indica de que 
forma a variável deve ser tratada (se como String, ou caractere, ou inteiro, ou ponto flutuante, etc.) e se 
tiver um valor numérico entre eles, qual o espaçamento e casas decimais, respectivamente. 
Essa notação é herança da linguagem C, onde todos os comandos de saída, ou seja, que 
geram alguma saída na tela ou em arquivo, possuem esse formato. Ele facilita quando não se tem 
muito tempo para gastar com formatações mais rebuscadas próprias do HTML, ou então 
 
quando a saída desejada é simples. Esse tipo de construção não é tão intuitiva para quem a está 
vendo pela primeira vez. 
 
 
 
 
 
 
 
15 OPERADORES 
 
 
 15.1 Operadores matemáticos 
 
 
 
 
Todos os operadores da aritmética básica estão presentes em PHP, com a inclusão de 
alguns outros que fornecem facilidades interessantes para os programadores. São eles: 
 
Operador Descrição 
+ Adição 
- Subtração 
* Multiplicação 
/ Divisão 
% Resto 
 
Vale mencionar o operador Resto, que pega o resto de uma divisão entre dois números 
inteiros. Alguns exemplos simples dessas operações, onde, no trecho comentado, vem o resultado da 
operação correspondente: 
 
<? 
$a = 10 + 20; // $a == 30 
$b = $a – 5; // $b == 25 
$c = $b * 4; // $c == 100 
 
$d = $c / 2; // $d == 50 
$e = $d % 3; // $e == 2 
 
?> 
 
15.2 Operadores relacionais 
 
 
 
Os operadores relacionais, como o próprio nome sugere, indicam uma relação entre dois 
identificadores, como por exemplo: 
 
<? 
$idade > 21 // Depende do valor de $idade 
13 == 12 // Falso 
12 < 20 // Verdadeiro 
?> 
 
Nessas situações, temos como resultado, verdadeiro ou falso. No primeiro caso, a resposta 
depende do valor armazenado na variável $idade; no segundo caso, o resultado é falso e por fim, na 
última opção, temos como resposta, verdadeiro. Os operadores relacionais existentes são: 
Operador Descrição 
> Estritamente maior 
>= Maior ou igual 
< Estritamente menor 
<= Menor ou igual 
== Igual 
!= Diferente 
 
Merece destaque o operador igual, que pode ser facilmente confundido com o operador de 
atribuição, causando um erro comum para programadores que estão se iniciando na linguagem. Estes 
tipos de operadores são muito úteis em comandos de decisão, como será mostrado adiante. 
 
15.3 Operadores lógicos 
 
 
 
Os operadores lógicos estabelecem alguma relação entre condições, de tal forma que o 
resultado final dependa de todas elas. Os fundamentos desses operadores estão na teoria denominada 
álgebra booleana, em que todas as operações possíveis e desejáveis podem ser escritas, utilizando-se 
apenas três operadores. Em PHP, teríamos: 
 
Operador Descrição 
&& “E” lógico 
|| “OU” lógico 
! “NÃO” lógico 
 
Segue da teoria booleana, que para uma proposição ser verdadeira, utilizando-se o “E 
lógico”, todas as condições precisam ser verdadeiras; utilizando-se o “OU lógico”, ao menos uma 
precisa ser verdadeira para que toda a preposição seja verdadeira e o operador “NÃO lógico”, inverte o 
valor da variável (se era Verdade, passa a ser Falso e vice-versa). Resumindo, teríamos: 
 
Condição 1 Operador Condição 2 Resultado 
Verdade && Verdade Verdade 
Verdade && Falso Falso 
Falso && Verdade Falso 
Falso && Falso Falso 
Verdade || Verdade Verdade 
Verdade || Falso Verdade 
Falso || Verdade Verdade 
Falso || Falso Falso 
 
E ainda, 
 
Condição Operador Resultado 
Verdade ! Falso 
 
 
Falso ! Verdade 
 
Na prática, em PHP esses operadores serão utilizados para juntar mais de uma condição em 
comandos condicionais ou de repetição, para indicar qual caminho tomar ou quando uma repetição 
deve parar. Por exemplo: 
 
SE (($idade > 21) && ($cargo == “ALUNO”)) 
 ENTÃO comando_1 
SENÃO comando_2 
 
 
No pseudocódigo acima, é mostrado um simples comando de decisão com duas cláusulas, 
onde se as duas condições forem verdadeiras, então o comando_1 é executado, caso contrário (se ao 
menos uma for falsa) o comando_2 é o que será executado. Para uma leitura mais clara do que se 
pretende fazer, o uso de parênteses é muito aconselhável. 
 
 
 
 
 
15.4 Operador de concatenação de strings 
 
 
Para se realizar a operação de juntar duas cadeias de caracteres (strings), numa outra 
variável, ou então para exibir o resultado na tela, existe um operador especial para esta função que é o 
ponto “.”, sendo que ele também pode ser utilizado em atalhos, com o operador atribuição “.=”. Seguem 
exemplos desse operador: 
<? 
$nome = “Fulano”; 
$sobrenome = “De Tal”; 
$sobrenome .= “ Silva”; 
$nome_completo = $nome . “ “ . $sobrenome; 
echo $nome_completo . “ : “ . “Qual a sua idade?”; 
?> 
 
Nas duas primeiras linhas, é feita uma atribuição simples; na terceira, na variável sobrenome 
coloca-se, além do valor já existente lá dentro, mais um pedaço de string usando um operador de 
atalho; na quarta linha, uma terceira variável recebe o valor das duas outras, 
 
separadas por um espaço em branco (note a presença dos pontos) e por fim, o resultado é exibido na 
tela. 
 
 
 
 
 
15.5 Notação Pré-fixa e Pós-fixa 
 
 
Dependendo da ordem dos operadores, o resultado atribuído numa variável pode se alterar. 
Alguns operadores podem vir antes ou depois do operador, por isso deve-se tomar cuidado entre os 
resultados obtidos e esperados. 
 
Operador Significado 
++ Incremento de 1 
-- Decremento de 1 
 
 Alguns exemplos: 
 
<? 
$a = 10; 
$b = ++$a; // $b == 11, $a == 11 
$c = $a++;// $c == 11, $a == 12 
echo $b; // Imprime 11 
$d = --$b; // $d == 10, $b == 10 
 
$e = $b--; // $e == 10, $b == 9 
?> 
 
O valor da variável $a começa com 10. Na segunda linha, devido à ordem do operador “++”, o 
valor de $a é incrementado em 1 e só depois atribuído a $b, sendo que ao final desta linha, o valor de 
ambos é igual, 11. Na terceira linha, como o operador “++” vem depois da variável, primeiro o valor 
 
 
atual é retornado para $c e só depois o valor de $a é incrementado em 1, deixando os valores 
diferentes. 
No segundo trecho, a partir do comando echo, acontecem situações bem parecidas, com a 
diferença de se estar utilizando o operador de decremento. A variável $b começa com o valor 11. Na 
linha seguinte, o valor de $b é decrementado antes de ser atribuído em $d, ficando ao final ambos com 
10. Na última linha, por fim, o valor é primeiro atribuído em $e para só depois ter o valor diminuído em 
1, na variável $b. 
 
 
16 CONDICIONAIS 
 
16.1 Bloco de Comandos 
 
Em muitos casos, deseja-se escrever mais de um comando num determinado trecho de 
código, mas agrupado de tal forma que se um deles for executado, todos os demais também serão. 
Para tanto, é preciso explicitamente falar onde começa e onde termina esse bloco. Isso é feito através 
do abre e fecha chaves: “{“ e “}”. Seguem exemplos: 
 
<? 
{ 
 comando_1; 
 comando_2; 
 comando_3; 
} 
?> 
 
 
No pseudocódigo acima, todos os três comandos serão executados se o bloco inteiro for 
escolhido para ser executado; então, pode-se concluir que um bloco de comandos é visto como uma 
unidade atômica, ou seja, como se fosse um único comando. 
 
16.2 O condicional if 
 
A função do operador if é executar uma determinada função ou bloco de funções se uma 
determinada condição for verdadeira ou, caso contrário, não realizar nada. Na condição, 
 
normalmente vem uma variável que é comparada com algum valor para se dizer se o bloco será 
executado ou não. A estrutura básica do comando é: 
 
if (condição == verdade) 
 comando_if; 
 
Usando exemplos: 
 
<? 
$i = 10; 
if($i == 10) { 
 echo “O valor de i é 10”; 
} // if 
 
$p = 500; 
if($p > 700) { 
 echo “O valor de p é maior que 700”; 
 
 
 $p = 701; 
} // if 
 
$str = “nome”; 
if($str != “caracteres”) 
 
echo 
 “O conteúdo de str é diferente de caracteres”; 
?> 
 
No primeiro exemplo, o valor de $i é 10 e como o outro argumento também é 10, a condição 
resulta em verdade, sendo executado o comando de impressão na tela. No segundo, a condição 
resulta em falso, não sendo impresso nada na tela e por fim, como o conteúdo de $str é diferente da 
cadeia de comparação, o comando imprime alguma coisa na tela. 
 
16.3 O condicional if/else 
 
Bem parecido com o comando if, existe o comando if/else, que oferece uma opção, caso a 
condição seja falsa, de executar um determinado comando. Resumindo, caso a condição seja verdade, 
o primeiro comando é executado, caso contrário, o comando ou bloco que vier seguido do else será o 
escolhido para ser executado. A estrutura seria: 
 
if(condição == verdade) 
 comando_if; 
else 
 comando_else; 
 
 
 
Usando exemplos: 
 
<? 
 
$i = 22; 
if($i == 30) { 
 echo “O valor de i é 30”; 
 
} else { 
 $i = 31; 
echo “O valor de i não é 30”; 
} // if 
 
$p = 500; 
if($p < 700) { 
 echo “O valor de p é menor que 700”; 
 
} else { 
 echo “O valor de p é maior ou igual a 700”; 
 
} // if 
?> 
 
 
 
No primeiro exemplo, como a condição é falsa, o bloco else será executado atribuindo-se um 
novo valor à variável e, em seguida, imprimindo uma mensagem na tela. No segundo exemplo, a 
condição é verdadeira, imprimindo-se o comando logo a seguir dos parênteses, não se executando o 
comando else, por exemplo. 
 
16.4 O condicional switch 
 
A estrutura de switch é um caso especial de vários if/else dispostos para ficar mais legível e 
prática a programação. O seu objetivo é dar uma variável de escolha, algum bloco de comando é 
escolhido para ser executado. Essa construção pode ser muito útil quando se está trabalhando com 
diversas opções selecionáveis pelo usuário, pensando-se inclusive na modularização do sistema, o que 
pode facilitar a manutenção futura do mesmo. 
O parâmetro passado no cabeçalho do switch é normalmente uma variável que irá controlar 
qual dos blocos deverá ser executado. Ele pode ser um valor inteiro, um caractere ou uma String. Se 
ele for igual ao valor existente após a palavra case, então o bloco de comando do trecho é executado, 
caso contrário uma outra opção é avaliada. 
A palavra default é opcional, e só é executada caso nenhuma opção seja igual à variável de 
condição, executando-se os comandos associados a ela. A palavra reservada break é importante 
nessa estrutura, para que depois de executados os comandos, a execução saia do switch. A omissão 
desta palavra implica que todos os comandos abaixo do case executado também sejam executados. 
Esse é um dos únicos pontos em que a palavra break pode ser utilizada sem quebrar as boas práticas 
de programação estruturada. 
Vale destacar que não é necessário colocar as chaves para indicar o início e fim de bloco, 
ficando isso implícito na construção. Além do mais, pode vir qualquer número de comandos após os 
dois pontos. Duas opções com os mesmos comandos podem ser facilmente declaradas desde que 
sejam colocadas duas palavras case com as respectivas opções, seguidas dos dois pontos. Segue um 
exemplo: 
 
<? 
$op = ‘c’; 
 
 
switch ($op) { 
 
 
case ‘a’: 
 $teste = 10; 
 echo $teste; 
 break; 
 
 case ‘b’: 
 $teste = 20; 
 echo $teste; 
 break; 
 
 case ‘c’: 
 case ‘d’: 
 $teste = 55; 
 echo $teste; 
 break; 
 
 default: 
 echo “Nenhuma opção é igual à opção”; 
 
} // switch 
?> 
 
 
 
 
A variável $op contém o valor que será avaliado. No primeiro e segundo case é feita a 
comparação, mas como o resultado é falso, nenhum comando é executado. No terceiro, a comparação 
retorna como verdade e os comandos associados são executados, sendo que ao final, por causa da 
palavra break, o comando em default não é executado, fazendo com que o fluxo de execução saia do 
comando switch. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
17 REPETIÇÕES 
 
 
17.1 Repetição usando while 
 
 
Comandos de repetição servem para executar um determinado grupo de operações por um 
número de vezes específico e depois sair deste bloco. Todos os comandos de repetição possuem 
alguma condição que fazem com que eles saiam da repetição, caso contrário, ficariam executando de 
forma infinita. 
No caso do comando while, a condição é avaliada no começo da repetição; sendo assim, se 
logo de início a opção for considerada falsa, nenhuma repetição será executada, passando para o 
próximo comando depois do while. Um exemplo prático seria: 
 
<? 
$contador = 0; 
while($contador < 10) { 
 
 echo “O valor do contador é: ” . $contador; 
 ++$contador; 
 
} // fim do while 
?> 
 
 
 
 
Neste exemplo, uma variável de controle é iniciada com zero. Como o valor é menor que 10, 
o argumento é avaliado como verdade e os comandos dentro do bloco (delimitados pelas chaves) são 
executados, primeiro a impressão e depois o incremento do contador. Esse incremento é muito 
importante neste exemplo, pois é com ele que se tem a garantia que em algum momento a variável 
$contador será maior ou igual a 10, tornando a condição falsa e saindo da repetição. 
 
17.2 Repetição usando for 
 
Outro tipo comum de repetição é o for, que ao contrário do while, já se sabe a priori quantas 
vezes os comandos associados a ele serão executados, diminuindo as chances de um laço infinito. Por 
exemplo: 
 
<? 
for($varia = 0; $varia < 10; ++$varia) { 
 echo “O valor da variável é: “ . $varia; 
} // for 
?> 
 
A variável $varia é o chamado contador do laço, pois é o item a ser avaliado para saber

Continue navegando