Buscar

Programacao_Web_II_v2

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 71 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 71 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 71 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

Direitos: Esta obra foi disponibilizada sob uma Licença Creative Commons Atribuição Uso não-comercial 
3.0 Brasil. 
Direitos de distribuição e publicação: CAPES/MEC, conforme Parágrafo Único, do Artigo 5º, da 
Resolução CD/FNDE nº 24 de 04 de Junho de 2008. 
 
 
 
Universidade Federal de Juiz de Fora 
Reitor: Henrique Duque de Miranda Chaves Filho 
 
Instituto de Ciências Exatas 
Diretor: Rubens de Oliveira 
 
Departamento de Ciência da Computação 
Chefe: Stênio Sã Rosário Furtado Soares 
 
Curso de Licenciatura em Computação 
Coordenação: Fernanda Claudia Alves Campos 
 
 
Organização 
Daves Marcio Silva Martins 
Eduardo Barrére 
 
Comissão Editorial 
Eduardo Barrére 
Fernanda Claudia Alves Campos 
 
Revisão Gramatical 
Hortência Cezar Pinto 
 
Editoração Eletrônica 
Eduardo Barrére 
 
 
 
Martins, Daves Marcio Silva. Barrére, Eduardo. 
Programação para Web II / Daves Marcio Silva Martins e 
Eduardo Barrére– 2013. 
 72 f. : il. 
Material Didático — Curso de Licenciatura em Computação 
da Universidade Federal de Juiz de Fora, Juiz de Fora, 2012. 
 
1. Educação à Distância. 2. Linguagem PHP. 3. Internet. I. 
Título. 
 
 
 
 
Apresentação 
 
Este material foi desenvolvido com a finalidade de abordar os 
temas previstos na disciplina Programação para Web II, trazendo 
os conceitos básicos relacionados ao desenvolvimento de 
páginas dinâmicas para a Web, com destaque para a linguagem 
PHP. 
O conteúdo foi desenvolvido quase em sua totalidade pelo 
professor Daves e revisado pelo professor Barrére, com exceção 
do capítulo 4 que é de sua autoria. 
 
Iconografia 
Conheça os diversos ícones utilizados nos materiais didáticos desenvolvidos pelos 
professores e tutores do curso de Licenciatura em Computação – DCC/UFJF: 
 
 
Pesquise. 
 
Exercícios. 
 
 
 
 
 
 
 
 
Material complementar 
(texto, vídeo, etc.) 
disponível na Internet. 
 
Leitura Complementar. 
 
 
 
 
 
 
 
 
Comentário do Autor. 
 
Tome nota. 
 
 
 
 
 
 
 
 
Conclusão ou síntese 
de conteúdo. 
 
Fique atento. 
 
 
Sumário 
1. Introdução ................................................................................................................................ 7 
1.1 Como surgiu? .................................................................................................................... 8 
1.2 O que pode ser feito com PHP? ........................................................................................ 9 
1.3 Funcionamento de uma requisição web .......................................................................... 9 
1.4 Desenvolvimento Web ................................................................................................... 12 
1.5 Como Executar um Script PHP. ....................................................................................... 12 
1.5.1 Criando o Primeiro Programa com PHP .................................................................. 13 
2. A Linguagem PHP ................................................................................................................... 16 
2.1 Nomes de variáveis ......................................................................................................... 16 
2.2 Imprimindo código HTML ............................................................................................... 17 
2.3 Imprimindo informações de ambiente ........................................................................... 17 
2.4 Comentários ................................................................................................................... 18 
2.5 Tipos Suportados ............................................................................................................ 18 
2.5.1 Inteiros (integer ou long) ........................................................................................ 19 
2.5.2 Números em Ponto Flutuante (double ou float) .................................................... 19 
2.5.3 Strings ...................................................................................................................... 19 
2.5.4 Objetos .................................................................................................................... 20 
2.6 Transformação de tipos .................................................................................................. 21 
2.6.1 Coerções .................................................................................................................. 21 
2.6.2 Transformação explícita de tipos ............................................................................ 22 
2.7 Constantes ...................................................................................................................... 22 
2.7.1 Constantes pré-definidas ........................................................................................ 22 
2.7.2 Definindo constantes .............................................................................................. 22 
2.8 Operadores ..................................................................................................................... 23 
2.8.1 Aritméticos .............................................................................................................. 23 
2.8.2 strings ...................................................................................................................... 23 
2.8.3 Atribuição ................................................................................................................ 23 
2.8.4 Comparação ............................................................................................................ 24 
2.9 Estruturas de Controle.................................................................................................... 24 
2.9.1 Comandos de seleção .............................................................................................. 25 
2.9.1.1 if ........................................................................................................................... 25 
2.9.1.2 switch ................................................................................................................... 25 
2.9.2 Comandos de repetição .......................................................................................... 26 
 
2.9.2.1 while .................................................................................................................... 26 
2.9.2.2 do... while ............................................................................................................ 26 
2.9.2.3 for ........................................................................................................................ 26 
2.10 Funções ........................................................................................................................... 27 
2.11 Trabalhando com Arrays ................................................................................................ 27 
2.12 Bibliotecas ....................................................................................................................... 29 
2.13 Data e Hora ..................................................................................................................... 30 
3. Desenvolvimento Web com PHP ........................................................................................... 32 
3.1 Método GET .................................................................................................................... 32 
3.2 Método POST ..................................................................................................................33 
3.3 Utilizando GET e POST .................................................................................................... 34 
3.3.1 Exemplo utilizando o método GET .......................................................................... 34 
3.3.2 Exemplo utilizando o método POST ........................................................................ 36 
3.4 Resumindo o uso de formulários.................................................................................... 38 
4. Sessões e Cookies .................................................................................................................. 40 
4.1 Cookies ............................................................................................................................ 40 
4.2 Sessão ............................................................................................................................. 45 
5. Banco de Dados...................................................................................................................... 48 
5.1 Conceitos de Banco de Dados ........................................................................................ 48 
5.2 Integração PHP com MySQL ........................................................................................... 49 
5.2.1 Criação do Banco de Dados ........................................................................................ 49 
5.2.2 Inserindo registro na tabela no Banco de Dados ........................................................ 53 
5.2.3 Listando os registros de uma tabela no Banco de Dados ........................................... 57 
5.2.4 Excluindo os registros de uma tabela no Banco de Dados ......................................... 59 
5.2.1 Alterando os registros de uma tabela no Banco de Dados ........................................ 62 
5.2.2 Realizando uma pesquisa no banco de dados ............................................................ 67 
6. Referências ............................................................................................................................. 71 
 
EADDCC035 – Programação para Web II 
7 
 
1. Introdução 
Quando pensamos em Web 2.0, vem a mente a ideia de “faça você mesmo”, 
interatividade, multimídia (principalmente imagens e vídeos). Para implementar tais 
recursos é necessária uma web mais dinâmica e menos estática (como vimos com a 
linguagem HTML). Outro desafio são as aplicações para web, que trazem a 
necessidade de acesso a banco de dados e segurança das informações. Tentando 
resolver esses e outros desafios, foram criadas/adaptadas diversas linguagens que, 
juntamente com o HTML, tornam essas ações possíveis. Podemos destacar PEARL, 
CGI, JAVA, PHP, C#, entre outras. 
No contexto desta disciplina vamos utilizar a linguagem PHP por diversos fatores, 
entre eles: simplicidade de codificação, grande aceitação no mercado, IDE de 
desenvolvimento simples e gratuita, funciona bem para pequenos servidores. 
PHP1 é um acrônimo recursivo (abreviatura que se refere a si mesma) para "PHP: 
Hypertext Preprocessor”. É uma linguagem de script Open Source de uso geral, muito 
utilizada e especialmente interessante para o desenvolvimento de aplicações Web 
mesclada com códigos HTML. 
 
Na área de computação, uma antiga tradição da 
comunidade hacker é escolher acrônimos e abreviaturas 
que se referiram humoristicamente a si mesmos ou a 
outras abreviaturas. Outro exemplo disso é GNU ("GNU's 
not UNIX") de Richard Stallman. 
 
É uma linguagem que permite criar sites WEB dinâmicos, possibilitando uma 
interação com o usuário através de formulários, parâmetros da URL e âncoras. A 
diferença de PHP com relação a linguagens semelhantes a JavaScript é que o código 
PHP é executado no servidor, sendo enviado para o cliente apenas HTML puro 
(demonstraremos isso mais a frente). Desta maneira é possível interagir com bancos 
de dados e aplicações existentes no servidor, com a vantagem de não expor o código 
fonte para o cliente. Isso pode ser útil quando o programa está lidando com senhas ou 
qualquer tipo de informação confidencial. 
 
1
 www.php.net 
EADDCC035 – Programação para Web II 
8 
 
1.1 Como surgiu? 
A linguagem PHP foi concebida em 1994 por Rasmus Lerdorf. As primeiras 
versões não foram disponibilizadas, tendo sido utilizadas em sua página pessoal 
apenas para que ele pudesse ter informações sobre as visitas que estavam sendo 
feitas. A primeira versão utilizada por outras pessoas foi disponibilizada em 1995, e 
ficou conhecida como “Personal Home Page Tools” (ferramentas para página pessoal). 
Era composta por um sistema bastante simples que interpretava algumas macros e 
alguns utilitários que rodavam “por trás” das páginas: um livro de visitas, um contador e 
algumas outras coisas. 
Em meados de 1995 o interpretador foi reescrito, e ganhou o nome de PHP/FI, o 
“FI” veio de outro pacote escrito por Rasmus que interpretava dados de formulários 
HTML (Form Interpreter). Ele combinou os scripts do pacote Personal Home Page 
Tools com o FI e adicionou suporte a mSQL, nascendo assim o PHP/FI, que cresceu 
bastante, e as pessoas passaram a contribuir com o projeto. 
Estima-se que em 1996 PHP/FI estava sendo usado por cerca de 15.000 sites 
pelo mundo, e em meados de 1997 esse número subiu para mais de 50.000. Nessa 
época houve uma mudança no desenvolvimento do PHP. Ele deixou de ser um projeto 
de Rasmus com contribuições de outras pessoas para ter uma equipe de 
desenvolvimento mais organizada. O interpretador foi reescrito por Zeev Suraski e Andi 
Gutmans, e esse novo interpretador foi a base para a versão 3. 
O lançamento do PHP4, ocorrido em 22/05/2000, trouxe muitas novidades aos 
programadores de PHP. Uma das principais foi o suporte a sessões, bastante útil pra 
identificar o cliente que solicitou determinada informação. Além das mudanças 
referentes à sintaxe e novos recursos de programação, o PHP4 trouxe como novidade 
um otimizador chamado Zend, que permite a execução muito mais rápida de scripts 
PHP. A empresa que produz o Zend promete para este ano o lançamento de um 
compilador de PHP. Códigos compilados serão executados mais rapidamente, além de 
proteger o código fonte da aplicação. 
Atualmente, o PHP esta na versão 5. Como as primeiras versões do PHP 
conseguiram uma plataforma potente e estável para a programação de páginas do lado 
do servidor. O principal objetivo de PHP5 foi melhorar os mecanismos de orientação à 
objetos. 
EADDCC035 – Programação para Web II 
9 
 
1.2 O que pode ser feito com PHP? 
Basicamente, qualquer página ou programa web pode ser feita com PHP, como 
coletar dados de um formulário, gerar páginas dinamicamente ou enviar e receber 
cookies. A linguagem também tem como uma das características mais importantes o 
suporte a um grande número de bancos de dados, como dBase, Interbase, mSQL, 
mySQL, Oracle, Sybase, PostgreSQL e vários outros. Construir uma página baseada 
em um banco de dados torna-se uma tarefa extremamente simples com PHP. Além 
disso, PHP tem suporte a outros serviços através de protocolos como IMAP, SNMP, 
NNTP, POP3 e, logicamente, HTTP. Ainda é possível abrir sockets e interagir com 
outros protocolos. 
1.3 Funcionamento de uma requisição web 
O que acontece quando digitamos um endereço no nosso navegador? 
 
Figura 1 – Endereço Web 
De forma simplificada e para facilitar o entendimento, quando digitamos um 
endereço “www.enderecosite.com.br”, ele representa a identificação (nome relacionado 
a um endereço IP) de uma máquina em algum lugar do mundo. A primeira tarefa é 
identificar onde está essa maquina. 
Ao digitarmosesse endereço no browser, o mesmo se encarrega de iniciar um 
trabalho para que esse nome possa ser traduzido (resolvido) em um número IP. Os 
responsáveis por essa tradução são os servidores DNS (Domain Name Server). Na 
disciplina de Fundamentos de Redes de Computadores temos uma descrição de como 
essa tradução acontece. 
Uma vez feita essa tradução, sabemos onde encontrar a máquina que desejamos 
nos comunicar. No caso da web, essas máquinas são conhecidas como servidores 
Web, que tem como função, receber uma requisição ou uma solicitação e devolver um 
arquivo solicitado. A Figura 3 ilustra o funcionamento de um servidor Web. 
EADDCC035 – Programação para Web II 
10 
 
 
Figura 2 – Servidor web 
Portanto, toda vez que acessamos um site a partir de nosso Navegador web 
(Browser), a pagina que você visualiza é o resultado de um arquivo, imagens, sons 
vindos do servidor até a sua máquina. 
Então, você deve se perguntar: Como é feito? Como elas se propagam? 
Todas estas páginas possuem um código fonte escrito numa linguagem chamada 
HTML (Linguagem de Marcação de Hipertexto ou Hyper Text Markup Language). Por 
isso é necessário que tenhamos um conhecimento mínimo sobre HTML. A Figura 3 
ilustra uma solicitação HTML. 
 
Figura 3 – Solicitação de uma página HTML 
Como o PHP atua nesse cenário, como podemos perceber uma requisição web 
nada mais é do que um envio de um arquivo HTML que será interpretado pelo browser, 
pois utilizamos o protocolo http (HyperText Transfer Protocol). Então o PHP atua na 
EADDCC035 – Programação para Web II 
11 
 
geração do HTML, gerando um HTML dinâmico e não fixo como vimos o HTML. Veja a 
imagem a seguir que ilustra o funcionamento do PHP. 
 
Figura 4 – Solicitação de uma página php 
Vejamos como um código PHP pode virar uma página HTML. A Figura a seguir 
ilustra esse processo. 
 
Figura 5 – Transformação do código php em html 
A página PHP terá uma reposta diferente dependendo do valor da variável 
&idade, por isso dizendo que o PHP gera uma página dinâmica. Neste exemplo, a 
variável &idade, que nesse momento não importa como foi conseguida, vai definir o 
EADDCC035 – Programação para Web II 
12 
 
tipo de página a ser gerada. O mais interessante de se verificar é que o usuário só verá 
o código HTML gerado. 
1.4 Desenvolvimento Web 
Desenvolvimento Web é o termo utilizado para descrever o desenvolvimento de 
sites para internet e intranet. De forma geral, está relacionado com a programação de 
aplicações e sites, conFiguração de servidores de aplicação, mas também pode estar 
relacionado ao projeto visual (design e interatividade) de páginas. 
O desenvolvimento web pode variar desde simples páginas estáticas à aplicações 
ricas, comércios eletrônicos ou redes sociais. Para tal, faz-se uso de diversas 
tecnologias, a saber: 
 No lado Cliente: podemos utilizar tecnologias tais como: CSS, HTML, XHTML, 
Javascript, AJAX, Flash. 
 No lado servidor: podemos utilizar programas como PHP, ASP, .NET, Java entre 
outros. 
 Dados: serão armazenados em um Banco de dado tais como MySQL, visto nessa 
apostila, PostgreSQL, SQLite, entre outros. 
1.5 Como Executar um Script PHP. 
Para conseguir executar um Script PHP, não é só dar um clique duplo no arquivo 
(como fazemos com Arquivos HTML). Nós precisamos instalar um Servidor Web e o 
Interpretador da Linguagem PHP. 
Um dos servidores web mais utilizados é o Apache. Ele foi criado em 1995 por 
Rob McCool. Numa pesquisa realizada em dezembro de 20072, foi constatado que a 
utilização do Apache representa cerca de 47.20% dos servidores ativos no mundo. Em 
janeiro de 20133, o Apache serviu aproximadamente 55% de todos os sites e mais de 
59% dos milhões de sites mais movimentados. 
Um servidor de banco de dados também é necessário quando desenvolvemos 
aplicações que envolvam armazenamento e recuperação de dados. O MySQL é um 
sistema de gerenciamento de banco de dados (SGBD), que utiliza a linguagem SQL 
(Linguagem de Consulta Estruturada, do inglês Structured Query Language) como 
 
2
 http://news.netcraft.com/archives/2007/12/29/december_2007_web_server_survey.html 
3
 http://news.netcraft.com/archives/2013/01/07/january-2013-web-server-survey-2.html#more-7696 
EADDCC035 – Programação para Web II 
13 
 
interface. É atualmente um dos bancos de dados mais populares. Entre os usuários do 
banco de dados MySQL estão: NASA, Friendster, Banco Bradesco, Dataprev, HP, 
Nokia, Sony, Lufthansa, U.S. Army, U.S. Federal Reserve Bank, Associated Press, 
Alcatel, Slashdot, Cisco Systems e Google. 
Se no computador não tem estes softwares instalados, então não é possível 
“rodar” as páginas PHP. Em outras palavras, o computador tem que estar com os 
softwares necessários para “ser” um pequeno e completo servidor web. Para resolver 
este problema foram criados uma série de pacotes, permitindo que o usuário tivesse no 
seu computador os softwares básicos para o desenvolvimento de sistemas web, sem a 
necessidade de estar o tempo todo transferindo os arquivos para um servidor remoto. 
Alguns deles: 
 Apache2Triad: http://apache2triad.net 
 EasyPHP: http://www.easyphp.org 
 WAMP: http://www.wampserver.com 
 
Cada um desses pacotes vem com: servidor de páginas, 
PHP e banco de dados. 
 
Com um pacote desse instalado você tem um servidor para 
sua intranet, pronto para utilizá-lo. Basta coloca-lo na rede. 
De qualquer forma, temos a opção de instalar separadamente cada um desses 
programas. No Linux a instalação deverá ser feita separadamente ou ativada durante a 
instalação do Sistema Operacional. 
 
Nos sites vocês encontram todos os passos para instalar e 
rodar o seu servidor web. Pessoalmente recomendamos o 
WAMP. 
Caso tenha um computador ou notebook a sua disposição, 
faça essa instalação. 
1.5.1 Criando o Primeiro Programa com PHP 
Após ter realizado a conFiguração de um dos pacotes acima em seu computador, 
vamos criar nosso primeiro programa na Linguagem PHP. Para isso precisamos de um 
editor, que pode ser: qualquer editor de textos (Bloco de Notas, WordPad, etc.), 
Eclipse, BlueFish (editor utilizado na apostila de Programação para Web I), 
DreamWeaver ou qualquer outro editor de páginas HTML com suporte a múltiplas 
EADDCC035 – Programação para Web II 
14 
 
linguagens. Após escolher o seu editor preferido ou disponível no momento, digite o 
código: 
1 <?php 
2 echo "<p> Esse é o primeiro programa que escrevo em PHP.</p>"; 
3 ?> 
Código do programa primeiro.php 
Salve o arquivo na pasta www (no caso de quem instalou o WAMP no diretório 
padrão é: c:\wamp\www), ou pasta similar dependendo do pacote instalado, com o 
nome primeiro.php. Por enquanto, não se preocupe se não estiver entendendo direito o 
programa. 
Caso tenha alterado o local da instalação durante a 
execução do assistente, o endereço onde devemos 
salvar nossos Arquivos PHP (conhecido como 
Document Root) será diferente. 
 
O arquivo deve ser salvo com a extensão ".php". Se 
você salvar como ".html", o código PHP não será 
executado. 
Pra finalizar, abra seu navegador e digite na Barra de endereços 
“http://localhost/primeiro.php” e pressione a tecla <Enter>. Deverá ser exibida uma 
página conforme abaixo: 
 
Figura 6 – Resultado do Primeiro exemplo php 
Toda vez que você quiser testar Scripts PHP, certifique-se que o 
programa instalado tenha sido iniciado (vide tutorial do pacote). 
No WAMP, quando os serviços (softwares) estão ativos, o ícone 
fica verde. Caso não esteja, execute “Start All Services”, 
disponível no menu queaparece após clicar com o botão 
esquerdo do mouse sobre o ícone. 
 
 
Na Figura 6, a palavra “é” aparece errada (sem 
acento e confusa: “é”). 
 
Qual o motivo? 
EADDCC035 – Programação para Web II 
15 
 
Vamos fazer outro exemplo e observar a “mágica” que ocorre. Considere o código 
abaixo: 
1 <?php 
2 echo "<h1> Segundo exemplo</h1>"; 
3 echo "<p> Temos um texto qualquer.</p>"; 
4 ?> 
Código do programa segundo.php 
A execução desse programa e posterior exibição no navegador é apresentada na 
Figura a seguir. 
 
Figura 7 – Resultado do Segundo exemplo php 
Vamos agora observar a diferença entre o que foi gerado e o que foi exibido. Para 
tal, selecionamos a exibição do código fonte da página exibida pelo navegador. 
Tabela 1 – Comparação entre o código gerado e o exibido 
Código editado no BlueFish e salvo como 
segundo.php 
Código fonte exibido pelo navegador 
<?php 
echo "<h1> Segundo exemplo</h1>"; 
echo "<p> Temos um texto qualquer.</p>"; 
?> 
<h1> Segundo exemplo</h1> 
<p> Temos um texto qualquer.</p> 
 
 
Ao solicitar que o navegador exiba o arquivo: http://localhost/segundo.php, 
pelo fato de solicitarmos a execução que algo que está no localhost, 
automaticamente o servidor Apache é acionado e ele, por sua vez, aciona o 
PHP para interpretar o código do arquivo segundo.php e entregar para o 
navegador o resultado dessa interpretação (em html “puro”). 
Por isso o que foi recebido pelo navegador é diferente do conteúdo do arquivo 
que geramos, pois entre a solicitação do navegador e a entrega do código 
para o mesmo, tivemos a interferência do Apache e do PHP. 
 
 
 
O que acontece quando digitamos na barra de endereços 
do navegador: file:///C:/wamp/www/segundo.php ? 
Por qual motivo ? 
 
EADDCC035 – Programação para Web II 
16 
 
2. A Linguagem PHP 
 
Toda vez que criamos um arquivo com extensão “.php”, o interpretador procura 
por tags (âncoras) que identifiquem um trecho de código PHP, para que ele possa 
interpretar esse código e gerar o conteúdo HTML correspondente. O código PHP pode 
ser identificado pelo seguinte conjunto de tags: 
<?php 
comandos 
?> 
<? 
comandos 
?> 
 
 
 
Pessoalmente recomendo utilizar o primeiro (<?php), pois é o 
mais aceito pelos servidores. 
 
 
Para cada fim de linha de código tem que haver um ponto e vírgula, indicando ao 
sistema fim de instrução. Exemplo: 
1 <?php 
2 echo "<p> Esse é o primeiro programa que escrevo em PHP.</p>"; 
3 ?> 
 
2.1 Nomes de variáveis 
Toda variável em PHP tem seu nome composto pelo caracter $ e uma string, que 
deve iniciar por uma letra ou o caracter “_”. PHP é case sensitive, ou seja, as variáveis 
$php e $PHP são diferentes. Por isso é preciso ter muito cuidado ao definir os nomes 
das variáveis. Exemplo: 
1 <?php 
2 $var1 = 1; 
echo $var1; 
3 ?> 
 
 
É bom evitar os nomes em maiúsculas, pois como veremos mais 
adiante, o PHP já possui algumas variáveis pré-definidas cujos 
nomes são formados por letras maiúsculas. 
 
EADDCC035 – Programação para Web II 
17 
 
2.2 Imprimindo código HTML 
Pelo fato de um script PHP geralmente ter como resultado uma página HTML, 
fazemos a impressão de strings que contenham as tags HTML. Para gerar esse 
resultado, deve ser utilizada uma das funções de impressão: echo ou print. Para utilizá-
las deve-se utilizar um dos seguintes formatos: 
 echo argumento; 
 echo (argumento1, argumento2, ... ); 
 print(argumento); 
Exemplo: 
 
Figura 8 – Utilizando os comandos echo e print 
 
2.3 Imprimindo informações de ambiente 
Assim como a impressão de strings e variáveis, podemos manipular e imprimir 
informações do PHP e do próprio navegador. 
Como primeiro exemplo, vamos iremos checar qual é o tipo de navegador que o 
visitante está utilizando para ver a nossa página. A variável que nos interessa é a 
$_SERVER["HTTP_USER_AGENT"]. 
 
Figura 9 – Utilizando variáveis de ambiente 
 
De fato, para fazer isto nós teremos que checar qual é o valor da 
string agente que o navegador envia como parte de sua requisição 
HTTP. Esta informação é armazenada em uma variável. 
 
EADDCC035 – Programação para Web II 
18 
 
Há muitos tipos de variáveis disponíveis no PHP e $_SERVER é somente uma 
variável que é automaticamente disponibilizada para você pelo PHP. 
 
 
 Uma lista de Variáveis Reservadas pode ser obtida em 
http://www.php.net/manual/pt_BR/reserved.variables.php 
Você pode pegar uma lista completa delas inserindo no seu código a 
seguinte função: phpinfo(); 
 
2.4 Comentários 
Temos dois tipos de comentários em código PHP: 
 Comentários de uma linha: Marca como comentário até o final da linha ou até o 
final do bloco de código PHP - o que vier antes. Pode ser delimitado pelo caracter 
“#” ou por duas barras ( // ). 
 
 Comentários de mais de uma linha: Tem como delimitadores os caracteres “/*” 
para o início do bloco e “*/” para o final do comentário. Se o delimitador de final de 
código PHP ( ?> ) estiver dentro de um comentário, não será reconhecido pelo 
interpretador. 
 
2.5 Tipos Suportados 
Pelo fato do PHP utilizar checagem de tipos dinâmica, ou seja, uma variável pode 
conter valores de diferentes tipos em diferentes momentos da execução do script, não 
é necessário declarar o tipo de uma variável para usá-la. O interpretador PHP decidirá 
qual o tipo daquela variável, verificando o conteúdo em tempo de execução. Ainda 
assim, é permitido converter os valores de um tipo para outro desejado, utilizando o 
typecasting ou a função settype (veremos isso adiante). PHP suporta os tipos de 
dados: inteiro, ponto flutuante, string, array e objeto. 
EADDCC035 – Programação para Web II 
19 
 
2.5.1 Inteiros (integer ou long) 
Uma variável pode conter um valor inteiro com atribuições que sigam as seguintes 
sintaxes: 
$php = 1234; # inteiro positivo na base decimal 
$php = -234; # inteiro negativo na base decimal 
$php = 0234; # inteiro na base octal-simbolizado pelo 0 
 # equivale a 156 decimal 
$php = 0x34; # inteiro na base hexadecimal(simbolizado 
 # pelo 0x) - equivale a 52 decimal. 
A diferença entre inteiros simples e long está no número de bytes utilizados para 
armazenar a variável. Como a escolha é feita pelo interpretador PHP de maneira 
transparente para o usuário, podemos afirmar que os tipos são iguais. 
2.5.2 Números em Ponto Flutuante (double ou float) 
Uma variável pode ter um valor em ponto flutuante com atribuições que sigam as 
seguintes sintaxes: 
 $php = 1.234; 
 $php = 23e4; # equivale a 230.000 
 
2.5.3 Strings 
Uma variável do tipo string suporta atribuições de duas maneiras: 
1) Utilizando aspas simples ( ' ): Desta maneira, o valor da variável será 
exatamente o texto contido entre as aspas (com exceção de \\ e \' - ver tabela a 
seguir) 
2) Utilizando aspas duplas ( " ): Desta maneira, qualquer variável ou caracter de 
escape será expandido antes de ser atribuído. 
Observe no exemplo a seguir que a diferença no uso das aspas está na linha 3. 
EADDCC035 – Programação para Web II 
20 
 
 
Figura 10 – Diferença no uso das aspas 
Tabela 1- Caracteres de escape 
Sintaxe Significado 
\n Nova linha 
\r Retorno de carro (semelhante a \n) 
\t Tabulação horizontal 
\\ A própria barra ( \ ) 
\$ O símbolo $ 
\’ Aspa simples 
\” Aspa dupla 
 
2.5.4 Objetos 
PHP também permite o uso de orientação à objetos. Um objeto pode ser 
inicializado utilizando o comando new para instanciar uma classe para uma variável. 
 
Figura 11 – Exemplo de objeto 
 
PHP não possui um tipo booleano, masé capaz de avaliar expressões 
e retornar true ou false, através do tipo integer: é usado o valor 0 (zero) 
para representar o estado false, e qualquer valor diferente de zero 
(geralmente 1) para representar o estado true. 
EADDCC035 – Programação para Web II 
21 
 
2.6 Transformação de tipos 
A transformação de tipos em PHP pode ser feita conforme as maneiras 
explicadas a seguir. 
2.6.1 Coerções 
Quando ocorrem determinadas operações (soma, por exemplo) entre dois valores 
de tipos diferentes, o PHP converte o valor de um deles automaticamente (coerção). É 
interessante notar que se o operando for uma variável, seu valor não será alterado. O 
tipo para o qual os valores dos operandos serão convertidos é determinado da seguinte 
forma: Se um dos operandos for float, o outro será convertido para float, senão, se um 
deles for integer, o outro será convertido para integer. Exemplos: 
$php = “1”; // $php é a string “1” 
$php = $php + 1; // $php é o integer 2 
$php = $php + 3.7; // $php é o double 5.7 
$php = 1 + 1.5; // $php é o double 2.5 
Como podemos notar, o PHP converte string para integer ou double mantendo o 
valor. O sistema utilizado pelo PHP para converter de strings para números é o 
seguinte: 
 É analisado o início da string. Se contiver um número, ele será avaliado. Senão, o 
valor será 0 (zero); 
 O número pode conter um sinal no início (“+” ou “-“); 
 Se a string contiver um ponto em sua parte numérica a ser analisada, ele será 
considerado, e o valor obtido será double; 
 Se a string contiver um “e” ou “E” em sua parte numérica a ser analisada, o valor 
seguinte será considerado como expoente da base 10, e o valor obtido será double; 
Vejamos alguns exemplos: 
$php = 1 + “10.5”; // $php == 11.5 
$php = 1 + “-1.3e3”; // $php == -1299 
$php = 1 + “teste10.5”; // $php == 1 
$php = 1 + “10testes”; // $php == 11 
$php = 1 + " 10testes"; // $php == 11 
$php = 1 + "+ 10testes";// $php == 1 
EADDCC035 – Programação para Web II 
22 
 
2.6.2 Transformação explícita de tipos 
A sintaxe do typecast de PHP é semelhante ao C: basta escrever o tipo entre 
parênteses antes do valor. Exemplos: 
Vejamos alguns exemplos: 
$php = 15; // $php é integer (15) 
$php = (double) $php // $php é double (15.0) 
$php = 3.9 // $php é double (3.9) 
$php = (int) $php // $php é integer (3) 
 // o valor decimal é truncado 
Os tipos de cast permitidos são: 
(int), (integer) -> transforma para integer; 
(real), (double), (float)-> transforma para float; 
(string) -> transforma para string; 
(array) -> transforma para array; 
(object) -> transforma para objeto. 
 
2.7 Constantes 
2.7.1 Constantes pré-definidas 
O PHP possui algumas constantes pré-definidas, indicando a versão do PHP, o 
Sistema Operacional do servidor, o arquivo em execução, e diversas outras 
informações. Para ter acesso a todas as constantes pré-definidas, pode-se utilizar a 
função phpinfo(), que exibe uma tabela contendo todas as constantes pré-definidas, 
assim como conFigurações da máquina, sistema operacional, servidor HTTP e versão 
do PHP instalada. 
2.7.2 Definindo constantes 
Para definir constantes utilizamos a função define. Uma vez definido, o valor de 
uma constante não poderá mais ser alterado. Uma constante só pode conter valores 
escalares, ou seja, não pode conter nem um array, nem um objeto. A assinatura da 
função define é a seguinte: 
int define(string nome_da_constante, mixed valor); 
 
EADDCC035 – Programação para Web II 
23 
 
A função retorna true se for bem-sucedida. Veja um exemplo de sua utilização a 
seguir: 
define ("pi", 3.1415926536); 
$circunf = 2*pi*$raio; 
 
2.8 Operadores 
2.8.1 Aritméticos 
Só podem ser utilizados quando os operandos são números (integer ou float). Se 
forem de outro tipo, terão seus valores convertidos antes da realização da operação. 
Tabela 2- Operadores aritméticos 
Operador Operação 
+ adição 
- subtração 
* multiplicação 
/ divisão 
% módulo 
2.8.2 strings 
Só há um operador exclusivo para strings, o de concatenação (.). Vejamos o 
exemplo: 
 
Figura 12 – Exemplo de concatenação 
2.8.3 Atribuição 
Existe um operador básico de atribuição e diversos derivados. Sempre retornam o 
valor atribuído. No caso dos operadores derivados de atribuição, a operação é feita 
entre os dois operandos, sendo atribuído o resultado para o primeiro. A atribuição é 
sempre por valor, e não por referência. 
EADDCC035 – Programação para Web II 
24 
 
Tabela 3- Operador de atribuição e suas derivações 
Operador Tipo de atribuição 
= atribuição simples 
+= atribuição com adição 
-= atribuição com subtração 
*= atribuição com multiplicação 
/= atribuição com divisão 
%= atribuição com módulo 
.= atribuição com concatenação 
Vejamos um exemplo: 
 
Figura 13 – Uso do operador de atribuição 
2.8.4 Comparação 
As comparações são feitas entre os valores contidos nas variáveis, e não as 
referências. Sempre retornam um valor booleano. 
Tabela 4- Operadores de Comparação 
Operador Ação 
== igual a 
!= diferente de 
< menor que 
> maior que 
<= menor ou igual a 
>= maior ou igual a 
 
2.9 Estruturas de Controle 
As estruturas que veremos a seguir são comuns para as linguagens de 
programação imperativas, bastando, portanto, descrever a sintaxe de cada uma delas, 
resumindo o funcionamento. Em outras palavras, é bem semelhante ao que utilizamos 
em linguagem C. 
EADDCC035 – Programação para Web II 
25 
 
2.9.1 Comandos de seleção 
Também chamados de condicionais, os comandos de seleção permitem executar 
comandos ou blocos de comandos com base em testes feitos durante a execução. 
2.9.1.1 if 
O mais trivial dos comandos condicionais é o if. Ele testa a condição e executa o 
comando indicado se o resultado for true (valor diferente de zero). Ele possui duas 
sintaxes: 
Sintaxe convencional Sintaxe com ednif 
if (expressão) 
 comando; 
 
ou 
 
if (expressão) 
{ 
 comando; 
...... 
 comando; 
} 
if (expressão): 
 comando; 
. . . 
 comando; 
endif; 
 
O else é um complemento opcional para o if. Se utilizado, o comando será 
executado se a expressão retornar o valor false (zero). Suas duas sintaxes são: 
Sintaxe convencional Sintaxe com ednif 
if (expressão) 
 comando; 
else 
 comando; 
 
ou 
 
if (expressão) 
{ 
 comando; 
...... 
 comando; 
} 
else 
{ 
 comando; 
...... 
 comando; 
} 
if (expressão): 
 comando; 
. . . 
 comando; 
else 
 comando; 
. . . 
 comando; 
endif; 
 
2.9.1.2 switch 
O comando switch atua de maneira semelhante a uma série de comandos if na 
mesma expressão. Frequentemente o programador pode querer comparar uma 
variável com diversos valores, e executar um código diferente a depender de qual valor 
EADDCC035 – Programação para Web II 
26 
 
é igual ao da variável. Quando isso for necessário, deve-se usar o comando switch. O 
exemplo seguinte mostra dois trechos de código que fazem a mesma coisa, sendo que 
o primeiro utiliza uma série de if’s e o segundo utiliza switch: 
Lógica com if Lógica com switch 
if ($i == 0) 
 print “i é igual a zero”; 
 elseif ($i == 1) 
 print “i é igual a um”; 
 elseif ($i == 2) 
 print “i é igual a dois”; 
switch ($i) { 
case 0: 
 print “i é igual a zero”; 
 break; 
case 1: 
 print “i é igual a um”; 
 break; 
case 2: 
 print “i é igual a dois”; 
 break; 
} 
2.9.2 Comandos de repetição 
2.9.2.1 while 
O while é o comando de repetição (laço) mais simples. Eletesta uma condição e 
executa um comando, ou um bloco de comandos, até que a condição testada seja 
falsa. Assim como o if, o while também possui duas sintaxes alternativas: 
Sintaxe convencional Sintaxe com ednif 
while (<expressão>) 
 <comando>; 
 
while (<expressão>) 
{ 
 <comando>; 
...... 
 <comando>; 
} 
while (<expressão>): 
 <comando>; 
. . . 
 <comando>; 
endwhile; 
 
2.9.2.2 do... while 
O laço do...while funciona de maneira bastante semelhante ao while, com a simples 
diferença que a expressão é testada ao final do bloco de comandos. O laço do...while 
possui apenas uma sintaxe, similar a que utilizamos em linguagem C. 
2.9.2.3 for 
O tipo de laço mais complexo é o for. Para os que programam em C, C++ ou 
Java, a assimilação do funcionamento do for é natural. 
EADDCC035 – Programação para Web II 
27 
 
2.10 Funções 
O uso de funções em PHP é um pouco diferente de C, pois como não utilizamos a 
“tipificação” das variáveis, isso gera algumas diferenças na construção das funções. A 
sintaxe básica é: 
function nome_da_função([arg1, arg2, arg3]) { 
 Comandos; 
 ... ; 
 [return <valor de retorno>]; 
} 
 
Algumas considerações: 
 Como a checagem de tipos em PHP é dinâmica, o tipo de retorno não deve ser 
declarado, sendo necessário que o programador esteja atento para que a função 
retorne o tipo desejado. Por questões de leitura e compreensão do código, é 
interessante comentar (//) o tipo de retorno, mas isso não é obrigatório. 
 Toda função pode opcionalmente retornar um valor, ou simplesmente executar os 
comandos e não retornar valor algum. Não é possível que uma função retorne mais 
de um valor, mas é permitido fazer com que uma função retorne um valor composto, 
como listas ou arrays. Em outras palavras, não existe diferença formal entre 
procedimentos e funções. 
 A declaração do tipo de cada argumento também é utilizada apenas para efeito de 
documentação. 
 Em PHP é possível ter valores default para argumentos de funções, ou seja, valores 
que serão assumidos em caso de nada ser passado no lugar do argumento 
(function teste($php = “testando”)). Quando algum parâmetro é declarado 
desta maneira, a passagem do mesmo na chamada da função torna-se opcional. 
2.11 Trabalhando com Arrays 
O Array é um conjunto de elementos formado por pares de chaves e valores, ou 
seja, para acessar o valor de um elemento devemos informar a chave relacionada. 
Normalmente é usado para manipular grandes quantidades de informações, como 
leitura de informações de tabelas em Bancos de Dados por exemplo. 
Para criar um Array em PHP, podemos utilizar a função array. Basta passar a lista 
de valores como parâmetros (separados por vírgulas) conforme no exemplo a seguir. 
EADDCC035 – Programação para Web II 
28 
 
 
Figura 14 – Manipulação de Arrays 
As chaves de um Array também podem ser textos, ou seja, elas não estão 
limitadas aos números inteiros. Os Arrays que possuem chaves do Tipo string são 
chamados de Arrays Associativos, pois a deixam o código mais intuitivo (com 
associação mais visível). Vejamos um exemplo. 
 
Figura 15 – Manipulação de Arrays Associativos 
Os Arrays Associativos também podem ser multidimensionais. Vejamos um 
exemplo. 
 
Figura 16 – Manipulação de Arrays Associativos Multidimensionais 
Se quisermos saber a quantidade de itens num Array, podemos utilizar a função 
count(). A linha de código abaixo exemplifica o uso dessa função. 
$quantidade = count($times); 
EADDCC035 – Programação para Web II 
29 
 
2.12 Bibliotecas 
Quando estiver projetando seu site da Web, assim como nos programas 
convencionais, o uso de bibliotecas de funções é sempre interessante. Agora 
ampliamos a ideia de funções para trechos inteiros de código, mesmo sem fazer parte 
de uma função. Utilizamos duas formas de chamar esses códigos (armazenados em 
arquivos): require e include. 
Os recursos require( ) e include( ) são idênticos em todas as formas exceto pela 
manipulação de erros. include( ) produz Warning enquanto require() produzirá um Fatal 
Error. Em outras palavras, não hesite em utilizar require( ) para interromper o 
processamento de uma página pela falta de um arquivo, por exemplo. Podemos utilizar 
o require() de três formas distintas: 
<?php 
require 'teste.php'; 
require $arquivo; 
require ('arquivo.txt'); 
?> 
 
O recurso mais utilizado é o include( ). No exemplo a seguir vamos incluir 
cabeçalho e rodapé e um conjunto de variáveis. 
 
Figura 17 – Uso do include() 
Algumas considerações: 
 Podemos incluir um trecho de código em PHP ou mesmo HTML 
 A chamada do include pode ocorrer em qualquer parte do código. Exemplo, linha 
11. 
EADDCC035 – Programação para Web II 
30 
 
 É inclusão ao pé da letra, ou seja, no local da chamada é colocado o código 
correspondente. Observe o resultado da página exibição da página gerado pela 
solicitação do arquivo bibliotecas.php: 
<html> 
<body> 
<h1> Meu site </h1>Usuario ok!<br> 
<center> 
<p>---- meusite.com -----</p> 
</center></body> 
</html> 
 
 
Veremos mais adiante que podemos utilizar esse recurso 
para controlarmos as conexões de banco de dados de 
forma isolada do código de cada página. 
 
Para evitar a inclusão repetida de código (principalmente variáveis e funções), 
utilizamos o seguinte artifício: 
 require_once( ): Seu comportamento é similar ao da instrução require( ), a não ser 
que o arquivo informado já tenha sido incluído, não refazendo a operação 
novamente. 
 include_once( ): inclui e avalia o arquivo especificado durante a execução de um 
script. Seu comportamento é similar à instrução include( ), a não ser que o arquivo 
informado já tenha sido incluído, não refazendo a operação novamente. Como o 
nome sugere, ele será incluído apenas uma vez. 
2.13 Data e Hora 
Aqui é importante lembrar que, pelo fato de PHP ser server side (rodar no lado 
do servidor), toda vez que solicitarmos a data ou hora, estaremos consultando a hora 
do servidor. Isso é importante para diversas ações, principalmente para banco de ados 
e segurança, mas pode ser ruim quando queremos ter algum comportamento 
condicionado à hora/data do cliente (como no caso do recurso do gmail que faz com 
que a imagem de fundo apareça escura durante a noite e clara durante o dia). Para 
resolver esse tipo de caso, você pode utilizar uma linguagem que roda do lado cliente 
(navegador), como JavaScript por exemplo. No entanto, neste caso, se a data/hora do 
Sistema Operacional estiverem incorretas, as informações também serão exibida 
erradamente no site. 
EADDCC035 – Programação para Web II 
31 
 
O obtenção da data e hora é feita através da função date(). Observe o exemplo 
a seguir e entenda que o retorno da função está sendo uma string com os diversos 
componentes da data e hora no formato solicitado. 
 
Figura 18 – Exemplo de data e hora 
Uma lista resumida dos parâmetros para data e hora está na tabela abaixo, 
extraídos da página: http://php.net/manual/pt_BR/function.date.php. 
Tabela 5- Parâmetros da função date() 
Referente Caractere Descrição De Até 
Dia j Dia do mês sem preenchimento de zero 1 31 
d Dia do mês com preenchimento de zero 01 31 
Semana w Representação numérica do dia da semana 0 (domingo) 6 (sábado) 
L Dia da semana por extenso Sunday Saturday 
Mês n Representação numérica do mês sem preenchimento de zero 1 12 
m Representação numérica do mês com preenchimento de zero 01 12 
F Mês por extenso January December 
Ano Y Ano com quatro dígitos 
y Ano com dois dígitos 
Hora g Hora sem preenchimento de zero 1 12 
h Hora com preenchimentode zero 01 12 
G Hora sem preenchimento de zero 0 23 
H Hora com preenchimento de zero 00 23 
Minuto i Minuto com preenchimento de zero 00 59 
Segundo s Segundo com preenchimento de zero 00 59 
 
 
Desenvolva um script PHP que: 
1) Leia a data e informe a quantidade de dias faltam 
para o próximo natal. 
2) Leia s hora e informe a quantidade de segundos do 
dia atual já se passaram. 
 
 
EADDCC035 – Programação para Web II 
32 
 
3. Desenvolvimento Web com PHP 
Programar para a web pode ser considerado basicamente em receber os dados 
do usuário, processá-los e enviar uma resposta dinâmica. Uma vez enviada essa 
resposta é encerrado o contato entre o servidor e o cliente. Então o desafio inicial 
passa a ser: como receber uma requisição do cliente. 
Para enviar alguma informação do cliente para o servidor, o protocolo HTTP 
(utilizado nas páginas da web) permite dois métodos para enviar informações para o 
servidor web, além obviamente da URL referente ao arquivo solicitado. Esses métodos 
são o POST e o GET. 
3.1 Método GET 
 
A especificação do protocolo HTTP/0.9 (a primeira implementação do HTTP) 
possuía a definição do método GET, utilizado pelo browser para solicitar um 
documento específico. Por exemplo: a seguinte requisição HTTP retornaria o 
documento "index.html", localizado no diretório do servidor chamado “qualquer”: 
GET /qualquer/index.html CRLF 
 
Devemos notar que a requisição GET inicia com a palavra GET, inclui o 
documento solicitado e encerra com a combinação dos caracteres carriage return e line 
feed (nosso famoso enter). Para um melhor entendimento, você pode fazer uma 
requisição GET conectando diretamente em algum servidor WEB, conectando através 
de um programa de telnet (geralmente o servidor HTTP utiliza a porta 80). A resposta 
será o código da página solicitada, conforme apresentado a seguir. Aqui vale lembrar 
que a diferença do browser é que ele trata as informações recebidas e exibe a página 
já formatada. 
telnet www.guia-aju.com.br 80 
Trying 200.241.59.16... 
Connected to www.guia-aju.com.br. 
Escape character is '^]'. 
GET /index.php3 
(... página solicitada ...) 
Connection closed by foreign host. 
Através do método GET também é possível passar parâmetros da requisição ao 
servidor, que pode tratar esses valores e até alterar a resposta a depender deles, como 
EADDCC035 – Programação para Web II 
33 
 
no exemplo a seguir. No exemplo são passados dois parâmetros: id e tipo. Esses 
parâmetros estão no formato conhecido por URLencode. 
telnet www.guia-aju.com.br 80 
Trying 200.241.59.16... 
Connected to www.guia-aju.com.br. 
Escape character is '^]'. 
GET /index.php3?id=0024horas&tipo=Taxi 
(... página solicitada ...) 
Connection closed by foreign host. 
 
Apesar de ser possível passar parâmetros utilizando o método GET, e com isso 
gerar páginas dinamicamente, este método tem pelo menos dois problemas que em 
determinadas circunstâncias podem ser considerados sérios: 
1) O GET permite uma quantidade de dados passados limitado a 1024 caracteres, o 
que pode não ser interessante/limitante em determinadas aplicações. 
2) Pelo fato das informações fazerem parte da URL, todos os dados podem ser vistos 
pelo usuário. Isso pode ser extremamente perigoso quando informações sigilosas 
estão envolvidas (senha, por exemplo). 
 
 
Através da captura desses dados via URL, diversas formas de 
invasões foram elaboradas e praticadas. 
 
 
 
3.2 Método POST 
A versão 1.0 do protocolo HTTP trouxe boas inovações ao mesmo. Uma delas foi 
a criação de headers nas mensagens de requisição e de resposta. Os headers são 
informações trocadas entre o navegador e o servidor de maneira transparente ao 
usuário, e podem conter dados sobre o tipo e a versão do navegador, a página de onde 
partiu a requisição (link), os tipos de arquivos aceitos como resposta, e uma série de 
outras informações. Desta forma, foi possível definir outro método de requisição de 
arquivos, que resolveu os principais problemas do método GET, o método POST. 
Através da utilização de headers é possível enviar os parâmetros da URL 
solicitada sem expor esses dados ao usuário e também sem haver um limite de 
tamanho. Uma conexão ao servidor HTTP utilizando o método POST seria algo 
semelhante ao que segue: 
EADDCC035 – Programação para Web II 
34 
 
telnet www.guia-aju.com.br 80 
Trying 200.241.59.16... 
Connected to www.guia-aju.com.br. 
Escape character is '^]'. 
POST /index.php 
Accept */* 
Content-type: application/x-www-form-urlencoded 
Content-length:22 
 
id=0024horas&tipo=Taxi 
 
(... página solicitada ...) 
Connection closed by foreign host. 
 
No trecho acima, a linha “Accept */*” informa os tipos de dados que podem ser 
enviados como resposta (no caso, todos). A linha “Content-type: application/x-
www-form-urlencoded” informa o tipo de dado que está sendo enviado (urlencoded). 
O terceiro header (“Content-length:22”) é o mais importante, pois informa o tamanho 
do corpo da mensagem, que contém os parâmetros. Após todos os headers há um 
salto de linha e então é iniciado o corpo da mensagem, no formato urlencoded. 
Obviamente o usuário não deve se preocupar com os headers, em codificar os dados 
ou em calcular o tamanho do corpo da mensagem. O navegador faz isso de maneira 
transparente. 
3.3 Utilizando GET e POST 
O método GET pode ser utilizado através da digitação de um endereço no local 
apropriado do navegador (barra de endereços) ou através de um hiperlink de uma 
página, ou seja, uma referência de uma página a outra. Nesses casos é preciso 
converter os dados para o formato urlencode. A terceira maneira de utilizar o GET é 
através de formulários HTML, e neste caso o usuário não precisa se preocupar com a 
codificação dos dados. A utilização de formulários HTML é a única maneira possível de 
submeter dados pelo método POST. 
3.3.1 Exemplo utilizando o método GET 
Vamos criar uma página PHP com o nome “dirigir.php”, coloque este arquivo 
dentro da pasta no servidor web. A Figura a seguir apresenta o código e a execução do 
mesmo. Vale observar que na barra de endereços do navegador, passamos como 
parâmetro o valor a ser manipulado. 
EADDCC035 – Programação para Web II 
35 
 
 
Figura 19 – Exemplo de uso do método GET 
Na linha 8 utilizamos $_GET[“idade”] para “pegar” o valor do parâmetro idade 
recebido através do parâmetro colocado na URL (http://localhost/dirigir.php?idade=10). 
Observe nos “prints” da Figura que conforme o valor passado como parâmetro, a frase 
a ser impressa é diferente. Na última tentativa de execução não passamos a variável 
idade como parâmetro e durante a execução do código PHP, a tentar “pegar” essa 
variável ($_GET[“idade”]), é gerado um erro de execução. 
Quando queremos passar mais de um parâmetro utilizamos ‘&’ entre eles. Por 
exemplo: 
http://localhost/dirigir2.php?idade=10&nome=Ze 
 
 
Gere o código “dirigir.php” e, após sua chamada pelo 
navegador, mande exibir o código fonte recebido. 
Você perceberá que o HTML recebido não contém os 
detalhes de codificação do PHP, mas somente os 
textos gerados. Essa é a ideia: a complexidade da 
aplicação fica em PHP e o usuário somente visualiza 
e manipula o resultado dessa execução. 
 
EADDCC035 – Programação para Web II 
36 
 
3.3.2 Exemplo utilizando o método POST 
Como comentamos anteriormente, o método GET não é um método seguro para 
envio de informação, pois qualquer usuário poderá visualizar o valor que está sendo 
passado e alterá-lo ou roubar essas informações. Por exemplo, não deveríamos passar 
uma senha via método GET. Para tornar o envio de informaçãoum pouco mais seguro, 
podemos utilizar o método POST como forma de envio, pois os dados são enviados de 
forma oculta ao usuário comum. Para usar o método POST como forma de envio, 
devemos utilizar formulários HTML. 
Vamos exemplificar o uso do POST. Primeiramente iremos criar um formulário, 
chamado dados.html, contendo o seguinte código: 
 
Figura 20 – Arquivo dados.html 
No arquivo dados.html podemos observar: 
 Uso da tag <form></form> 
 Botão do tipo submit (linha 10), indicando que após o usuário clicar no botão, 
alguma ação (action) deverá ser executada. 
 Duas informações definidas pelas tags input do tipo texto (type=”text”) nas linhas 8 
e 9, chamadas respectivamente de nome e idade. 
 Parâmetro action da tag form, indicando quem (no nosso caso qual arquivo PHP) 
receberá os dados do formulário (nome e idade) após o usuário clicar no botão “ok” 
(submit). No nosso exemplo será chamado o arquivo “meusdados.php” que está 
localizado no mesmo diretório de dados.html. 
EADDCC035 – Programação para Web II 
37 
 
 Como esses parâmetros serão passados é definido pelo parâmetro method da tag 
form. No nosso exemplo o definimos como POST. 
Vamos agora criar o código do arquivo meusdados.php, que é o responsável por 
receber e tratar os dados enviados por dados.html. 
 
Figura 21 – código php do arquivo meusdados.php 
O destaque para o código do arquivo meusdados.php é para as linhas 8 e 9, nas 
quais recebemos os valores passados por parâmetro. Observe que o nome da variável 
deve ser exatamente o mesmo da variável criada no formulário que passará os dados. 
A seguir temos exemplos da execução desse exemplo: 
 
Figura 22 – Execução do exemplo do POST 
EADDCC035 – Programação para Web II 
38 
 
 
Assim como nos exemplos anteriores, verifique como o 
código HTML apresentado no cliente, referente à 
execução do arquivo meusdados.php, ficou simples e sem 
nenhuma referência aos parâmetros recebidos e lógica 
implementada. 
 
 
Como exercício, gere uma calculadora simples, na 
qual o usuário fornece, via formulário HTML, dois 
valores e uma operação (+, -, *, /). Um arquivo 
chamado calculadora.php deve receber esses 
parâmetros e apresentar o cálculo correto ( conforme 
a operação solicitada no formulário HTML). 
 
 
3.4 Resumindo o uso de formulários 
Como podemos ver nos exemplos anteriores, o uso de formulários são de 
grande utilidade na Web, pois permitem a interatividade entre o usuário e o servidor, 
coletando dados fornecidos pelo usuário. Podendo com isso, ler e gravar informações 
em Banco de Dados, gerando enormes possibilidades de uso para a Internet. O 
esquema de ações disparadas por um formulário HTML é visto na Figura a seguir. 
 
Figura 23 – Servidor web 
Estas ações podem ser assim descritas: 
 PASSO 1: O usuário preenche os dados do formulário e aciona o botão Submit 
(post, enviar ou outro nome utilizado). 
 PASSO 2: O navegador pega os dados do formulário. 
EADDCC035 – Programação para Web II 
39 
 
 PASSO 3: Se tiverem scripts (javascript) associados ao formulário, estes são 
executados. 
 PASSO 3.5: Dependendo do script, o navegador poderá alertar o usuário de algum 
erro de preenchimento e voltamos ao PASSO 1. 
 PASSO 4: O navegador envia os dados para o servidor de páginas (servidor 
WWW) via Internet, através de uma requisição HTTP, solicitando como resposta 
uma página. 
 PASSO 5: Os dados do formulário chegam ao servidor e são manipulados pelo 
servidor de páginas que os repassa à página mencionada no campo action do 
formulário. 
 PASSO 6: Caso a página que recebeu os dados do formulário contenha algum 
script, o servidor o executa. 
 PASSO 7: Caso o script necessite dados de/para o banco de dados, é feito esse 
acesso. 
 PASSO 8: O servidor de páginas envia para o computador a página solicitada. 
 PASSO 9: O computador recebe a página solicitada pelo formulário. 
 PASSO 10: O navegador exibe os dados da página recebida. 
Alguns aspectos importantes sobre um formulário: 
1) Delimita-se uma área de interação através das tags <form> e </form>; 
2) Os atributos ACTION (pra quem) e METHOD (como) devem ser definidos; 
3) Dentro do form, são colocados os elementos de interação da HTML, formando assim 
os campos do formulário; 
4) Este formulário deve conter um botão que ative a ação de enviar (“postar”) o 
formulário, ou seja, enviar os dados preenchidos pelo usuário para que o script (cgi, 
asp, php, jsp, etc.) possa processar esses dados e retornar um resultado, conforme 
programação pré-estabelecida no script. 
 
 
Faça uma leitura detalhada de revisão sobre como 
manipular formulários em HTML. A apostila de 
Programação para Web I contém esse material. 
 
 
 
EADDCC035 – Programação para Web II 
40 
 
4. Sessões e Cookies 
Cookies e Sessões são uma maneira de preservar certos dados (variáveis) 
através de acessos subseqüentes. Este tipo de recurso é muito interessante quando, 
por exemplo, o usuário informa seu nome ou “loga” no sistema e queremos utilizar suas 
informações pessoais nas diversas páginas do site. Desta forma podemos construir 
aplicações mais personalizadas e aumentar a atração do site. 
O Cookie é um arquivo que é armazenado no computador do usuário e será 
checado sempre que se quiser realizar alguma operação. Já a Sessão é mais 
complexa, pois consiste num mecanismo (de rede) de confiança entre a máquina do 
usuário e o servidor. 
Tabela 6 – Cookies x Sessão 
Características Cookies Sessão 
Localização Máquina do usuário Servidor 
Dependência 
Depende da habilitação do recurso 
(conFiguração do navegador + anti-
vírus+firewall) 
ConFiguração do servidor. 
Estabilidade 
Não garante o funcionamento, pois depende 
totalmente de conFigurações da máquina do 
usuário. 
Maior estabilidade. 
Segurança Depende totalmente de cada usuário. 
Mecanismo muito utilizado por bancos e e-
commerce, pois concentra a maior parte da 
segurança no servidor. 
Sobrecarga Armazenamento na máquina do usuário. 
Rede e processamento devido às diversas 
sessões que podem estar ativas num 
determinado instante. 
 
4.1 Cookies 
Vamos elaborar um exemplo de uso de cookies. Para tal vamos fazer uso de 
uma recursividade, ou seja, a página PHP sempre chama a si mesma e somente será 
redirecionada para outra página quando a situação desejada ocorra (usuário e senha 
corretos). Assim, no nosso exemplo, enquanto o usuário não estiver fornecendo login e 
password corretos, ele ficará na mesma página. A Figura a seguir ilustra um grafo de 
execução desse acesso. 
 
 
 
Figura 24 – Esquema de funcionamento do nosso Cookie 
 
login.php 
Login ou password 
errado(s) 
 
verificada.php 
Login e password corretos 
Sair (deslogar) 
EADDCC035 – Programação para Web II 
41 
 
Inicialmente o usuário entra na página de acesso ao sistema (login.php). Ele 
deverá fornecer usuário e senha para que tenha acesso à área restrita (verificada.php). 
Caso não forneça usuário e senha corretos, ele continua na página de login. Ao 
fornecer um usuário e senha corretos, é criado um cookie chamado “acesso” e o 
usuário é direcionado automaticamente para a área restrita. Toda vez que essa área for 
acessada, a primeira ação é verificar se existe o cookie de acesso. Ao sair da área 
restrita (deslogar), o cookie é removido e o sistema volta automaticamente para a 
página de login. Algumas considerações: 
 Não estamos limitando a quantidade de tentativa de acesso. Em situações reais, 
essa quantidade de tentativas é controlada para evitar a situação de alguém querer 
adivinhar uma senha. 
 O usuário e a senha estão armazenados no próprio código. Em situaçõesreais isso 
é feito via banco de dados (que aprenderemos a manipular mais a frente). 
 Não utilizaremos o recurso de “tempo de vida” do cookie. Assim, se o usuário logar 
e ficar com o computador ligado um mês, o acesso continua ativo. 
 O cookie pode armazenar mais de uma informação, o que não é tão comum. 
 Podemos utilizar vários cookies. Por exemplo, um para dizer se o usuário está 
logado, outro para identificar o usuário e outro para identificar sua idade. 
Vamos começar a analisar o código, começando pela página login.php. 
 
Figura 25 – Código da página login.php 
EADDCC035 – Programação para Web II 
42 
 
Vamos fazer algumas observações sobre esse código: 
 Antes da primeira execução, vamos verificar que não existe um cookie chamado 
acesso e criado pelo site “localhost”. Observe que para cada navegador web, você 
terá uma forma diferente de exibir os cookies presentes. 
 
Figura 26 – Verificação dos cookies ativos com nome *acesso* 
 Na primeira vez que for executada (sem o envio dos dados do formulário), a 
condição da linha 5 (if(isset($_POST["envia"]))) retornará falso e todo o 
processo de verificação do usuário e senha e criação do cookie não ocorrerá. Como 
a variável $valor está vazia (linha 2), a condição da linha 22 retornará falso e o 
desvio não será efetuado. Como também não temos nenhum erro de acesso, nada 
será impresso na linha 25. Somente o formulário será exibido. 
 
Figura 27 – Primeira execução da página login.php 
 A partir do momento que alguém tentar logar (fornecer os dados para o formulário e 
clicar no botão “login”), a linha 5 retornará verdadeiro e então o código de verificação 
do usuário e senha será executado. Caso algum dos dados fornecidos esteja 
incorreto, o cookie não será criado e uma mensagem de erro (linhas 15 e 16) será 
definida. Como o cookie não foi criado, o redirecionamento de página da linha 22 
não ocorrerá, mas a mensagem de erro será impressa na linha 25. O formulário será 
novamente exibido, solicitado uma nova entrada de dados. 
EADDCC035 – Programação para Web II 
43 
 
 
Figura 28 – Resultado do fornecimento correto de login e password 
 Agora considere que os dados fornecidos estejam corretos. O formulário chama 
novamente a página login.php (linha 30 - action="login.php"). A linha 5 retornará 
verdadeiro e então o código de verificação do usuário e senha será executado. 
Como usuário e senha estarão corretos (linha 10), será atribuído o valor “OK” à 
variável $valor e será criado o cookie chamado “acesso” (linha 13). Ao chegar na 
linha 22, como a variável $valor recebeu “OK”, a condição será verdadeira e a 
página será redirecionada para “verificada.php” (apresentado mais a frente). 
 
Figura 29 – Acesso permitido 
 Agora vamos observar o cookie criado, vide Figura a seguir. Um ponto interessante 
a ser observado são as propriedades do cookie, com destaque para Valor e 
Validade. Em http://php.net/manual/pt_BR/function.setcookie.php você aprenderá 
diversas formas de criação de um cookie e todos os seus parâmetros. No nosso 
exemplo não colocamos um tempo ou data de expiração para o cookie. 
 
Figura 30 – Cookie criado pela nossa aplicação 
EADDCC035 – Programação para Web II 
44 
 
Agora vamos ver o código da página verificada.php. 
 
Figura 31 – Código da página verificada.php 
Observações sobre a página verificada.php: 
 A ideia é similar à pagina de login, pois existe também a recursividade, mas agora 
com o intuito de limpar o cookie (linha 6) quando o usuário pretende sair (deslogar) 
(linhas 22 a 24). 
 Quando a página é chamada pela página login.php ou mesmo diretamente 
(experimente fazer isso sem logar para ver o que acontece), a condição da linha 3 
retorna falso e as linhas 4 a 7 não serão executadas. A condição da linha 8 testará a 
existência do cookie “acesso”. Em caso positivo, será verificado o seu conteúdo 
(linha 11). Caso o cookie não exista ou o seu conteúdo não seja o esperado, a 
variável $logout receberá o valor “sim”. Caso esteja tudo correto (exista o cookie e 
seu conteúdo está conforme o esperado), o conteúdo da página será apresentado. 
Caso contrário, a condição da linha 17 será satisfeita e o usuário será redirecionado 
para a página login.php para um novo acesso. 
 Quando o usuário estiver com acesso à página e resolver sair, ele clicará no botão 
“Sair” (linha 23) e, ao ser chamada novamente a mesma página, será verificado 
(linha 3) que o usuário pediu para deslogar e portanto temos que sinalizar sua saída 
(linha 5) e limpar o cookie (linha 6). Posteriormente ele será redirecionado para a 
página de login (linha 17). 
EADDCC035 – Programação para Web II 
45 
 
Observe que a ideia base da página verificada.php pode se 
propagar para diversas páginas, ou seja, o controle de 
verificação do cookie e saída poderia bem estar em 
arquivos adicionais e inseridos nas demais páginas através 
de include()! 
 
Desafios para melhorar o entendimento de manipulação de cookies: 
 Tente atribuir um tempo para o seu cookie e ver se funcionou (utilize um tempo bem 
pequeno) 
 Adicione mais de um usuário ao sistema 
 Coloque mais de uma página no sistema após o usuário estar logado. Dica: coloque a 
parte de sair e verificação em arquivos adicionais e chame-as através de include() 
 Crie outro cookie com o login do usuário e imprima-o em todas as páginas do sistema. 
 
4.2 Sessão 
As sessões são mais seguras do que os cookies, pois o seu controle se encontra 
do lado do servidor, minimizando falhas durante a execução (o usuário pode ter 
desabilitado o uso de cookies) e a obtenção dos dados colocados no cookie de forma 
indevida (hackers). Observe que atualmente é comum nos depararmos com sessões 
para acesso à internet banking e sites de e-commerce. Quem já não se deparou com 
uma mensagem do tipo “Sessão expirada, favor logar novamente”? 
É importante lembrar que uma sessão é estabelecida entre a máquina do usuário 
e o servidor através de recursos de rede (lembre-se da pilha TCP/IP e do modelo OSI 
que aprendemos em Fundamentos de Redes de Computadores). Portanto, estamos 
acessando recursos de rede de forma transparente, somente chamando funções 
específicas que têm acesso a esses recursos. Mantemos somente uma sessão entre 
um computador e um servidor num determinado instante e essa sessão pode conter 
diversos tipos de informações que nos auxiliam no processo de segurança do sistema. 
O nosso de sistema de sessão será simplificado (sem aspectos avançados de 
segurança), devido à natureza da nossa disciplina e nosso estágio atual de 
aprendizagem. Observe o esquema geral do sistema: 
 
 
 
 
Figura 32 – Esquema geral do sistema controla por sessão 
Usuário ou senha incorreto(s) 
Solicita acesso ao 
sistema 
login.php verifica.php 
sessao.php 
<biblioteca> 
continua.php 
logout.php 
Sair do 
sistema 
Usuário e senha 
corretos 
EADDCC035 – Programação para Web II 
46 
 
De forma geral, o usuário fornecerá um usuário e senha na página login.php. 
Estes dados serão direcionados para a página verifica.php, com o intuito de verificar se 
o usuário e senha são válidos e em caso positivo, criar uma sessão para esse e o 
sistema será redirecionado automaticamente para a página continua.php. Caso 
contrário, o sistema será redirecionado novamente para a página de login. Quando o 
usuário estiver logado (continua.php), ele poderá continuar usando o sistema (continuar 
na página continua.php) ou sair do sistema (link para a página sair.php). A página 
sair.php finalizará a sessão e irá automaticamente para a página de login. Todas as 
funcionalidades de manipulação da sessão estão na nossa biblioteca(sessão.php). 
Vejamos agora aos arquivos e sua forma de funcionamento. Vamos iniciar ver o 
arquivo sessao.php. 
 
Figura 33 – Código da biblioteca sessao.php 
Este arquivo será utilizado como biblioteca para acesso aos recursos de nossa 
sessão. São três funções, a saber: 
 Sessao_Login(): No nosso exemplo, temos somente dois usuários válidos e cada 
um tem um tipo diferente (somente como exemplo). Caso o conjunto usuário e 
senha recebidos como parâmetro na função estiverem corretos, a variável 
$TipoUsuario receberá um ou dois. Se estiver válido, habilitaremos três variáveis 
EADDCC035 – Programação para Web II 
47 
 
para essa sessão: login (com o nome do usuário), TipoUsuario (valendo 1 ou 2) e 
valor (com um valor diferente para cada tipo de usuário). 
 Sessao_Verifica(): Caso a sessão esteja ativa e com uma das variáveis válidas 
(fazemos a verificação do login, pois é o único valor igual para os dois tipos de 
usuário) é retornado true (um), caso contrário retorna false (zero). 
 Sessao_Logout(): Tem como função, limpar as variáveis da sessão e 
posteriormente destruí-la (recurso da rede). Utilizamos a verificação de uma variável 
extra ($op), somente para demonstrar que ações desse tipo podem ser realizadas 
(a sessão só será destruída se um código específico for informado). 
A página de login.php não tem recursos especiais e poderia até mesmo ser 
desenvolvida em HTML puro. Basicamente é um formulário para solicitar usuário e 
senha e posteriormente enviar isso para uma rotina de verificação (verifica.php). 
 
Figura 34 – Página de login 
 
 
 
 
 
 
 
 
 
 
 
 
EADDCC035 – Programação para Web II 
48 
 
5. Banco de Dados 
Até agora vimos os comandos e sintaxe do PHP, mas o PHP não teria grande 
serventia se não houvesse a integração com um banco de dados. Os Bancos de Dados 
são responsáveis por armazenar os dados que serão exibidos no site. Isso significa 
que você tem uma página que pega a informação de um banco de dados e a insere em 
seu conteúdo a cada vez que é carregada. 
O MySQL é um sistema de gerenciamento de banco de dados de código-fonte 
aberto popular geralmente utilizado em aplicações Web devido à sua velocidade, 
flexibilidade e confiabilidade. O MySQL emprega a linguagem SQL, ou Structured 
Query Language, para acessar e processar os dados contidos em bancos de dados. 
Através do uso de um banco de dados podemos responder de forma rápida e 
fácil questões como, qual de seus produtos está vendendo melhor ou que tipo de 
clientes gasta mais. 
5.1 Conceitos de Banco de Dados 
Um banco de dados é um conjunto de informação organizada de maneira que 
possa ser utilizada eficientemente. Um diretório telefônico é um bom exemplo de um 
banco de dados. Outros exemplos são um dicionário, um calendário ou um livro de 
receitas. 
A informação em um banco está organizada em forma de registros. Cada 
registro contém toda a informação sobre uma pessoa ou um elemento do banco. Por 
exemplo, cada registro no diretório telefônico contém um nome, endereço e número 
telefônico de uma pessoa. 
Cada registro contém campos. Um campo é utilizado para armazenar o 
endereço e outro campo para armazenar o número telefônico da pessoa. Cada registro 
contém cada um destes campos e cada registro pode ter informação nestes campos. 
O nome de um campo geralmente identifica a informação armazenada no 
campo. Por exemplo, os campos podem se chamar Nome, Endereço ou Número 
telefônico. Cada campo tem um tipo que identifica a classe de informação que pode ser 
armazenada: números, datas, caracteres alfanuméricos e outros. Como cada campo 
contém um tipo específico de dados, você pode realizar cálculos e outras operações 
com a informação guardada neles. Por exemplo, pode somar os números dos campos. 
EADDCC035 – Programação para Web II 
49 
 
Pode comparar a data de um campo com a de outro. Pode mostrar o nome de uma 
pessoa (armazenado em um campo) depois de seu sobrenome (armazenado em outro 
campo) para construir a primeira linha de uma etiqueta de correio. 
O conjunto de registros que utilizam os mesmos campos forma uma tabela. 
Cada banco de dados pode ter muitas tabelas. A Figura 35 ilustra como se relacionam 
estes conceitos 
 
Figura 35 – Esquema de um Banco de Dados 
No banco de dados acima podemos observar que estamos armazenando às 
informações das notas dos alunos, e de suas disciplinas. Assim temos no banco de 
dados uma tabela que guarda as disciplinas cursadas por alunos. Essa tabela possui 
os campos para armazenar a disciplina, os alunos e suas três notas. 
 
 Desafio: 
 
1) Proponha os campos necessários para armazenar os dados dos veículos de uma 
concessionária. 
 
 
5.2 Integração PHP com MySQL 
5.2.1 Criação do Banco de Dados 
Para começar a integração do php com o mySQL precisamos criar o banco de 
dados, para isto iremos utilizar o phpMyAdmin, um cliente amigável de banco de dados 
que permite a manipulação do mySQL. Geralmente o phpMyAdmin pode ser acessado 
através do endereço: http://localhost/phpmyadmin. 
EADDCC035 – Programação para Web II 
50 
 
 
Figura 36 – Página inicial do PHPMYADMIN 
 
O phpmyadmin pode apresentar algumas variações em 
relação à interface apresentada acima, devido a versão ou 
ao programa utilizado para sua instalação. A versão 
utilizada na elaboração desta apostila foi a versão 3.4.5 
 
 
Observe que não estamos interessado em como instalar o 
phpMyAdmin, geralmente ele já estará instalado caso você 
faça uso desses programas que fará a instalação completa 
do php. 
 
 
 
 Pesquise: 
 
 1) Pesquise outros programas que podem ser utilizados para criar banco de dados no 
mysql 
2) Pesquise a respeito dos programas, Xampp, easyPHP, entre outros. Para que eles 
servem? 
 
 
Para criar o banco de dados, clique na opção de banco de dados, defina seu 
nome, e aperte o botão criar, conforme ilustração abaixo. Crie um banco de dados 
chamado BD_LPII. 
 
EADDCC035 – Programação para Web II 
51 
 
 
Figura 37 – Criando o banco de dados 
Após a confirmação o banco estará criado, e na barra lateral constará o nome do 
banco. 
 
Figura 38 – Banco de dados criado 
Ao clicar no banco de dados podemos adicionar as tabelas contidas nesse banco 
de dados, no caso, a tabela disciplina. Clique no link SQL, para executar o comando de 
criação de tabelas. 
 
Figura 39 – Acesso aos comandos SQL 
Nome do Banco 
de dados 
Não há tabelas 
criadas 
Permitirá a execução dos 
comandos SQL. 
EADDCC035 – Programação para Web II 
52 
 
Digite o comando de criação da tabela disciplina na área apresentada na Figura 
40. 
 
Figura 40 – Área de comandos SQL 
 
Figura 41 – Comando SQL para a criação da tabela 
Após a execução do comando acima a tabela estará criada. 
 
Figura 42 – Tabela criada e disponível para manipulação 
 
 
EADDCC035 – Programação para Web II 
53 
 
Cliquando sobre a tabela podemos observar a estrutura criada para a tabela. 
 
Figura 43 – Visualização da estrutura da tabela 
Após a criação do Banco de dados acima, estamos prontos para criar nossas 
primeiras páginas php que acesse e armazene os dados nessa tabela. 
5.2.2 Inserindo registro na tabela no Banco de Dados 
Agora vamos criar uma página php que permita a inclusão de registros nessa 
tabela. Veja o código da página php que fará a entrada dos dados na tabela. 
 
Figura 44-a – Formulário para inserção de dados na tabela 
 
Figura 44-b – Formulário para inserção de dados na tabela 
EADDCC035 – Programação para Web II 
54

Continue navegando