Professional Documents
Culture Documents
Programao Web
Rafael Lucchesi
Diretor do Departamento Nacional do SENAI
Alcantaro Corra
Presidente da Federao da Indstria do Estado de Santa Catarina
Programao Web
Silvio Luis de Sousa
Florianpolis/SC
2011
proibida a reproduo total ou parcial deste material por qualquer meio ou sistema sem o prvio consentimento
do editor.
Autor
Silvio Luis de Sousa
Fotografias
Banco de Imagens SENAI/SC
http://www.sxc.hu/
http://office.microsoft.com/en-us/ images/
http://www.morguefile.com/
http://www.bancodemidia.cni.org.br/
Ficha catalogrfica elaborada por Luciana Effting CRB14/937 - Biblioteca do SENAI/SC Florianpolis
S725p
Sousa, Silvio Luis de
Programao web / Silvio Luis de Sousa. Florianpolis : SENAI/SC/DR,
2011.
127 p. : il. color ; 30 cm.
Inclui bibliografias.
1. Programao (Computadores). 2. Sites da web - Desenvolvimento. 3.
Folhas de estilo. 4. HTML (Linguagem de programao de computador). 5.
PHP (Linguagem de programao de computador). I. SENAI. Departamento
Regional de Santa Catarina. II. Ttulo.
CDU 004.43
Prefcio
Voc faz parte da maior instituio de educao profissional do estado.
Uma rede de Educao e Tecnologia, formada por 35 unidades conectadas e estrategicamente instaladas em todas as regies de Santa Catarina.
No SENAI, o conhecimento a mais realidade. A proximidade com as
necessidades da indstria, a infraestrutura de primeira linha e as aulas
tericas, e realmente prticas, so a essncia de um modelo de Educao
por Competncias que possibilita ao aluno adquirir conhecimentos, desenvolver habilidade e garantir seu espao no mercado de trabalho.
Com acesso livre a uma eficiente estrutura laboratorial, com o que existe
de mais moderno no mundo da tecnologia, voc est construindo o seu
futuro profissional em uma instituio que, desde 1954, se preocupa em
oferecer um modelo de educao atual e de qualidade.
Estruturado com o objetivo de atualizar constantemente os mtodos de
ensino-aprendizagem da instituio, o Programa Educao em Movimento promove a discusso, a reviso e o aprimoramento dos processos
de educao do SENAI. Buscando manter o alinhamento com as necessidades do mercado, ampliar as possibilidades do processo educacional,
oferecer recursos didticos de excelncia e consolidar o modelo de Educao por Competncias, em todos os seus cursos.
nesse contexto que este livro foi produzido e chega s suas mos.
Todos os materiais didticos do SENAI Santa Catarina so produes
colaborativas dos professores mais qualificados e experientes, e contam
com ambiente virtual, mini-aulas e apresentaes, muitas com animaes, tornando a aula mais interativa e atraente.
Mais de 1,6 milhes de alunos j escolheram o SENAI. Voc faz parte
deste universo. Seja bem-vindo e aproveite por completo a Indstria
do Conhecimento.
Sumrio
Contedo Formativo
Apresentao
Finalizando
123
11
Referncias
125
12 Unidade de estudo 1
Quer Programar para
Internet?
13
Seo 1 - Tecnologias de
desenvolvimento para web
13
16
24 Unidade de estudo 2
Desenvolvendo
Aplicaes Dinmicas
para a Internet
25
25
48
59
Seo 4 - Linguagem de
programao PHP
88 Unidade de estudo 3
Exemplo Prtico
89
Seo 1 - Abordagem da
aplicao
89
Seo 2 - Desenvolvimento
da aplicao
Contedo Formativo
Carga horria da dedicao
Carga horria: 150 horas
Competncias
Desenvolver aplicaes para web.
Conhecimentos
Aplicaes cliente-servidor.
Tecnologias de desenvolvimento para web.
Requisies remotas.
Controle de sesses.
Arquitetura de sistemas web.
Habilidades
Analisar e implementar as tecnologias de desenvolvimento para web.
Utilizar os padres de projeto em aplicaes web.
Utilizar normas de Segurana da informao na web.
Atitudes
Organizao e zelo na utilizao de equipamentos.
Foco no contedo trabalhado.
Acesso a stios relacionados ao tema trabalhado.
Organizao e limpeza dos ambientes coletivos.
Dedicao e empenho nas atividades curriculares e extracurriculares.
Capacidade de abstrao.
Trabalho em equipe.
Apresentao de novas solues para situaes problemas.
Cumprimento de prazos.
Anlise crtica de suas produes.
PROGRAMAO WEB
Apresentao
O que acha de compreender os fundamentos de programao para web
a partir do conhecimento do ambiente e seus elementos, das tecnologias de software bsicas, de tcnicas de programao para aperfeioar as
rotinas de programas e como publicar seu web site?
Fica aqui um convite para que compartilhe destes e outros conhecimentos na garantia de que possa iniciar sua caminhada como desenvolvedor
web.
O mercado de desenvolvimento para aplicaes web crescente, mas s
sobrevive aquele que trabalha com qualidade e sabe que em programao, conquistar qualidade conhecer os fundamentos das linguagens,
praticar muito e estar atualizado buscando novos recursos para dinamizar suas aplicaes. Desta forma est preparando-se para desenvolver
habilidades como, analisar e implementar as tecnologias de desenvolvimento web a partir de padres de projetos pr-definidos buscando implementar ao mximo normas de segurana da informao.
Sua trajetria de aprendizagem ser ainda mais prazerosa se os seus momentos de estudos forem regados de motivao, disciplina e autonomia.
Bons estudos!
PROGRAMAO WEB
11
Unidade de
estudo 1
Sees de estudo
Seo 1 Tecnologias de desenvolvimento para
web
Seo 2 Ambiente de desenvolvimento web
Seo 3 Instalao do ambiente de desenvolvimento web
importante tambm compreender que alm das tecnologias destacadas como objeto de estudo,
existem vrias outras, mas ento
porque no estud-las tambm?
Bom, como esta unidade curricular
contempla 150 horas de estudos e
o compromisso que voc aprenda
a desenvolver aplicaes para a
Internet, ento sero adotadas as
tecnologias que julgamos serem
as mais viveis neste processo de
aprendizagem, sendo que, uma
vez que se desenvolva bem, ser
capaz de absorver e desenvolverse satisfatoriamente, em qualquer
outra tecnologia.
Voc precisa ter a conscincia de
que est em um processo de aprendizado, ento notar que em toda
e qualquer rotina de programao
ter que escrever os cdigos, isto
para que pratique e conhea ao
mximo das linguagens que estar
trabalhando, assim, quando fizer
uso de ferramentas de produtividade, saber customiz-la uma
vez que domina o cdigo que
gerado pelas mesmas. Inicialmente pode parecer desagradvel, mas
quando tiver mais experincia e
se deparar com a necessidade de
customizar o cdigo gerado por
uma ferramenta, perceber a importncia do assunto.
O que acha de comear logo o
processo? Ento, vamos para a
prxima sesso!
Seo 2
Os componentes envolvidos no
ambiente web so:
PROGRAMAO WEB
13
SAIBA MAIS
Para saber mais sobre o
servidor web Apache, visite o site <http://httpd.
apache.org>.
Servidor MySQL um
servidor de banco de dados e a
exemplo do servidor Apache, de
cdigo aberto, distribudo gratuitamente na internet e podendo
ser utilizado localmente.
Acesse <http://php.net>.
SAIBA MAIS
Para saber mais sobre o
servidor MySQL, visite o
site <http://mysql.org>.
14
SAIBA MAIS
Perceba que a figura anterior permite visualizar todos os componentes do ambiente de desenvolvimento e execuo de aplicaes,
como funcionam, na prtica, as
aplicaes web e qual o papel dos
componentes envolvidos.
Tambm, a partir da figura, voc
pode verificar que o ambiente
dividido em 2, por um lado o
cliente da aplicao que far as
solicitaes ao servidor web e por
outro, o servidor, que por sua vez,
o local onde as aplicaes so
executadas a partir da solicitao
do cliente. Ento podemos definir
que o ambiente web dividido em
lado cliente e lado servidor, esse
um assunto a ser detalhado mais
adiante em nosso estudo.
Funcionamento de
uma aplicao web.
1. O usurio cliente, por meio de
um navegador, faz a solicitao
ao servidor web.
2. O servidor web, por sua vez, recebe essa solicitao ou requisio e de acordo com o que
foi requisitado, executa uma
determinada tarefa. Caso seja
a requisio de um arquivo em
HTML ou figura, ele consulta o sistema de arquivos, esse
arquivo estando disponvel,
retornado ao usurio cliente.
Se a requisio for de um arquivo com extenso especial,
PROGRAMAO WEB
15
Agora que conhece bem sobre o ambiente de desenvolvimento e execuo de aplicaes web voc convidado a acompanhar os conhecimentos
da prxima sesso que sero muito importantes para que possa preparar,
na prtica, o ambiente web. Preparado para mais este desafio?
Seo 3
16
Pacotes de software
Sobre a instalao do ambiente
a partir de pacotes de softwares
comentam Melo e Nascimento
(2007, p. 31)
Existem alguns projetos para manuteno e pr-configurao de
ambientes LAMP e WAMP. Na
grande maioria dos casos, eles
podem ser baixados gratuitamente em seus sites oficiais pela
internet. A grande vantagem da
instalao de um servidor por
este mtodo em relao ao
tempo demandado e a facilidade em sua execuo. a opo
mais recomendada para usurios
inexperientes no ambiente, [...].
Instalao manual
Sobre este mtodo de instalao
Melo e Nascimento (2007, p. 34)
comentam
Esta certamente a forma mais
flexvel de instalao do servidor,
uma vez que cada componente
do ambiente LAMP ou WAMP
instalado e parametrizado de
maneira manual e individual pelo
prprio usurio.
em http://php.net;
PROGRAMAO WEB
17
Sendo assim, se voc optar pela instalao manual confira a seguir alguns
links teis que orientam tais instalaes.
Ambiente LAMP
<http://www.phpbrasil.com/articles/article.php/id/492>.
<http://www.vivaolinux.com.br/artigo/Ambiente-LAMP-no-
-Debian/>.
<http://www.vivaolinux.com.br/artigo/Instalando-Apache2-
-PHP4-e-MySQL/>.
Ambiente WAMP
<http://www.portaldigidesign.com.br/showarticle.
php?articleID=25>.
<http://www.imasters.com.br/artigo/1309>.
<http://phpbrasil.com/articles.php/id/847>.
18
Preparando o nosso
ambiente web
Seu estudo far uso de pacotes de
software justamente pelo fato de
voc ainda no ter muita experincia para instalar um ambiente
manual. Utilizaremos o pacote
do Vertrigo, por ser um pacote
bastante estvel, principalmente
no Windows 7 Ultimate, que a
plataforma utilizada para o seu
estudo.
Voc estar trabalhando em um
ambiente web de forma local, portanto, como procedimento inicial
deve fazer o download do Vertrigo,
de preferncia em seu site oficial.
Aps o download, deve instalar,
preferencialmente, na pasta Arquivos de Programas, feito isto
localize a pasta VertrigoServ e
acesse seu contedo, que apresenta a seguinte estrutura:
Phpmyadmin trata-se da
PROGRAMAO WEB
19
20
Tray icons
So mostradas as imagens de um
servidor com sinalizaes em verde, vermelho, amarelo e azul, isto
orienta voc sobre qual o status ou
estado dos servidores Apache e
MySQL, no momento em que o
Vertrigo executado.
Settings
a sesso que permite, em Program, voc modificar a configurao do
programa, como: status, estado inicial dos servidores, aparncia da apresentao dos menus de acordo com a verso do Windows utilizada, dentre outros. Alm disso, permite, em Extensions, configurar as extenses
de arquivos, aceitas para o servidor Apache e linguagem PHP. Tambm
permite configurar, em Components, os recursos do PHP, MySQL e Apache aceitos no ambiente e por ltimo, permite, em Aliases and dirs, configurar os caminhos e diretrios para acesso s pastas de publicao de
pginas, dos cones do servidor Apache, do utilitrio do Phpmyadmin e
do utilitrio do banco de dados Sqlitemanager.
Iniciando o Vertrigo
Para efetivar a execuo do Vertrigo e consequentemente a inicializao
dos servidores web Apache e de banco de dados MySQL, deve clicar com
o boto esquerdo do mouse, no boto Hide this window and start Server ,
localizado na base da janela do vertrigo, como mostra a figura anterior.
Aps o procedimento anterior, o Vertrigo entra em execuo e voc
pode visualizar, na barra de tarefas, do desktop do Windows, um cone
com a imagem de um servidor, sinalizando o status, ou estado, dos servidores naquele momento, como mostra a figura a seguir.
Documentation
Clique neste link para acessar a
ajuda do aplicativo, sugere-se que
realmente acesse essa ajuda para
que conhea mais detalhes sobre
o Vertrigo.
Aparentemente o seu ambiente est pronto para poder iniciar seus trabalhos, mas s ter certeza disto testando-o, ento, o que acha de partirmos agora para o teste do ambiente?
Apenas como informao, voc escrever um pequeno script em PHP
salvando-o no servidor Apache e para escrever as instrues desse script
utilizaremos o editor de texto Notepad++.
Para executar as aplicaes web desenvolvidas, utilizaremos o browser Mozilla Firefox.
2. Teste o ambiente web
PROGRAMAO WEB
21
execuo;
phpinfo();
22
<http://127.0.0.1/testeambiente/testeambiente.php>
DICA
Em caso de algum problema, certifique-se de que o
servidor web Apache est
iniciado, se sim, verifique se
cometeu algum erro ortogrfico no endereo digitado,
ou equivocou-se no nome
da pasta ou arquivo, se tudo
estiver ok e mesmo assim o
problema persistir, troque
o endereo ip 127.0.0.1 por
localhost.
3. Finalizando o VertrigoServ
Para finalizar o VertrigoServ faa o seguinte.
escolha o comando shutdown and exit, este comando desconecta o servidor e sai do VertrigoServ.
A partir dessa ao voc no conta mais com o ambiente web inicializado, ou seja, qualquer tentativa
de executar suas aplicaes web
no ser bem sucedida, para isto
deve executar novamente o Vertrigo.
Assim, voc chega ao fim desta
seo de estudo e com a certeza de que contribumos bastante
para o seu conhecimento em ambiente de aplicaes web. Agora
que j conhece o bsico necessrio para iniciar o estudo do desenvolvimento de aplicaes para
web, a partir da prxima unidade
voc conhecer as tecnologias referentes a linguagens de programao, que permitiro que voc
desenvolva web sites dinmicos,
softwares aplicativos e outros para a
internet. Vamos juntos para mais
um percurso de aprendizagem?
PROGRAMAO WEB
23
Unidade de
estudo 2
Sees de estudo
Seo 1 Abordagem inicial
Seo 2 Script HTML
Seo 3 Script CSS
Seo 4 Linguagem de programao PHP
Desenvolvendo Aplicaes
Dinmicas para a Internet
Seo 1
Abordagem inicial
A partir dos conhecimentos propostos para esta unidade, voc
ter condies de desenvolver
scripts web para o desenvolvimento
de pginas dinmicas para a Internet, bem como softwares aplicativos nos padres web.
A unidade prope levar a voc
os conhecimentos sobre as tecnologias de programao como:
HTML (importante na apresentao final das pginas web), CSS
(importante na implementao
de estilos nas pginas web), PHP
(linguagem dinmica que auxilia o
HTML no acesso a arquivos), validao e tratamentos de campos
de formulrios, acesso a banco de
dados, utilizao de cookies e sesses, dentre outras importantes
recursos.
importante que no decorrer dos
seus estudos voc pratique todos
os comandos, instrues e rotinas
apresentadas, pois para que possa
aprender para valer nada melhor do
que praticar. Lembre-se: desenvolva as atividades propostas para
adquirir volume e ritmo de trabalho
em programao.
Para a prtica dos conhecimentos
desta unidade utilize:
Seo 2
Script HTML
Esta seo prope o conhecimento bsico da HTML a partir de sua
definio, estrutura bsica, comandos e recursos, que permitam juntamente com as demais tecnologias a ser estudado, o desenvolvimento de
aplicaes web dinmicas.
Relembrando que para a prtica voc precisar de um editor de programas e um navegador internet, respectivamente, o Notepad++, Mozilla
Firefox e testes tambm no Internet Explorer.
PROGRAMAO WEB
25
Estrutura bsica de um
script HTML
Mas, antes da estrutura, importante que voc conhea a definio de TAG, j que este elemento
base de tudo nesta linguagem.
TAG
Chamada por alguns como marca
e por outros de rtulo, voc a utilizar em seu script para formatar
sua aplicao e tambm a partir
dela que aplicar os comandos
de formatao HTML que sero
interpretados pelo browser (navegador internet) para a reproduo
de pginas web.
Note que no exemplo voc encontra primeiramente a linha de comentrio que explica a funo da instruo, logo abaixo. Sintaxe de escrita
A linha de comentrio em HTML inicia com o smbolo <!--, seguida do
comentrio, sendo finalizada com o smbolo -->.
Cor em HTML
No sero poucos os momentos em que voc precisar atribuir cores em
sua pgina HTML, seja para atribuir cor ao texto, ao fundo da pgina,
tabelas e assim por diante.
Sendo assim, importante saber que as cores que voc utiliza podem ser
utilizadas em 2 formatos:
Bsico
26
A instruo <font color = red> aplica ao texto HTML a cor vermelha e para finalizar o comando utilizada a tag </font>, no se preocupe
agora com isto, voc ver em detalhes logo adiante.
Repare na palavra red no comando, trata-se da palavra, em ingls, para a
cor vermelha, isto significa que est aplicando a cor de fonte vermelha
no texto. Como resultado dessa instruo em sua pgina web voc teria
HTML (manter em vermelho).
Comando - <title>
Definio
Acrescenta um ttulo para a sua
pgina web, mais precisamente, na
barra de ttulo do browser.
Sintaxe de uso
<head>
DICA
Para ter acesso tabela de cores hexadecimal HTML pode acessar
o site <http://www.mxstudio.com.br/Conteudos/Dreamweaver/Cores.htm>, por exemplo.
Cabealho do documento
HTML
<head><!-- Abre a tag head - a tag head ou cabealho identifica a rea da pgina onde colocamos algumas informaes
sobre a pgina web-->
</head><!-- Finaliza a tag head -->
<body><!-- Abre a tag body - tudo o que quiser que aparea
em sua pgina deve ser escrito a partir desta tag -->
Aqui deve informar tudo o que quiser que aparea
em sua pgina web.
</body><!-- Finaliza a tag body fechamento do corpo da
pgina, nada mais deve ser escrito daqui para baixo -->
Comentrios
Este comando deve ser escrito
dentro da tag <head>, na sua estrutura HTML.
Observe que a sintaxe de escrita deste comando inicia com a
abertura da tag <title>, seguida
do ttulo que deseja mostrar na
barra de ttulo do browser e, aps
o ttulo, o encerramento com a tag
</title>.
Corpo do documento HTML
Para a execuo dos comandos
interessante que seja feita localmente e no no servidor web,
isto porque trata-se do estudo da
HTML, que por sua vez, roda no
lado cliente dispensando o uso do
servidor web neste caso.
Sugiro que crie sua pasta no drive
local de sua mquina e nesta, voc
armazene, em pastas especficas
as aplicaes com as prticas dos
comandos repassados.
PROGRAMAO WEB
27
Definio
Sintaxe de uso
<body>
<center>Este texto ser centralizado na pgina web</center>
</body>
Comentrios
Veja que este comando deve ser escrito dentro da tag <body>, na sua
estrutura HTML.
Veja que a sintaxe de escrita deste comando inicia com a abertura da tag
<center>, seguida do que voc deseja que seja centralizado no corpo da
pgina web e logo aps, o encerramento com a tag </center>.
Comando <font>
c - Comando <p>
Definio
Permite a formatao do texto de sua pgina, possibilitando identificar:
nome da fonte = atributo face;
tamanho da fonte = atributo size;
cor da fonte = atributo color;
Sintaxe de uso
Definio
A letra p na tag <p> a abreviatura para paragraph (pargrafo)
que exatamente o que o texto
um texto pargrafo. Deve aplicar
somente quando o texto da pgina tratar-se de um pargrafo, do
contrrio, no h necessidade de
uso deste comando.
<body>
<font face = verdana size = 12 color = #B22222>Texto
formatado</font>
</body>
Sintaxe de uso
<body>
Comentrios
1. Este comando deve ser escrito dentro da tag <body>, na sua estrutura HTML.
2. Uma particularidade importante a de que este comando necessita de
alguns atributos, como face (nome da fonte), size (tamanho da fonte)
e color (cor da fonte), para a formatao correta. Note que isto uma
28
<p>Exemplo de um
texto escrito na pgina ... </p>
</body>
Comentrios
Este comando deve ser escrito
dentro da tag <body>, na sua estrutura HTML.
Perceba tambm que a sintaxe de
escrita deste comando inicia com
a abertura da tag <p>, seguida do
pargrafo, logo aps, o encerramento com a tag </p>.
<body>
Este um exemplo de quebra de linha ao final de um texto.
<br />
<br />
Esta linha ser impressa abaixo da anterior aps uma linha
em branco.
</body>
Comando <br>
Como resultado
Este um exemplo de quebra de linha ao final de um texto.
Definio
Observe que entre as duas linhas foi implementado tambm um comando <br /> que faz com que uma linha em branco seja impressa
entre elas.
Sintaxe de uso
<body>
Este um exemplo
de<br />quebra de
linha em HTML
<br />no meio de
um texto.
</body>
Comentrios
Este comando deve ser escrito dentro da tag <body>, na sua estrutura
HTML.
A sintaxe de escrita deste comando um pouco diferenciado dos comandos anteriores, a indicao de abertura e fechamento do comando
feito na prpria tag <br />. Isto acontece com outros comandos HTML
tambm.
Comando - <b>
Como resultado
Este um exemplo de
quebra de linha em HTML
no meio de um texto.
Permite tambm a quebra de linha ao final do texto e tambm
entrelinhas do texto, como por
exemplo:
Definio
Sintaxe de uso
<body>
<b>Estou em negrito</b>
</body
Comentrios
Este comando deve ser escrito dentro da tag <body>, na sua estrutura
HTML.
A sintaxe de escrita deste comando inicia com a abertura da tag <b>,
seguida do texto, logo aps, o encerramento com a tag </b>.
PROGRAMAO WEB
29
Definio
Como relatado, um comando
que aparece em substituio ao
comando <b>, sendo sua aplicao a mesma, ou seja, deve aplicar
quando voc deseja formatar um
texto ou palavra em negrito.
Sintaxe de uso
<body>
<i>Estou em itlico</i>
</body>
Comentrios
Este comando deve ser escrito dentro da tag <body>, na sua estrutura
HTML.
A sintaxe de escrita deste comando inicia com a abertura da tag <i>,
seguida do texto, logo aps, o encerramento com a tag </i>.
Podemos prosseguir? Ainda h muita informao interessante sobre
HTML.
Sintaxe de uso
<body>
<strong>Tambm estou em negrito
</strong>
</body>
Comentrios
Alguns comandos HTML podem ser utilizados em conjunto, isto chamado de mltiplos comandos, possvel fazer uso de vrios comandos em uma instruo HTML.
Exemplo:
<center>
<h1>
<font face=verdana >
<strong>Mltiplos comandos HTML
</strong>
</font>
</h1>
</center>
Comando - <i>
Comando - <small>
Definio
Definio
Permite a exibio de um texto ou palavra em tamanho reduzido.
Sintaxe de uso
<body>
<small>Este texto visualizado em um tamanho bem reduzido
</small>
</body>
30
Comentrios
Este comando deve ser escrito
dentro da tag <body>, na sua estrutura HTML.
Sintaxe de escrita deste comando inicia com a abertura da tag
<small>, seguida do texto, logo
aps, o encerramento com a tag
</small>.
Como resultado:
Subttulo nvel 1
Subttulos nvel 2
Subttulos nvel 3
Subttulos nvel 4
Definio
Subttulos nvel 5
Sintaxe de uso
Subttulos nvel 6
Figura 8: ttulos em tag HTML
Comentrios
Este comando deve ser escrito dentro da tag <body>, na sua estrutura
HTML.
O nvel mximo que pode utilizar para esse comando o <h6> como
pode observar no exemplo, veja tambm que, medida que utiliza um
comando com um nvel maior o tamanho da fonte diminui, tambm
possvel observar que a fonte obtida aquela reconhecida pela mquina
como padro. Caso queira formatar a fonte destes ttulos, utilize o comando <font>.
Comando - <hr>
Definio
Permite a exibio de uma linha horizontal no local onde o comando
escrito.
Sintaxe de uso
<body>
<h1>
<font face=verdana color=#FF0000>Abaixo uma
linha sublinhada
</font>
</h1>
<hr />
</body>
PROGRAMAO WEB
31
Comentrios
Este comando deve ser escrito dentro da tag <body>, na sua estrutura
HTML.
A sintaxe de escrita deste comando, a exemplo do comando <br />,
tambm possui a indicao de abertura e fechamento do comando na
prpria tag <hr />.
Comandos para listas de opes
Sintaxe de uso
<body>
<ol>
<li>Um item de
lista</li>
<li>Outro item
de lista</li>
</ol>
</body>
Comando - <ul>
Definio
Permite a criao de uma lista de itens de informao com um marcador.
Sintaxe de uso
<body>
<ul>
<li>Um item de lista</li>
<li>Outro item de lista</li>
</ul>
</body>
Como resultado:
um item de lista;
outro item de lista.
Comentrios
Este comando deve ser escrito dentro da tag <body>, na sua estrutura
HTML.
O comando <ul> responsvel pelo recuo da lista de itens e que o comando <li> responsvel pela impresso do marcador dos itens.
A sintaxe de escrita dos comandos inicia com a abertura das tags <ul> e
<li> e encerra-se com as tags </li> e </ul> respectivamente.
Comando - <ol>
Definio
Permite a criao de uma lista de itens de informao com uma numerao.
32
Como resultado:
6. primeiro item lista;
7. segundo item da lista.
Comentrios
Exemplo prtico da
etapa 1
Crie, em drive local, uma pasta
chamada, pratica1html, abra o seu
editor de programas, ser utilizado o Notepad++.
Digite o script de uma pequena
aplicao apenas para praticar os
comandos passados at o momento, no existe pretenso nenhuma em desenvolver, um web
site mais elaborado.
PROGRAMAO WEB
33
<li>Por ser base das aplicaes web, integra-se com outras linguagens estticas como,<font color=red>Javascript</font>,
e dinmicas como <font color=red>PHP</font>; </li>
<li>Por se tratar de uma linguagem de formatao de fcil aprendizado e manuseio</li>
<li>Para entender a <strong><i>HTML</i></strong> necessrio conhecer sua estrutura e comandos e efetuar a prtica
dos mesmos.</li>
</ol>
</font>
<hr />
</body>
</html>
34
Inserindo Imagens
muito comum voc necessitar
inserir imagens no seu web site e
quando isto ocorrer, basta recorrer ao comando.
<img src>
Perceba que basta, em src, atribuir o nome do arquivo que deseja carregar, no esquecendo a extenso do arquivo, que neste caso GIF.
Agora suponha que o arquivo com a imagem desejada no encontra-se
na mesma pasta do programa onde escrever o cdigo, agora o arquivo
encontra-se, por exemplo, na pasta imagens, como representado a seguir:
Perceba que no houve muita alterao para a situao anterior, continua atribuindo src a imagem que deseja carregar, s que agora informando que esta encontra-se na pasta imagens, imagens/ imagem.gif .
Se desejar, pode aplicar alguns atributos imagem, por exemplo:
<img src=imagem.gif border=1 width=20% height=20%
align=center title=Mensagem>
PROGRAMAO WEB
35
Categorias de links
a. Links relativos
So aqueles que utilizam em
seu web site para acessar outras pginas, podendo essas
estar no mesmo diretrio ou
em diretrio diferente de onde
encontra-se a pgina deste link.
b. Link no mesmo documento
Suponha que queira interligar
parte de um texto a outro em
uma pgina, por exemplo, se
quiser em sua pgina index.
html, do seu aplicativo didtico, ir para o topo da pgina, onde encontra-se o ttulo
PRTICA HTML-PARTE
1 deve fazer o seguinte:
No script do arquivo index.
html localize a linha de instruo do ttulo da pgina PRTICA HTML-PARTE 1 e antes deste insira o comando <a
name=PRTICA>, a instruo no script ficaria assim:
<center>
<h1>
<font face=verdana
color=#5F9EA0>
<a name=PRTICA>
PRTICA HTML - PARTE 1
</a>
</font>
</h1>
</center>
36
Tabela em HTML
Uma tabela um recurso muito
utilizado em editores de textos,
planilhas eletrnicas, bem como,
pginas web para demonstrar, de
forma organizada e clara, informaes importantes sobre um determinado assunto.
Definio
Aplicao
Javascript
<html>
<head>
<title>TABELAS HTML</title>
</head>
<body>
<table border=1><!-- Tag que indica o incio da tabela -->
<tr><!-- Tag que inicia uma linha da tabela sendo a primeira encontrada, isto significa a primeira linha da tabela. -->
<td>Coluna1</td><! Abre a coluna com <td>, escreve o
contedo da coluna, no caso, Coluna1, e aps encerra a coluna com </td> .-->
<td>Coluna2</td><!abre a coluna com <td>, escreve o
contedo da
coluna, no caso, Coluna2, e aps encerra a coluna com </td>
.-->
</tr> ><!-- Tag que finaliza uma linha da tabela aberta anteriormente. -->
<tr><!-- Tag que inicia uma linha da tabela sendo a segunda
encontrada, isto significa a segunda linha da tabela. -->
<td>Coluna1</td><!abre a coluna com <td>, escreve o
contedo da coluna, no caso, Coluna1, e aps encerra a coluna com </td> .-->
<td>Coluna2</td><!abre a coluna com <td>, escreve o
contedo
da coluna, no caso, Coluna2, e aps encerra a coluna com </
td> .-->
</tr> ><!-- Tag que finaliza uma linha da tabela aberta anteriormente. -->
</table><!-- Tag que indica o encerramento da tabela -->
</body>
</html>
PROGRAMAO WEB
37
<table style=background-color:
#B0C4DE; border = 1 cellspacing=4>
<table style=background-color:
#B0C4DE; border=1>
38
<html>
<head>
<title>MAIS RECURSOS TABELAS</title>
</head>
<body>
<center>
<font face=verdana>
<table style=background-color : #FFFFFF; border=1 >
<tr>
<td colspan=2 align=center><font face=Calibri
color=red>COLUNAS MESCLADAS</font></td>
</tr>
<tr>
<td><font face = Arial color=green>Coluna1</
font></td>
<td><font face = Arial color=green>Coluna2</
font></td>
</tr>
<tr>
<td><font color=blue>Coluna1</font></td>
<td><font color=blue>Coluna2</font></td>
</tr>
</table>
</font>
</center>
</body>
</html>
DICA
Voc pode formatar fonte
tambm de outras maneiras,
caso queira aprofundar este
estudo, baixe na internet tutoriais bsicos sobre HTML.
Figura 16: Exemplo de tabela HTML
contendo links com imagens
Centralizando
Para centralizar uma tabela basta
inserir a tag <center> antes da
tag <table>, mas no esquea de
finaliz-la tambm, veja no script
anterior.
Formatando fonte
Se desejar atribuir um nome, tamanho ou cor da fonte para a
sua tabela, basta tambm inserir a
tag<font>, com seus respectivos
atributos, antes da tag <table>,
lembrando que esse atuar para
toda a tabela ou para aquelas colunas que no houver configuraes
de fonte, por exemplo:
Observe no script anterior, que
configuramos a fonte verdana
para os textos da tabela, porm,
este s ter efeito para as colunas 1 e 2 da linha 3, porque estas
no foram configuradas com outra fonte, o mesmo no acontece
para a coluna da linha 1 e colunas
1 e 2 da linha 2, pois estas foram
configuradas para outras fontes,
respectivamente Calibri e Arial.
Mesclando clulas
Em algumas situaes interessante intitular a tabela de forma
que esteja integrada mesma,
conforme voc pde ver na figura
anterior da nossa tabela modelo,
para que isso seja possvel proceda da seguinte forma.
Primeiramente voc deve antever
quantas colunas, por linha, que
utilizar em sua tabela, pois sem
esta informao no conseguir
mesclar clulas.
Sabendo a quantidade total de
colunas por linha, da sua tabela
deve iniciar o script de sua tabela
normalmente e criar a coluna que
deseja mesclar, confira na figura
a seguir. Reparem no script o atributo colspan responsvel por
mesclar as clulas na tabela, a ele
foi atribudo o valor 2, que significa o nmero de clulas (colunas)
que deve mesclar, que por sua vez,
o nmero de clulas (colunas)
por linha que utilizado na tabela
em questo.
importante atentar para o
atributo align tambm na coluna mesclada, isto para alinhar
o contedo da clula, neste caso,
ao centro. O alinhamento pode
ser feito para qualquer outra coluna, seja ela mesclada ou no.
No exemplo as imagens encontram-se na mesma pasta do programa onde foi escrito o script do
link imagem.
DICA
Caso queira retirar aquela
borda de link da imagem,
basta fazer o seguinte:
<td><a href=><img
src=editar.jpg title=clique
aqui border=0></a></td>
Insira o atributo border na
tag <img> e atribua o valor 0.
PROGRAMAO WEB
39
Formulrio em HTML
mais um dos recursos impor-tantes no universo da construo de
aplicaes web, seja permitindo o envio de dados por e-mail ou auxiliando
no cadastramento de usurios em sites ou mesmo auxiliando no armazenamento de informaes em banco de dados, assim como em outras
atividades.
DICA
Componentes bsicos
Importante que antes de partir para a construo do formulrio conhea
alguns dos seus componentes bsicos:
Label ou rtulo
Nome:
Identifica no formulrio o que o usurio deve informar em um respectivo campo do formulrio.
Sintaxe de uso
<label>Nome:</label>
Text
Este componente permite uma entrada de dados na forma de texto em
uma nica linha. Para implementar esse componente no formulrio deve
utilizar o comando:
<input> - significa entrada.
40
Sintaxe de uso
Select
Este componente permite que a
informao entrada para o formulrio seja feita por meio da
seleo de opes registrada em
uma lista. Para implementar esse
componente no formulrio deve
utilizar o comando
<select> - seleo
Sintaxe de uso
<select name=selsexo>
<option value=0>---Escolha o sexo---</option>
<option value=masculino>Feminino</option>
<option value=masculino>Masculino</option>
</select>
tipo rdio;
Sintaxe de uso
<input type=radio
name=rdbtnfilhos
value=Sim> Sim
<input type=radio
name=rdbtnfilhos
value=No>No
Reparem que aqui estamos
implementando no formulrio 2 componentes do tipo
rdio e os dois com o mesmo
nome.
PROGRAMAO WEB
41
componente no formulrio;
checkbox;
Sintaxe de uso
<inserir destaque>
<input type=checkbox name=chbxfuma value=Fuma>Fuma
<input type=checkbox name=chbxcaminhada
value=Caminhada>Caminhada
<input type=checkbox name=chbxleitura value=Leitura>Leitura
<fechar destaque>
TextArea
<textarea
name=txtareanome
cols=10 rows=3>Digite
aqui seu texto</textarea>
O texto escrito entre o comando que inicia e termina o componente textarea, isto permite inserir,
previamente, um texto no componente.
42
componente no formulrio;
DICA
Os recursos aqui apresentados so aqueles considerados como bsicos necessrios para a construo de suas aplicaes web. Caso queira aprofundar-se em outros recursos HTML, baixe tutoriais HTML
para conhecer mais como, por exemplo, em: <http://pt-br.html.net/
tutorials/html/>.
Sintaxe de uso
<input type=submit
name=btnenvia value=Enviar>
Sintaxe de uso
<input type=reset
name=btnlimpa value=Limpar>
<center>
<h1>
<font face=verdana color=#5F9EA0>
<a name=PRTICA>
PRTICA HTML - PARTE 1
</a>
</font>
</h1>
</center>
PROGRAMAO WEB
43
</ol>
<h2>
<font color=#5F9EA0>COMENTRIOS</font>
</h2>
<p>
a linguagem HTML fornece alguns recursos como insero de
imagens e links, bem como, a aplicao de tabelas e formulrios,
possibilitando assim a construo de pginas para a internet com
organizao, clareza e navegabilidade.
<br>
Vale lembrar que nem todos os comandos, bem como, recursos
esto contemplados neste estudo, a preocupao maior com o
fundamento da linguagem, para que possa desenvolver as atividades, futuramente propostas.
</p>
<h2>
<font color=#5F9EA0>LINKS TEIS</font>
</h2>
<img src=imagens/alias_path.gif>
<a href=http://pt-br.html.net/tutorials/html/> Tutorial HTML
</a>
<br />
<img src=imagens/alias_path.gif>
<a href=tabcores.html>Resumo cores HTML
</a>
<br />
<img src=imagens/alias_path.gif>
<a href=>Cadastre-se
</a>
<br />
<br />
<center>
<a href=#PRTICA>Ir para o topo</a>
</center>
<br /><!instruo que refere-se ao link interno, ou seja, ao clicar
neste link a pgina desviada para o topo da pgina.-->
<hr />
44
<html>
<head>
<title>Aplicativo web - prtica 1 HTML - RESUMO CORES HTML</title>
</head>
<body>
<center>
<h1>
<font face=verdana color=#5F9EA0>
<a name=PRTICA>TABELA RESUMO DE CORES HTML</a>
</font>
</h1>
</center>
<hr />
<center>
<font face=verdana>
<p align=left>
As cores em HTML, como j estudou, podem ser atribudas em vrias situaes em
um pgina web, seja como fundo da pgina, tabela ou formulrio, como tambm
nos textos.
Estas podem ser informadas de 2 maneiras a saber.
</p>
<table style=background-color:#B0C4DE; border=1 cellspacing=2>
<tr>
<td colspan=3 align=center>
<font face=Calibri color=black>
<strong>ATRIBUIR AS CORES</strong>
</font>
</td>
</tr>
<tr>
<td align=center>
<font face = Calibri color=black><strong>Cor</strong></font>
</td>
<td align=center>
<font face = Calibri color=black><strong>Pelo nome</strong></font>
</td>
<td align=center>
<font face = Calibri color=black>
<strong>Pelo cdigo hexadecimal</strong>
</font>
</td>
</tr>
<tr>
<td align=center><font face = Arial color=white>Branca</font></td>
<td align=center><font face = Arial color=white>White</font></td>
<td align=center><font face = Arial color=#FFFFFF>#FFFFFF</font></td>
</tr>
<tr>
<td align=center><font face =Arial color=black>Preta</font></td>
<td align=center><font face=Arial color=black>Black</font></td>
<td align=center><font face = Arial color=#000000>#000000</font></td>
PROGRAMAO WEB
45
</tr>
<tr>
<td align=center> <font face =Arial color=blue>Azul</font> </td>
<td align=center> <font face=Arial color=blue>Blue</font> </td>
<td align=center><font face = Arial color=#0000FF> #0000FF </font> </td>
</tr>
<tr>
<td align=center><font face =Arial color=yellow>Amarelo</font></td>
<td align=center><font face=Arial color=yellow>Yellow</font></td>
<td align=center><font face = Arial color=#FFFF00>#FFFF00</font></td>
</tr>
<tr>
<td align=center><font face =Arial color=green>Verde</font></td>
<td align=center><font face=Arial color=green>Verde</font></td>
<td align=center><font face = Arial color=#2E8B57>#2E8B57</font></td>
</tr>
<tr>
<td align=center><font face =Arial color=red>Vermelha</font></td>
<td align=center><font face=Arial color=red>Red</font></td>
<td align=center><font face = Arial color=#FF0000>#FF0000</font></td>
</tr>
<tr>
<td align=center><font face =Arial color=gray>Cinza</font></td>
<td align=center><font face=Arial color=gray>Gray</font></td>
<td align=center><font face = Arial color=#696969>#696969</font></td>
</tr>
</table>
</center>
<p>Dica </br>
D preferncia para a atribuio das cores em cdigo hexadecimal, voc dispe de
muito mais opes, para isso consulte a tabelas de cores em http://www.mxstudio.
com.br/Conteudos/Dreamweaver/Cores.htm.
</p>
<center>
<a href=index.html>Principal</a>
<a href=cadastro.html>Cadastre-se</a>
</center>
<br />
<hr />
</font>
</body>
</html>
46
<html>
<head>
<title>Aplicativo web - prtica 1 HTML - CADASTRE-SE</title>
</head>
<body>
<center><h1><font face=verdana color=#5F9EA0>FORMULRIO EM HTML</font>
</h1></center><br />
<br />
<center><font face=verdana>
<table>
<form name=frmcadastro action= method=>
<tr>
<td> </td>
<td> </td>
</tr>
<tr>
<td align=right>Nome :</td>
<td align=left><input type=text name=txtnome maxlength=30 size=45></td>
</tr>
<tr>
<td align=right>Endereo :</td>
<td align=left><input type=text name=txtendereco maxlength=50 size=75></
td>
</tr>
<tr>
<td align=right>Sexo :</td>
<td align=left><select name=selsexo>
<option value=0>---Escolha o sexo---</option>
<option value=masculino>Feminino</option>
<option value=masculino>Masculino</option>
</select>
</td>
<tr>
<td align=right>Filhos :</td>
<td align=left><input type=radio name=rdbtnsim value=Sim>Sim
<input type=radio name=rdbtnsim value=No>No</td>
</tr>
<tr>
<td align=right>Hbitos :</td>
<td align=left><input type=checkbox name=chbxfuma value=Fuma>Fuma
<input type=checkbox name=chbxfuma value=Caminhada>Caminhada
<input type=checkbox name=chbxleitura value=Leitura>Leitura</td>
</tr>
<tr>
<td>Observao :</td>
<td><textarea name=txtarobs cols=20 rows=5></textarea></td>
</tr>
<tr>
<td> </td>
<td> </td>
</tr>
PROGRAMAO WEB
47
<tr>
<td><input type=submit name=btnenvia value=Enviar></td>
<td align=left><input type=reset name=btnlimpa
value=Limpar></td>
</tr>
</form>
</table><br />
<a href=index.html>Principal</a>
<a href=tabcores.html> Resumo cores html</a>
</center><br />
</body>
</html>
CSS X HTML
Como voc j sabe a HTML
uma linguagem de formatao, a
partir do seu uso consegue estruturar e marcar textos, cabealhos,
pargrafos, links, botes, imagens,
formulrios e outros, j a CSS permite a padronizao visual destes
elementos na pgina como cores,
estilos de linhas, bordas, posicionamento de textos, layout, assim
por diante.
Voc poder verificar no decorrer desta seo, que existe uma
relao muito forte entre as duas
linguagens, ver que quando aplicar estilos CSS, estes trabalham,
totalmente na padronizao visual das pginas HTML a partir de
seus elementos como, o corpo da
pgina, links, pargrafos, tabelas,
formulrios e outros. Com isto a
responsabilidade do padro visual da pgina retirada da HTML
e passada para a CSS restando a
HTML a responsabilidade sobre a
estrutura e contedo das pginas
web.
Seo 3
Script CSS
importante frisar que neste momento resgatar os conhecimentos sobre os fundamentos da HTML para que possa compreender e trabalhar
os conhecimentos sobre CSS.
Agora hora de conhecer CSS, sua definio, relao com a HTML,
estrutura bsica de uso, elementos bsicos de uso e aplicao prtica.
48
elemento {
atributo1 : valor;
atributo2 : valor;
atributo3 : valor;
}
Elemento - define o elemento ao qual o estilo ser aplicado, podendo este ser uma marca (tag) HTML, sem os sinais de maior e menor,
este tambm conhecido como seletor.
margem zero;
famlia de fonte Verdana ou
<html>
<head>
<title>Aplicando CSS - prtica 1</title>
<!--Abaixo a instruo HTML
que faz o link com o arquivo
layout.css, encontrado na
pasta css, para que possa fazer uso das configuraes CSS
encontradas neste arquivo,
pois estamos trabalhando
com o CSS do tipo externo,
ou seja, localizandoem um
arquivo externo.-->
<link href=css/layout.css
rel=stylesheet />
</head>
<body>
<h1>TESTE ARQUIVO DE
CONFIGURAO CSS 1</h1>
</body>
</html>
PROGRAMAO WEB
49
Por isso voc tem que conhecer muito bem o HTML como o CSS para
que possa fazer uso desses recursos dentro das regras de boas prticas.
Modalidade de implementao
CSS pode ser aplicado de 3 modalidades diferentes, confira!
1. Externo como mostra o exemplo anterior, observe o script com as
configuraes CSS este est em um arquivo separado, requerendo
que seu script HTML faa um link com este para que a pgina possa utilizar estas configuraes. Esta modalidade lhe permite escrever
scripts CSS em um ou mais arquivos que, por sua vez, podem ser aplicados em uma ou mais pginas web.
2. Incorporado o script com as configuraes CSS escrito no cabealho do script HTML onde deseja aplicar a configurao. Isto faz
com que essas configuraes sejam aplicadas somente esta pgina.
50
Exemplo:
Abra o script HTML index.html que salvou na pasta pratica1css e implemente o seguinte, abaixo da tag <title>, o script CSS e em <body>,
mais precisamente, abaixo do ttulo da pgina, implemente o pargrafo,
ambas as implementaes confira a seguir.
<html>
<head>
<title>Aplicando CSS - prtica 1</title>
<!--Abaixo o script CSS incorporado nesta pgina HTML-->
<style type=text/css><!--Incio CSS -->
p{
font-family:Calibri;
font-size:20px;
color:#B0C4DE;
text-align:left;
}
</style><!--Fechar CSS-->
<!--Abaixo a instruo HTML que faz o link com o arquivo layout.
css, encontrado na pasta css, para que possa fazer uso das configuraes CSS encontradas neste arquivo, pois estamos trabalhando com
o CSS do tipo externo, ou seja, localizando em um arquivo externo.-->
<link href=css/layout.css rel=stylesheet />
</head>
<body>
<h1>TESTE ARQUIVO DE CONFIGURAO CSS 1</h1>
<p>Aqui um texto formatado com CSS incorporado<br> nesta
pgina.</p>
</body>
</html>
PROGRAMAO WEB
51
3. Inline o script com as configuraes CSS escrito diretamente na tag HTML, afetando
somente o contedo associado
a esta.
Exemplo:
52
<html>
<head>
<title>Aplicando CSS - prtica 1</title>
<style type=text/css>
p{
font-family:Calibri;
font-size:20px;
color:#B0C4DE;
text-align:left;
}
</style>
<!--Abaixo a instruo HTML que faz o link com o arquivo layout.
css, encontrado na pasta css, para que possa fazer uso das configuraes CSS encontradas neste arquivo, pois estamos trabalhando com
o CSS do tipo externo, ou seja, localizando em um arquivo externo.-->
<link href=css/layout.css rel=stylesheet />
</head>
<body>
<h1>TESTE ARQUIVO DE CONFIGURAO CSS 1</h1>
<p>Aqui um texto formatado com CSS incorporado
<br> nesta pgina.</p><br>
<a style=text-decoration:none ; color:#fff href=http://pt-br.html.
net/tutorials/html/>Tutorial HTML</a><br>
<!--Configurao CSS inline para o link-->
<a href=http://pt-br.html.net/tutorials/html/>Tutorial HTML
</a><br /><!--Link HTML sem nenhuma configurao CSS -->
</body>
</html>
Tutorial HTML
Tags personalizadas
Voc pode dar um tratamento todo especial as suas tags HTML como,
por exemplo, criar configuraes CSS para personalizar textos, links,
imagens, formulrios e outros e aplicar aos componentes que desejar e
quando desejar. Essas configuraes podem ser aplicadas tanto na modalidade externa como incorporada.
Abra o script CSS que salvou na pasta css da sua aplicao pratica1css e
neste implemente, abaixo do script de configurao do body{},as seguintes tags personalizadas:
.alinha_direita{
text-align:right;
} /* usada para
alinhar contedo a direita */
.alinha_centro{
text-align:center;
} /* usada para
alinhar contedo ao centro*/
.alinha_esquerda{
text-align:left;
} /* usada para
alinhar a esquerda*/
PROGRAMAO WEB
53
54
Tutorial HTML
PROGRAMAO WEB
55
body{
margin:10px;
font-family:Verdana, Arial, Helvetica, sans-serif;
font-size:12px;
background-color:#FEE4AB;
text-align:center;
}
div#tudo{
margin:0px auto;
width:766px;
height:580px;
border-right:1px solid #000000;
border-left:1px solid #000000;
} /* Delimita o espao til do contedo e sua pgina e engloba todas as outras divs. */
div#cabecalho{
width:765px;
height:140;
background-color: #FFFFFF;
font-family:Verdana, Arial, Helvetica, sans-serif;
font-size:22px;
line-height:150px;
text-align:center;
border-top:1px solid #000000;
border-bottom:1px solid #000000;
}/*Div do cabealho do corpo da pgina*/
div#esquerda{
width:200px;
height:368px;
float:left;
background-color: #FFFFFF;
font-family:Verdana, Arial, Helvetica, sans-serif;
font-size:12px;
line-height:350px;
text-align:center;
border-right:1px solid #000000;
}/*Div lateral esquerda do corpo da pgina*/
div#centro{
width:564px;
height:370px;
float:right;
font-family:Verdana, Arial, Helvetica, sans-serif;
font-size:22px;
line-height:350px;
text-align:center;
background-color:#ffffff;
overflow:auto;
}/*Div central do corpo da pgina*/
div#rodape{
width:765px;
height:67px;
clear:both;
background-color: #FFFFFF;
font-family:Verdana, Arial, Helvetica, sans-serif;
font-size:22px;
line-height:70px;
text-align:center;
text-align:center;
border-top:1px solid #000000;
border-bottom:1px solid #000000;
}/*Div do rodap do corpo da pgina*/
56
Ao executar esta pgina, ter como resultado uma pgina web com uma
estrutura de div delimitando o cabealho, lateral esquerda, centro e rodap da pgina.
Nestas divs voc pode inserir o elemento que desejar texto, imagem,
link, formulrio, tabela e assim por diante, no existe restrio. Se desejar inserir uma imagem diretamente em uma div, por exemplo, na div
cabealho, deve implementar o seguinte nas configuraes CSS deste
elemento:
div#cabecalho{
width:765px;
height:140;
color: #FFFFFF;
background-image: url(../imagens/imgempxyz.jpg);
font-family:Verdana, Arial, Helvetica, sans-serif;
font-size:22px;
line-height:150px;
text-align:center;
border-top:1px solid #000000;
border-bottom:1px solid #000000;
}/*Div do cabealho do corpo da pgina*/
PROGRAMAO WEB
57
Atributo
margin
font-family
font-size
background-color
Definio
Tamanho de todas as 4 margens da pgina web.
Tipo de fonte.
Tamanho da fonte atribudo em pixels.
Cor de fundo ou transparncia.
text-align
Alinhamento do texto.
color
text-decoration
Sublinhado ou riscado.
width
Largura do elemento.
height
Altura do elemento.
border-right
border-left
line-height
border-top
border-bottom
float
overflow
clear
58
DICA
Quando desenvolver uma
soluo para web site, durante o desenvolvimento, teste os resultados em
mais de um navegador, por
exemplo, Mozilla Firefox e
Internet Explorer, pois existe
uma boa diferena quanto a
resoluo visual entre eles, e
tambm em relao a outros
navegadores, que o Firefox
e o IE so os mais populares.
Seo 4
Linguagem de
programao PHP
A opo pela PHP como linguagem dinmica para o desenvolvimento de nosso estudo no foi
por acaso, segundo os especialistas, a linguagem para web que
mais evoluiu em utilizao nos
ltimos tempos. Tambm uma
linguagem cujo script aberto,
dinmico e licena sem custo nenhum, por pertencer a categoria
de cdigo livre.
Sobre isso, segundo Melo e Nascimento (2007, p. 23 ) [...]pode ser
instalado em qualquer mquina,
para qualquer nmero de usurio,
sem que isto denote a violao de
alguma lei de direito autoral.
muito importante iniciar o estudo de uma tecnologia compreendendo, principalmente, o
significado de seu nome, algumas caractersticas, benefcios, estruturas de progra-mao, tipos de dados, interao
com outras linguagens, recursos,
sua conectividade com banco de
dados e sua capacidade de estruturao. Conhecendo isto e agregando aos demais conhecimentos,
voc garante um bom comeo
para o seu desenvolvimento profissional em programao para
web. Ento no perca tempo! Siga
adiante!
O que significa a sigla PHP?
Caractersticas
No tem custo de licena.
Total integrao com HTML, Javascript e outras tecnologias deriva-
das.
Totalmente dinmica.
Permite o acesso a arquivos de textos, imagens e outros tipos de
arquivos.
Ambiente
Como j mencionado a PHP roda no lado do servidor isto significa que
a partir deste momento voc j deve conhecer sobre o ambiente de desenvolvimento web, termos como lado cliente e lado servidor, a pasta em
que as aplicaes devem ser salvas e tudo que se refere relao cliente
x servidor. Lembrando que estas e outras informaes encontram-se na
Unidade de estudo 1.
Fundamentos
A linguagem PHP evoluiu bastante desde a sua criao e continua em
constante evoluo, neste contexto correto afirmar que medida que
evolui, novos recursos so implementados, tornando sua arquitetura
cada vez mais complexa. Inicialmente o que precisa conhecer a sintaxe
de uso, a forma de interao com o ambiente web, como trabalha com
variveis e constantes, quais e como utiliza operadores, comandos e funes bsicas para que possa fundamentar-se bem na linguagem a fim de
avanar no estudo.
PROGRAMAO WEB
59
Sintaxe de escrita
Toda linguagem de programao tem as suas regras de escrita,
a PHP no diferente e se voc
no respeitar estas regras erros de
interpretao sero gerados quando da compilao do script, ento,
muita ateno nas regras e na hora
da escrita dos seus scripts PHP.
A exemplo da HTML, quando
escreve instrues em PHP, deve
delimitar o incio e trmino deste
script, como? Observe a seguir:
<?php
scripts
?>
60
Para executar o script, lembre-se que agora sua aplicao encontra-se em um servidor web,
portanto, no deve executar de
forma local, como feito para
HTML, deve antes de mais nada,
startar os servios do pacote
VertrigoServ,servidor Apache
e MySQL, feito isto, acesse seu
navegador e na barra de endereo
deste faa a solicitao da pgina
que deseja, da seguinte maneira:
localhost/nomedapasta/nomedoarquivo.extenso
ou
127.0.0.1/nomedapasta/nomedoarquivo.extenso
Resultado
Testando a sintaxe geral da PHP
Trabalhando com dados
A PHP, como j comentado, uma linguagem que dispe de muitos
recursos e por se tratar de uma linguagem dinmica para a web deve ser
flexvel e neste aspecto, quando se trata de tipos de dados suportados e
uso de variveis ela se demonstra muito eficaz, como ver a seguir.
Para compreender melhor este assunto vamos desenvolver uma pequena
aplicao, crie na sua pasta www, uma pasta chamada tpdadosvariaveis,
abra o seu editor de programas e escreva o seguinte script:
<html>
<head>
<title>Tipos de dados e variveis em PHP</title>
</head>
<body>
<?php
/*Abaixo as variveis e tipos suportados pela PHP */
//Atribuindo valores as variveis
$logico1=true;
$logico2=false;
$inteiro=49;
$pflutuante=30.09;
$caracter=Tipo string;
$arvalor=array(nome=>joo,sobrenome=>Silva);
//Imprimindo os valores armazenados nas variveis
echo Imprimindo o contedo da varivel lgica \$logico1 :
.$logico1.<br>;
echo Imprimindo o contedo da varivel lgica \$logico2 :
.$logico2.<br>;
echo Imprimindo o contedo da varivel inteiro \$inteiro :
.$inteiro.<br>;
echo Imprimindo o contedo da varivel ponto flutuante
\$pflutuante : .$pflutuante.<br>;
echo Imprimindo o contedo da varivel string \$caracter :
.$caracter.<br>;
echo Imprimindo o contedo da varivel array[] \$arvalor :
.$arvalor[nome]. da .$arvalor[sobrenome].<br>;
?>
</body>
</html>
Resultado
Imprimindo o contedo da
varivel lgica $logico1 : 1
Imprimindo o contedo da
varivel lgica $logico2 :
Imprimindo o contedo da
Declarao de variveis
Partindo do princpio que j entende o que seja e para que serve
uma varivel em programao,
note que em PHP declarar varivel bem simples, basta escrever
seu nome, apenas com o cuidado
de anteced-lo pelo sinal de $,
como por exemplo, a varivel $logico1 utilizada em nosso aplicativo exemplo.
Existe outra particularidade a destacar em relao a variveis e que
voc j deve conhecer tambm,
so as regras para se dar nomes a
variveis, neste aspecto, em se tratando da PHP, Melo e Nascimento (2007, p. 53) destacam:
PROGRAMAO WEB
61
Voc pode achar estranho no ter que determinar o tipo de dado que
esta varivel deve armazenar como em outras linguagens, quando da sua
declarao, a explicao que a PHP no uma linguagem fortemente
tipada, como Delphi, Java, C e outras linguagens, isto significa que a
varivel assume o tipo de dado que lhe for atribudo, visualizando nosso
exemplo.
Em nosso exemplo temos:
atribudo varivel $logico2 o valor false, este tido como booleano,
no caso, falso, da a varivel passa a ser do tipo booleana.
$logico2=false;
62
Atribuio de valores
Deve ter percebido no exemplo
que valores foram atribudos as
variveis na seguinte sintaxe:
$variavel = valor;
Tipos suportados
Conforme voc j estudou a PHP
tem o suporte a vrios tipos de
dados, estes, por sua vez carregam algumas particularidades que
variam de uma linguagem de programao, por isso interessante
demonstrar algumas quanto aos
tipos de dados suportados pelo
PHP, quem nos apresenta Melo
e Nascimento (2007, p. 52)
Tipo
Faixa de Valores
Aplicao
boolean
True (verdadeiro)
ou false (falso)
Este tipo deve ser utilizado para se fazer validaes lgicas. Ex: $flag = true;
-2.147.483.648
a
2.147.483.647
Esse tipo de varivel pode ser utilizado para representar a idade de uma
pessoa, por exemplo. Mas no para
fazer clculos que necessitem preciso decimal. Alm disso, deve-se
tambm tomar o cuidado de no armazenar valores oriundos de banco
de dados que podem ocasionar overflow (estouro de capacidade do tipo).
Ex: $idade=25;
1.40 E-45
a
3.40 E+38
Tipo utilizado pelo PHP para armazenar nmero que necessita preciso
decimal. No utilize esse tipo para se
fazer comparaes de igualdade. Pois
isso pode gerar erros difceis de serem identificados, principalmente se
os valores comparados tiverem muitas casas decimais.
Ex: $valor=25.50
integer
float
string
array
object
null
No tem
No tem
No tem
No tem
Uma informao importante, pelo fato de a PHP no necessitar estabelecer o tipo da varivel no momento de sua declarao, isto permite
que uma mesma varivel possa armazenar valores de tipos diferentes em
determinados trechos do seu script, exemplo, dada a varivel:
Particularidades
aplicao didtica
A aplicao didtica anterior nos
traz mais algumas novidades, exceto declarao de variveis, atribuio de valores a variveis e tipos de dados.
Linhas de comentrios
Em PHP linhas de comentrios
seguem a seguinte sintaxe:
Comentrio de 1 linha - //
texto do comentrio
Comentrio de vrias
texto do comentrio
*/trmino do comentrio
PROGRAMAO WEB
63
\$ - trata-se de um caractere
64
echo <br>;
echo <html>;
echo <head>;
Deve utilizar o comando echo
com as tags HTML dentro das
aspas.
Declarao de constantes
Voc j sabe que, constantes, a
exemplo das variveis, so tambm endereos de memria, mas
ao contrrio das variveis, recebem valores nicos, que no se
modificam, por isso o nome de
constante.
As constantes em PHP so declaradas fazendo-se o uso da funo
define () que tem como sintaxe o
seguinte:
constante;
<?php
define(CONSTANTE,Texto
fixo);
echo CONSTANTE;
?>
Resultado
Texto fixo
Agora implemente este script com
o seguinte:
<?php
define(CONSTANTE,Texto
fixo,true);
echo CONSTANTE;
echo ConSTANTE;
echo constante;
?>
Texto fixo
Texto fixo
Texto fixo
<?php
define(CONSTANTE,Texto
fixo,false);
echo CONSTANTE.<br>;
echo ConSTANTE.<br>;
echo constante.<br>;
?>
Operadores
So elementos encontrados nas linguagens de programao que auxiliam nos mais variados recursos disponibilizados pela linguagem.
Classificam-se em:
Aritmticos
So aqueles mesmos conhecidos da sua boa e velha matemtica, o significado e aplicao so os mesmos aqui.
Tabela 5: Operadores aritmticos
Operador
Funo
+
*
/
Mdulo de valores: resto da diviso inteira entre os nmeros. Ex: $valor1 %$valor2
Resultado
Texto fixo
ConSTANTE
constante
Perceba que agora no obteve o
resultado esperado, voc j descobriu por que, no ?
Trocou o parmetro que indica
se o nome da constante ser case
sensitive, para false, ou seja, no
mais sensvel a caixa alta e baixa
e, portanto, no consegue extrair
os dados das constantes que esto
referenciadas de maneira diferente daquela declarada, com caixa
ALTA.
tipo se, caso, enquanto faa, para faa, ou seja, sempre que houver a
necessidade de se fazer uma comparao entre 2 ou mais valores faz-se
uso deste.
Operador
Funo
==
===
Operador identidade de valor e tipo retorna true se dois valores so iguais e do mesmo tipo. Ex:$valor1 === $valor2
Operador de diferena retorna true se os dois valores so
<
>
<=
>=
PROGRAMAO WEB
65
Operador Funo
++$var
--$var
$var++
$var--
+=
Soma o contedo de uma varivel com um valor, e depois reatribui o resultado nela prpria.
Ex: $var += 5; equivale a codificar $var = $var +5;
-=
*=
/=
Divide o contedo de uma varivel com um valor, e depois reatribui o resultado nela prpria. Ex: $var /= 5; equivale a codificar $var = $var /5;
Operadores lgicos
Como o prprio nome sugere so aqueles operadores utilizados em expresses lgicas a fim de verificar se o resultado destas verdadeiro ou
falso.
Tabela 8: Operadores de comparao e atribuio
Operador
and e &&
or e ||
Xor
Nome
Funo
OU
Retorna verdadeiro se o valor avaliado for falso. Caso contrrio retorna verdadeiro.
66
DICA
1. Entre utilizar && e and,
utilize &&, este operador
tem maior precedncia, traduzindo resolvido de forma mais rpida.
2. O mesmo acontece com
os operadores || e or, utilize
||, este operador tem maior
precedncia.o: BRANCO
FILHO, Gil. A organizao, o
planejamento e o controle
da manuteno. Rio de Janeiro, RJ: Cincia Moderna,
2008. 257 p.
Estruturas de controle
Toda linguagem de programao
fornece estruturas de programao, resguardadas sua sintaxe, que
garantem aos scripts maior fluxo
de informao, organizao e desempenho. Com o PHP isto no
diferente, a linguagem fornece
todas essas estruturas, seja condicional ou de repetio, principais
estruturas, em um contexto de fcil aprendizado.
Estrutura condicional do
tipo if()
Supondo que queira desenvolver
um script para verificar se um determinado nmero inteiro positivo ou negativo, aqui, por questes didticas, considere tambm
que 0 positivo, oK?
Se constatar que o nmero
maior ou igual a zero o programa deve emitir a mensagem O
nmero em questo positivo,
caso contrrio, deve emitir a mensagem O nmero em questo
negativo.
Tambm a ttulo de informao
o nmero verificado atribudo
diretamente a uma varivel, para
aperfeioar o processo.
<?php
$valor=4;
if($valor>=0)
/* se o valor contido em $valor for maior ou igual a 0*/
{
/*Instrues a serem executadas caso a condio seja verdadeira*/
echo Condio verdadeira.<br>;
echo O nmero em questo positivo.<br>;
}else {
/*seno, ou seja, se o valor contido em $valor no foi maior ou igual a 0*/
/* Instrues a serem executadas caso a condio seja falsa*/
echo Condio falsa.<br>;
echo O nmero em questo negativo.<br>;
}
?>
Resultado
Condio verdadeira.
O nmero em questo positivo.
Aps a 1 execuo da aplicao, modifique o valor do nmero para negativo e aps execute a aplicao novamente, para provocar a sentena
falsa e tambm para que possa testar o script para saber se est tudo OK.
Comentrios
A sintaxe desta estrutura fornecida pela PHP idntica a que disponvel pelas linguagens C, Java, Javascript e outras, veja que a estrutura em
si bem simples.
Considere tambm que este exemplo s tem 2 possibilidades, se a condio verdadeira,ento faa tal coisa, caso contrrio (falsa), faa tal coisa.
If(condio)
{ /*inicio do bloco de instrues da parte verdadeira da condio*/
instrues_se_verdadeiro
} /*trmino do bloco de instrues da parte verdadeira da condio*/
else { /*inicio do bloco de instrues da parte falsa da condio*/
instrues_se_falso
}/*trmino do bloco de instrues da parte falsa da condio*/
<?php
$valor=-8;
if($valor>0)
{
echo O nmero em questo
positivo.<br>;
}elseif($valor<0)
{
echo O nmero em questo
negativo.<br>;
}else {
echo O nmero em
questo zero;
}
?>
O nmero em questo
negativo.
PROGRAMAO WEB
67
Comentrios
Veja que em funo da nova proposta foi necessrio implementar
uma nova verificao na parte
falsa da primeira condio elseif
($valor<0), isto porque neste
exato trecho existem ainda mais
2 possibilidades alm do nmero
ser positivo, a possibilidade do
nmero ser negativo e tambm a
do nmero ser zero. Perceba tambm elseif(), a PHP uma das
poucas linguagens que permite
esta sintaxe, traduzindo senose, poderia estar utilizando else
if(), como ocorre na maioria das
linguagens.
O ltimo trecho do script contm
o else { } que trata da parte falsa
da condio anterior, ou seja, se
o nmero no for negativo, isto
condiciona o programa a reconhecer que s pode se tratar de
um nmero igual a zero. Neste
caso, no se est mais fazendo nenhuma verificao, pois neste trecho do script todas as possibilidades da proposta j foram tratadas.
If($condicao1)
{
//$condicao1 verdadeira
If($condicao2)
{
//apenas executa se $condicao1 e $condicao2 forem verdadeiras
}
}else if($condicao3)
{
//executa se $condicao1 for falsa e $condicao3 verdadeira
}else {
//executa se $condicao1 e $condicao3 forem falsas
}
Perceba que na estrutura condicional anterior voc encontra uma estrutura condicional if ($condicao2) dentro de outra estrutura if ($condicao1) como destacado a seguir.
If($condiao1)
{
//$condicao1 verdadeira
If($condicao2)
{
//apenas executa se $condicao1 e $condicao2 forem verdadeiras
}
}
68
}
Fonte: Melo e Nascimento (2007, p. 64)
DICA
Quando sua estrutura condicional do tipo if() tornar-se
muito complexa, verifique
a possibilidade de utilizar a
estrutura condicional do tipo
switch().
Estrutura de repetio do
tipo while()
Uma estrutura de repetio serve
para que possa executar, uma ou
mais linhas de instrues, repetidas vezes at que certa condio
seja satisfeita.
A estrutura de repetio while()
uma estrutura verstil e muito
utilizada em funo disto, a seguir
um exemplo prtico.
Crie uma pasta chamada estruwhile escreva o script a seguir:
Suponha que deseje imprimir a frase
ESTRUTURA DE REPETIO
DO TIPO WHILE( ), 5 vezes.
PROGRAMAO WEB
69
<?php
$contadora=1;
//Atribuio de um valor inicial para a varivel controladora do loop
while($contadora<=5) //Incio da estrutura com a condio lgica
{ //Incio do bloco de instrues
//Instrues executadas caso a condio seja verdadeira
echo $contadora. - .ESTRUTURA DE REPETIO DO TIPO
WHILE( ).<br>;
$contadora++;//Somar 1 na varivel, a cada execuo da estrutura
} //Trmino do bloco de instrues
?>
Estrutura de repetio do
tipo do / while()
A funcionalidade a mesma de
sua co-irm, a diferena est no
seguinte, a verificao da condio feita no final da estrutura e
no no incio como na while().
Sendo assim, pelo menos 1 vez,
obrigatoriamente, as instrues,
dentro da estrutura, sero executadas, mesmo que a condio seja
falsa.
Veja como ficaria o exemplo didtico da impresso da frase ESTRUTURA DE REPETIO
DO TIPO WHILE ( ), 5 vezes
nesta estrutura:
Crie uma pasta chamada estrudowhile escreva o script a seguir:
Comentrios
Neste tipo de estrutura a condio implementada no incio da estrutura, o que significa dizer que, j a partir da 1 execuo, se a condio
for falsa, as instrues dentro da estrutura nunca sero executadas. Do
contrrio, ou seja, a partir da execuo, a condio sendo verdadeira, as
instrues dentro da estrutura sero perfeitamente executadas, como no
exemplo proposto.
70
<?php
$contadora=1;
do //Incio da estrutura,
//faa....
{ //Incio do bloco de
//instrues
/*Instrues executadas
na 1 vez em que a
estrutura executada
e tambm enquanto a
condio for verdadeira
*/
echo $contadora.
- .ESTRUTURA DE
REPETIO DO TIPO do /
WHILE( ).<br>;
$contadora++;
//Somar 1 na varivel,
//a cada execuo da
//estrutura
} while($contadora<=5)
//Trmino da estrutura,
//enquanto condio....
?>
Resultado
1. ESTRUTURA DE REPETIO DO TIPO do / WHILE( )
2. ESTRUTURA DE REPETIO DO TIPO do / WHILE( )
3. ESTRUTURA DE REPETIO DO TIPO do / WHILE( )
4. ESTRUTURA DE REPETIO DO TIPO do / WHILE( )
5. ESTRUTURA DE REPETIO DO TIPO do / WHILE( )
Estrutura de repetio do
tipo for ()
Estrutura de repetio tambm
muito utilizada em scripts PHP,
principalmente se voc sabe, antecipadamente, a quantidade de vezes em que as instrues, contidas
nesta, devem se repetir.
Veja como ficaria o exemplo didtico da impresso da frase ESTRUTURA DE REPETIO
DO TIPO FOR( ), 5 vezes nesta
estrutura:
Crie uma pasta chamada estrufor escreva o script a seguir:
Comentrios
Seu funcionamento bem simples, para o comando for() implementada uma lista contendo 3 expresses separadas por ;
ponto-e-vrgula, sendo que a primeira expresso atribui um valor
inicial varivel controladora da estrutura e este procedimento
executado apenas 1 vez. A segunda expresso trata da validao
da condio, caso seja verdadeira, as instrues contidas no bloco
sero executadas e por ltimo a terceira expresso que refere-se ao
incremento automtico da varivel controladora, a cada execuo
do script.
Estrutura de repetio do tipo foreach()
Esta estrutura no muito convencional, mas encontrada tambm em
outras linguagens de programao. Trata-se tambm de uma estrutura
de repetio, porm, com algumas particularidades que a difere das demais estruturas apresentadas at o momento.
Uma particularidade marcante que esta estrutura atua, diretamente,
sobre o contedo de um vetor, como mostra o exemplo a seguir:
Crie uma pasta chamada estruforeach escreva o script a seguir:
$vetor=array(primeiro=>1,2);
foreach($vetor as $chave => $valor)
{
echo Valor da chave : . $chave . \n;
echo Valor armazenado : . $valor . /n;
}
Fonte: Melo e Nascimento (2007, p. 68)
Resultado
Comentrios
Conforme voc viu anteriormente, a estrutura objetiva percorre os elementos do vetor $vetor, observe que esta estrutura no utiliza uma varivel de controle para percorrer os elementos do vetor, ou seja, saber
quando deve parar de executar a repetio, mas ento como saber isto?
por que o comando foreach() faz a varredura do vetor enquanto houver
elementos no vetor, quando no houver mais a execuo interrompida.
PROGRAMAO WEB
71
72
<?php
/*Uso de funo com
passagem de Parmetros por
valor*/
//Funo soma
function soma($val1,$val2)
{
return ($val1 + $val2);
}
//script principal
$x = 10;
$y = 20;
echo Resultado retornado da funo soma :
.soma($x,$y);
?>
Fonte: Melo e Nascimento (2007, p. 70)
Resultado
Resultado retornado da funo
soma: 30
Comentrios
Observe as variveis $x e $y no
script principal, estas contm os
valores que sero repassados para
a funo para que sejam somados,
pois este o objetivo da funo
soma (). Perceba que em soma
($x,$y), chamada a funo e passados os valores contidos nas respectivas variveis. A funo, por
sua vez, encontra-se fora do escopo do script principal e contm
tambm as variveis $val1 e $val2,
encarregadas de receber uma cpia dos valores respectivamente,
repassados, isto porque a passagem de argumentos por valor.
Comentrios
A varivel $valor antecedida pelo caractere &, isto significa que esta
conter um ponteiro para a varivel $nmero, localizada no script principal da aplicao. Uma curiosidade neste processo, qualquer modificao
feita em $valor, automaticamente, refletida em $nmero, o que explica
o resultado obtido no exemplo anterior.
<?php
/*Uso de funo com
passagem de Parmetros por
referncia*/
//Funo dobra
function dobra(&$valor)
{
$valor *=2;
}
//Script principal
$numero = 10;
dobra($numero);
echo Resultado calculado pela funo dobra :
.$numero;
?>
Fonte: Melo e Nascimento (2007, p. 71)
<?php
//Uso de funo com passagem de Parmetros por valor e referncia
function minha_funcao($a,$b,&$c)
{
$c=$a+$b;
}
//Script principal
$c = 0;
minha_funcao(10,20,$c);
echo Resultado calculado pela funo minha_funcao : .$c;
?>
Fonte: Melo e Nascimento (2007, p. 71)
Resultado
Resultado
Comentrios
o dobra : 20
PROGRAMAO WEB
73
Sobre as variveis de funes, Melo e Nascimento (2007, p. 71) observam Como toda varivel declarada na lista de argumentos de uma funo ou em seu interior local ao seu escopo, o PHP cria estas variveis
de maneira independente das demais variveis, mesmo que seus nomes
sejam idnticos. Neste contexto os autores complementam Um erro
comum de programao tentar referenciar uma varivel externa a
funo apenas utilizando seu nome. Neste caso, a funo tambm est
criando uma nova varivel, obviamente sem conter o mesmo contedo
da suposta varivel referenciada.
<?php
/*Programa principal onde
ser inserido, por include, o
contedo do arquivo arquivoinclude.php. */
echo Teste A.<br>;
echo Teste A.<br>;
/*Aqui ser includo o script
de arquivoinclude.php*/
include ../arquivoinclude/
arquivoinclude.php;
echo Teste C.<br>;
echo Teste C;
?>
Include
A PHP fornece muitos recursos de programao para o desenvolvimento de aplicaes web, aqui encontra-se mais um recurso muito interessante e que est diretamente relacionado a melhorar a estrutura de sua
aplicao, trata-se da diretiva Include.
muito comum, no decorrer de sua evoluo como desenvolvedor,
voc desejar organizar seus programas de forma a garantir melhor organizao de seus arquivos de programas a fim de garantir maior desempenho e flexibilidade sua aplicao, isto que esta diretiva possibilita.
Include serve para inserir o script PHP de um arquivo externo dentro de
um bloco de programa qualquer, sendo que o script inserido interpretado normalmente a partir da aplicao desta diretiva.
Para verificar isto na prtica implemente o exemplo sugerido a seguir,
mas antes, crie uma pasta em www chamada include e, dentro desta,
crie outra pasta chamada arquivoinclude e escreva o script a seguir:
<?php
echo teste B.<br>;
echo teste B.<br>;
?>
Fonte: Muto (2006, p. 56)
74
Teste A
Teste A
teste B
teste B
Teste C
Teste C
Comentrios
Observe no resultado que as linhas escritas em arquivoinclude.
php foram inseridas e exatamente
no ponto onde foi solicitado o include deste arquivo.
Arrays
Eis aqui um recurso dos mais temerosos, mas que em sua essncia e aplicao, dos mais valiosos
em linguagem de programao.
Identificado tambm como vetor, lista ou conjunto de variveis,
array pode ser considerado como
uma estrutura de dados que armazena valores, identificados por
nomes que tecnicamente so chamados de chave ou ndice de um
elemento.
Array simples
Array pode ser simples, caracterizado por armazenar vrios elementos em sequncia, identificados por uma chave ou ndice.
$valores
Valores ->
Joinville
2007
Chaves ->
cidade
14
O nome do array $valores, na 1 posio do array, identificada pela chave cidade, armazenada a string Joinville e na 2 posio do array, identificada pela chave numrica 14, armazenado o nmero inteiro 2007.
Como voc j deve ter observado a chave de um array pode ser uma
string ou um valor inteiro, podendo estas ser utilizadas no mesmo array,
o que no aconselhvel, ou individulamente para cada array, o que
mais aconselhvel.
Crie uma pasta chamada arraysimples e escreva o script a seguir:
<?php
//Utilizado arrays com o uso de chaves string e numricas
//Criando e alimentando o array $valores
$valores = array(cidade=>Joinville,14=>2007);
echo $valores[cidade].<br>;
//Imprimindo o valor contido na posio do array cuja a chave de
// acesso cidade, ou seja, a string Joinville
echo $valores[14];
//Imprimindo o valor contido na posio do array cuja a chave de
//acesso 14, ou seja, o nmero inteiro 2007
?>
Fonte: Melo e Nascimento (2007, p. 75)
Comentrios
A PHP trata algumas particularidades com arrays de forma diferenciada
em relao a algumas linguagens, por exemplo, os arrays em PHP podem
conter elementos com tipos diferentes, no exemplo, string e nmero inteiro no mesmo array, outra particularidade a de que a chave ou ndice
do array pode ser um nmero ou uma string, caso tambm do nosso
exemplo.
Melo e Nascimento (2007, p. 75) chamam a ateno para o caso de uso
de uso de chaves do tipo inteiro
PROGRAMAO WEB
75
Array multi-dimensional
Imagine agora que voc precise implementar, para um ou mais, elementos do array informaes importantes. Por exemplo, imagine que
preciso criar um array com as cidades de Santa Cataria e para cada
cidade seus respectivos bairros, ou que criar um array que armazenasse
o nome dos departamentos de uma organizao empresarial e para cada
departamento precisa armazenar o nome de seus funcionrios, tanto em
um exemplo como o outro temos 2 dimenses de informaes, cidade-bairros ou departamento-funcionrios, isto caracteriza a criao de um
array multidimensional, mais de uma dimenso, no caso bi-dimensional.
$empresa
Colunas 1 e 2 ->
TI
RH
Linha 1
Ktia Hayaschi
Linha 2
na linha 0 da coluna TI
76
<?php
/*Criando o array multidimensiona $empresa*/
$empresa =
array(TI=>array(Carlos
Eduardo Carvalho,Nilton
Manoel L. Ado),
RH=>array(Ktia
Hayaschi,Kelly Patrcia
Dias));
/*Descarregando os dados
do array*/
while(list($chave) =
each($empresa))
{
echo $chave.<br>;
while
(list($chave2,$valor) =
each($empresa[$chave]))
{
echo $valor <br>;
}
}
?>
Fonte: Muto (2006, p. 68)
Comentrios
Removendo arrays
Se necessitar remover valores ou
apagar todo o array, a PHP dispe
de uma funo especial, unset(),
para essas aes.
Crie uma pasta chamada apagarray e escreva o script a seguir:
<?php
$valores = array();
$valores[]=15;
$valores[]=2007;
$valores[carro]=Celta;
$valores[carro2]=Ferrari;
var_dump($valores);
/*removendo valores via
funo unset*/
unset($valores[carro]);
unset($valores[0]);
//limpando o array
unset($valores);
var_dump($valores);
?>
DICA
A PHP nos fornece uma infinidade de funes para
array(), muito teis, c interessante conhecer algumas destas funes, acesse
<http://php.net/manual/
pt_BR/book.array.php.>
Resultado
Fechar o arquivo.
A seguir as principais funes
PHP para manipular arquivos.
PROGRAMAO WEB
77
NOME
DESCRIO
SINTAXE
fopen
Abre um arquivo. A funo retornar false se ocorrer erro.
$fp = fopen (string nome_arquivo, string modo_de_abertura)
Onde
Nome_arquivo Nome do arquivo
Modo_de_abertura Define a forma como o arquivo ser aberto, conforme parmetros
abaixo:
r somente leitura a partir do incio do arquivo;
r+ - leitura e gravao a partir do incio do arquivo;
w somente gravao a partir do incio do arquivo, onde todo o contedo do arquivo ser
apagado. Se o arquivo no existir a funo tentar cri-lo;
w+ - leitura e gravao a partir do incio do arquivo, onde todo o contedo do arquivo ser
apagado. Se o arquivo no existir a funo tentar cri-lo.
a somente gravao a partir do fim do arquivo. Se o arquivo no existir a funo tentar
cri-lo.
a+ - leitura e gravao a partir do fim do arquivo. Se o arquivo no existir a funo tentar
cri-lo.
Nos modos de w, w+, a, a+ ser necessrio dar permisso ao usurio para gravao no
diretrio onde o arquivo estiver.
NOME
DESCRIO
SINTAXE
NOME
DESCRIO
SINTAXE
NOME
DESCRIO
78
fwrite
Escreve um nmero especfico de bytes de uma string em um arquivo.
$flag = fwrite(int fp, string string)
Onde
string String a ser gravada no arquivo.
Exemplo:
<?php
$fp = $fopen(dados.dat,w+)
fwrite($fp,exemplo)
?>
fgets
Retorna uma string do arquivo a partir do ponteiro do arquivo at que (tamanho -1) bytes
sejam lidos do arquivo. A leitura termina quando encontra o fim de uma linha ou quando
o arquivo termina.
String fgets(int fp, int tamanho)
Onde
Tamanho nmero de bytes a serem lidos do arquivo.
Exemplo:
<?php
$fp = $fopen(dados.dat,r+)
$linha = fgets($fp,12)
?>
feof
Retorna true caso o ponteiro de arquivo esteja no fim do arquivo ou ocorra um erro, caso
contrrio retorna false.
NOME
SINTAXE
NOME
DESCRIO
SINTAXE
fopen
feof(int fp)
Exemplo:
<?php
$fp = $fopen(dados.dat,r+)
if(! feof){
echo No fim de arquivo!
}
?>
fclose
Fecha um arquivo aberto. Retorna true se obtiver sucesso ou false em caso de erro.
fclose(int fp)
Exemplo:
<?php
$fp = $fopen(dados.dat,r+)
fclose($fp)
?>
<?php
if(!file_exists(teste.txt)) //Verifica se o arquivo teste.txt no existe
{
//Executa se arquivo no existe
$ponteiro = fopen(teste.txt,w); /* Abre(cria) o arquivo teste.txt
para gravao e armazena esta operao em $ponteiro*/
}else {
//Executa se arquivo existe
$ponteiro=fopen(teste.txt,r); /* Abre(cria) o arquivo teste.txt para leitura e armazena esta operao em $ponteiro*/
}
fwrite($ponteiro,Escrevendo algo no arquivo.); /*Grava a frase
Escrevendo algo no arquivo no arquivo teste.txt*/
fflush($ponteiro); /*Libera o buffer (memria de armazenamento
de dados) para o teste.txt*/
fclose($ponteiro); //Fecha um ponteiro de um arquivo aberto, ou
fecha o arquivo
$ponteiro = fopen(teste.txt,r); //Abre o arquivo teste.txt para
leitura
while (!feof($ponteiro)) //Enquanto no for o fim do arquivo texte.txt
{
echo fread($ponteiro,filesize(teste.txt)); // imprima os
dados lidos
}
fclose($ponteiro); //Fecha um ponteiro de um arquivo aberto, ou
fecha o arquivo
?>
Fonte: Melo e Nascimento (2007, p. 80)
PROGRAMAO WEB
79
Banco de Dados
Dentre as vantagens oferecidas pela PHP o suporte a banco de dados
uma que se destaca bastante.
Para reforar o estudo do PHP com banco de dados interessante trabalhar um exemplo didtico para o cadastramento de cidades.
Estamos utilizando o VertrigoServ e nele encontramos o PHPMyAdmin, utilitrio que permite a criao e manipulao de banco de dados,
ento se estiver utilizando este pacote tambm ficar mais fcil, caso
contrrio, siga as instrues e adapte para o ambiente que est utilizando.
Criao do banco de dados, como se d esse processo? Assunto que vir
a seguir. Fique atento para compreender todas as etapas.
Procedimentos
1. Inicialize o vertrigo.
Comentrios
O script do exemplo prtico verifica a existncia ou no de um
arquivo texto, caso no exista, cria
o arquivo, do contrrio, abre o arquivo somente para leitura.
Caso o arquivo no exista o arquivo criado e gravado. Na sequncia uma estrutura de repetio
para ler e imprimir os dados contidos no arquivo.
Observe que neste script utilizando algumas funes que no
constam na tabela das principais
funes de arquivo da PHP, so
elas:
80
7. Se tudo correu bem, voc deve estar visualizando uma pgina web no
formato de uma tabela, onde a esquerda voc tem o nome das colunas e a direita as entradas para estas. Cada coluna de entrada desta
refere-se a um campo da tabela que ser includo em sua estrutura,
deduz-se ento que voc pode inserir, 2 campos por vez. O tipo de
tabela deve ser InnoDb e confirme o clicando no boto Salvar.
81
<?php
$conexao = mysql_connect(localhost,root,vertrigo)
or die(No foi possvel conectar ao banco.Erro : . mysql_errono().mysql_error());
$nomebanco = mysql_select_db(exemplodidatico,$conexao)
or die(No foi possvel selecionar o banco.Erro : . mysql_errono().mysql_error());
mysql_query(INSERT INTO cidades VALUES(1,Joinville))
or die(Erro ao executar o insert.Erro : . mysql_errono().mysql_error());
mysql_query(INSERT INTO cidades VALUES(2,So Paulo))
or die(Erro ao executar o insert.Erro : . mysql_errono().mysql_error());
mysql_query(INSERT INTO cidades VALUES(3,Rio de Janeiro))
or die(Erro ao executar o insert.Erro : . mysql_errono().mysql_error());
mysql_query(INSERT INTO cidades VALUES(4,Nova Iorque))
or die(Erro ao executar o insert.Erro : . mysql_errono().mysql_error());
mysql_query(INSERT INTO cidades VALUES(5,Paris))
or die(Erro ao executar o insert.Erro : . mysql_errono().mysql_error());
mysql_query(INSERT INTO cidades VALUES(6,Toronto))
or die(Erro ao executar o insert.Erro : . mysql_errono().mysql_error());
mysql_query(INSERT INTO cidades VALUES(7,Londres))
or die(Erro ao executar o insert.Erro : . mysql_errono().mysql_error());
echo Incluso efetuada com sucesso!
?>
Fonte: Melo e Nascimento (2007, p. 84)
Na tabela cidades
Resultado
O resultado deste script no muito perceptvel na pgina, mas sim
na tabela cidades do banco de dados. Se ocorreu algum erro, esse
ser visualizado na pgina, pois o
script solicita o erro ocorrido. Se
tudo correu bem, uma mensagem
na pgina mostrada e na tabela
cidades do banco de dados voc
ver os dados inseridos pelo script.
Incluso efetuada com sucesso!
Figura 27: Tabela cidades populosas
82
Comentrios
Nos 2 exemplos foram utilizadas
algumas funes PHP para o banco de dados MySQL.
mysql_connect()
<?php
$conexao = mysql_connect(localhost,root,vertrigo)
or die(No foi possvel conectar ao banco.Erro : . mysql_errono().mysql_error());
$nomebanco = mysql_select_db(exemplodidatico,$conexao)
or die(No foi possvel selecionar o banco.Erro : . mysql_errono().
mysql_error());
$resultado = mysql_query(SELECT codigo, nome FROM cidades)
or die(Erro ao executar select.Erro : . mysql_errono().mysql_error());
echo <table>;
while($linha=mysql_fetch_array($resultado,MYSQL_ASSOC))
{
echo <tr>;
foreach($linha as $valor)
{
echo <td>$valor</td>;
}
echo</tr>;
}
echo </table>;
mysql_free_result($resultado);
mysql_close($conexao);
?>
Fonte: Melo e Nascimento (2007, p. 85)
Resultado
1. Joinville
2. So Paulo
3. Rio de Janeiro
4. Nova Iorque
5. Paris
Sintaxe de uso
int mysql_connect(host[:port]
[path/to/socket],usuario, senha)
Onde:
host nome do servidor
Sintaxe de uso
int mysql_select_db(nome_db,id_
link)
Onde:
6. Toronto
7. Londres
Sintaxe de uso
int mysql_query(string,id_link)
PROGRAMAO WEB
83
Onde:
mysql_fetch_array()
Retorna um array, com o contedo da(s) linha(s) selecionada, posicionando-se, automaticamente,
no prximo registro, caso exista.
Sintaxe de uso
array mysql_fetch_arra (resultado)
Onde:
mysql_free_result()
Libera toda a memria associada
ao identificador de resultado result;
mysql_close()
Encerra a conexo com um servidor mysql.
Cookies
Toda linguagem de programao
dinmica para web deve possibilitar recursos que facilitem na
manipulao de dados tornando
o processo de armazenamento
e recuperao destas informaes mais eficiente, por isso dos
Cookies.
Configurando um Cookie
Crie uma pasta chamada configcookie e escreva o script a seguir:
Resultado
Configurando um cookie no cliente...
Comentrios
Existe uma particularidade importante quando da utilizao de
Cookies, sobre isso Melo e Nascimento (2007, p. 87) alertam, [...]
como o setcookie atua diretamente
no cabealho da resposta, ele deve
ser o primeiro comando a retornar algo para o cliente..
Caso no for obedecido, veja na
prtica o que ocorre.
Crie uma pasta em www chamada errocookie e escreva o script a
seguir:
<?php
echo Mensagem; /*Ao
executar a aplicao esta linha ser enviada antes do setcookie.
setcookie(username,jjsi
lva); //Esta linha deveria ser
enviada antes da anterior
?>
Fonte: Melo e Nascimento (2007, p.
87)
DICA
Para consultar mais funes
PHP para MySQL acesse o
site: <http://php.net/mysql>
<?php
setcookie(username,jjsil
va);
echo Configurando um
cookie no cliente...;
?>
Fonte: Melo e Nascimento (2007, p. 87)
84
Resultado
Mensagem
Warning: Cannot modify header information - headers already sent by (output started at C:\Program Files\
VertrigoServ\www\errocookie\
errocookie.php:2) in C:\Program
Files\VertrigoServ\www\errocookie\errocookie.php on line 3
Comentrios
Voc pode observar ocorreu um
erro na execuo da pgina, pois
uma linha de instruo foi enviada
antes do comando de cabealho
setcookie. Isto acontece com outros
comandos tambm como, header() e session.
Existe uma maneira de corrigir
isto, nesta e em outras situaes,
no incio do script utilize a funo
ob_start(). Implemente, no script
do arquivo errocookie.php, deve
ficar assim:
<?php
ob_start();
echo Mensagem;
setcookie(username,jjsi
lva);
?>
Resultado
Mensagem
Observe que o erro no ocorre mais, isto por que a funo
ob_start(), em linhas gerais, encarregou-se de armazenar as instrues que no so passadas pelo
cabealho HTTP, at que o comando setcookie fosse executado,
aps esta execuo tais instrues
so executadas.
Este procedimento serve tambm
para header() e session.
Neste exato momento voc tem
uma varivel do tipo cookie chamada username, contendo jjsilva que
armazenada no seu HD assim que
a sua pgina web for chamada.
Acessando um Cookie
Voc pode acessar o contedo
do Cookie criado anteriormente,
como?
<?php
echo $_
COOKIE[username];
?>
Exemplo:
Salve o script na pasta vercookie
com o nome de vercookie.php.
Este script obtm o contedo da
varivel cookie criada a partir do
script anterior, portanto, para este
exemplo ser bem sucedido, o script
anterior deve ter sido executado.
lgico que na prtica voc poderia ter as instrues do script
anterior e as instrues deste script
no mesmo arquivo, mas como
sabe, isto um exemplo didtico.
Resultado
Jjsilva
Comentrios
O resultado mostra o que est armazenado no Cookie username.
$x = (int)$_COOKIE[numero_aleatorio]+10;
Fonte: Melo e Nascimento(2007, p. 88)
PROGRAMAO WEB
85
<?php
//Especifica um prazo de 5
horas para a utilizao
setcookie(usernam
e,jjsilva,time()+3600*5);
echo Configurando
um cookie no cliente para
expirar em 5 horas;
?>
Fonte: Melo e Nascimento (2007, p. 90)
Removendo Cookies
Sobre a remoo de Cookies, Melo
e Nascimento (2007, p. 90) observam uma maneira e remover
um Cookie do cliente configurar
o valor false para seu contedo.
Como este procedimento depende do cliente, costuma-se tambm
passar um valor negativo para o
seu prazo de expirao.
setcookie(username,false,-1);
Sesses
Sesses no PHP existem a partir
da verso 4, no menos importante do que Cookies, na verdade
o princpio o mesmo, mudam
algumas particularidades e sintaxe
de uso.
O grande objetivo das Sesses o
de armazenar os dados na forma
de variveis e acess-los a partir
de qualquer parte de sua aplicao, enquanto a esta estiver ativa.
As variveis de Sesso funcionam
como variveis globais e so muito teis para programao complexa.
86
59abbe56e057f20f883e
Comentrios
O destaque fica para o fato de que qualquer ao que fizer com sesses
deve anteriormente estart-la com session_start().
Veja que a exemplo de Cookies, em sesso tambm voc precisa fazer
uso de uma varivel especial para o armazenamento dos dados, $_SESSION[].
O valor de senha criptografado a partir da funo PHP md5(), que
converte um dado na forma normal para o formato de criptografia.
Para encerrar, o script recupera as informaes das variveis de sesso,
importante relembrar que a partir do momento em que estas variveis
so criadas e alimentadas com dados, estes podem ser acessados de qualquer outro script de sua aplicao.
Removendo os dados
preciso alguns cuidados, o conte-do de uma varivel de sesso pode ser
removido facilmente, ento s execute este script em suas aplicaes caso
realmente necessite.
<?php
//Trabalhando com sessoes
//Inicia a sesso com session_start()
session_start();
/*Cria as variveis de sesso para usurio(username)
e senha.*/
$_SESSION[username] = silvio;
$_SESSION[senha]=md5(123456);
//Removendo os valores das variveis de sesso
unset($_SESSION[username]);
//Elimina o contedo da varivel de sesso username
unset($_SESSION[senha]);
//Elimina o contedo da varivel de sesso senha
//Capturando os dados das variveis de sesso
echo O usurio armazenado na sesso : .$_
SESSION[username].<br>;
echo Sua senha, criptografada, armazenada na sesso : .$_
SESSION[senha];
?>
<?php
//Removendo a sessao
session_start();
$_SESSION=array(); //Instruo orientando o que deve
ser eliminado, toda a sesso
session_destroy(); //Funo que destri toda a sesso
echo O usurio armazenado na sesso : .$_
SESSION[username].<br>;
echo Sua senha, criptografada, armazenada na sesso : .$_SESSION[senha];
?>
Comentrios
PROGRAMAO WEB
87
Unidade de
estudo 3
Sees de estudo
Seo 1 Abordagem da aplicao
Seo 2 Desenvolvimento da aplicao
Seo 3 Publicao no seu web site
Exemplo Prtico
Seo 1
Abordagem da
aplicao
Tudo o que voc estudou nas
unidades anteriores lhe ajudar a
compreender no s a proposta
como tambm a estrutura e scripts
da nossa aplicao exemplo.
O objetivo principal deste exemplo o de ajud-lo a iniciar o desenvolvimento de uma aplicao
web sendo que a ideia final a de
que voc possa melhor-lo estendendo assim os conhecimentos
repassados nesta unidade curricular e consequentemente auxiliando no seu desenvolvimento
profissional.
A ideia da aplicao exemplo a
de um Informativo Virtual como
Jornal, CMS ou outro, para que
voc possa personaliz-lo como
desejar no momento em que for
efetuar suas implementaes de
melhorias.
Como ideia central o Informativo
contm assuntos que so exibidos nas pginas de sua aplicao,
estes, podem ser acessados por
qualquer usurio web, mas a postagem destes assuntos efetuada
somente por profissionais devidamente autorizados.
Algumas particularidades:
Seo 2
Desenvolvimento da aplicao
Agora que voc j conhece a proposta do exemplo prtico, bem como
sua estrutura, vamos ao seu desenvolvimento.
Inicialmente crie a estrutura de pastas de sua aplicao, toda aplicao
web que se preza deve possuir uma estrutura de pastas e arquivos bem organizada, isto est diretamente ligado a estrutura de sua aplicao, quanto mais organizado melhor tambm o desempenho de sua aplicao.
A estrutura de pasta que voc deve criar para sua aplicao esta conforme figura a seguir. Crie, mesmo que ainda no tenha iniciado o desenvolvimento.
PROGRAMAO WEB
89
Agora hora de desenvolver a pgina principal de sua aplicao, segundo os padres de desenvolvimento de aplicao web, a primeira
pgina de uma aplicao deve ser
nomeada como ndex (ndice), ento, vamos a ela.
A construo de uma pgina web deve ser antecedida
de um estudo de contedo e
layout antes de sua elaborao para que, no momento de
sua implementao, j saiba o
que vai implementar.
90
/*Documento CSS*/
/*Configuraes para o corpo das pginas*/
body{
margin:5px;
font-family: Verdana,Arial,Helvetica, sans-serif;
font-size:12px;
background-color: #363636;
text-align: center;
}
/*Div geral que delimita a rea de visualizao das pginas*/
div#geral{
width: 800px;
height: 569px;
border-right: 1px solid #000000;
border-left: 1px solid #000000;
margin:0px auto;
background-color: #fff;
}
/*Div para o cabealho das pginas*/
div#cabecalho{
width: 800px;
height: 90px;
font-family:Verdana,Arial, Helvetica, sans-serif;
font-size:32px;
text-align: center;
line-height:90px;
color:#104E8B;
}
PROGRAMAO WEB
91
/* CLASSES GERAIS */
.alinha_dir{
text-align:right;
} /* usada para alinhar contedo a direita */
.alinha_cnt{
text-align:center;
} /* usada para alinhar contedo ao centro*/
.alinha_esq{
text-align:left;
} /* usada para alinhar contedo a esquerda*/
/*Div central das pginas*/
div#meio{
width: 592px;
height: 380px;
top:60px;
float:right;
background-color: #fff;
text-align: center;
overflow:auto;
}
/*Div rodap das pginas*/
div#rodape{
width: 800px;
height: 48px;
border-top: 1px solid #000000;
border-bottom: 1px solid #000000;
border-right: 1px solid #000000;
border-left: 1px solid #000000;
clear:both;
}
92
$boasvindas=
<br/><br/><br/>
<font size=2>
<b>Bem vindos a nossa pgina</b>
</font>
<br/><br/>
<font size =2>
Esperamos que você aprecie a visita, nossas informaes e atendimento.
</font>
<br />;
/*Atribui varivel \$now a data atual, para ser exibida tambm na div esquerda da
pgina principal. Aqui uma novidade, note que estamos armazenando nesta varivel
primeiramente, o tamanho da fonte da data e depois concatenamos \$.= nela mesma a
data, a parti da funo date(d/m/Y), que por sua vez, extrai a data atual do servidor onde
encontra-se a aplicao.*/
$now = <font size =2>;
$now .= date(d/m/Y);
/* Atribui varivel \$arest o texto e e as configuraes de fonte. */
$arest=<font size=2>
<strong>rea Restrita</strong>
</font>
<br />;
?>
<div id=geral> <!--Chamar a div geral-->
<div id=cabecalho><!--Chamar a div cabecalho-->
INFORMATIVO ONLINE
</div><!--Fechar a div cabecalho-->
<div id=divisoria><!--Chamar a div divisoria-->
<a href= class=linkscab>Tempo</a>
<a href= class=linkscab>Esportes</a>
<a href= class=linkscab>Fale conosco</a>
</div><!--Fechar a div divisoria-->
<div align=center><!--div inline centro -->
<div id=esquerda><!--Chamar a div esquerda-->
<?php
echo <br />; //Tag br embutida no PHP
echo Hoje $now ; //Imprimir o valor da varivel $now
echo $boasvindas; //Imprimir o valor da varivel $boasvindas
?>
<div id=login><!--Chamar a div login-->
<form name =frmlogin method=post action=login.php >
<table width=100% border=0>
<tr>
<td colspan=2 align=center>REA RESTRITA</td>
</tr>
PROGRAMAO WEB
93
94
Comentrios
Ateno
1. Se o script contiver HTML e/ou CSS salve-o com a extenso .html.
2. Se o script contiver HTML e/ou CSS e tambm Javascript, salve-o
com a extenso.html.
3. Se o script s contiver CSS salve-o com a extenso .css.
4. Se o script s contiver Javascript salve-o com a extenso .js.
5. Se o script contiver, no mnimo 1 linha em PHP, salve-o com a extenso
.php, no importando se tambm tem html, css ou Javascript.
Resultado
Agora voc far a validao dos campos Usurio e Senha, pois ambos
no podem ficar em branco quando enviar os dados do formulrio.
Recomenda-se que esta validao seja feita no lado cliente, a partir da
linguagem Javascript e tambm no lado servidor a partir da PHP.
Para isso implemente o script do arquivo index.php com o seguinte,
abaixo da tag </head> e antes da tag <body>:
PROGRAMAO WEB
95
Este novo elemento refere-se a um evento (ao) associado ao formulrio, que significa, na prtica, que quando o boto submit for acionado
solicitado a uma funo chamada valida_login um retorno, se falso os
dados do formulrio no so enviados, pois significa que algum campo
no foi preenchido, do contrrio, retornado o valor true, os dados do
formulrio so enviados para pgina login.php, atribuda ao atributo
action, do formulrio, como voc pode observar.
96
<a href=index.
php?menu=programas/
progtempo&act=progtempo
class=linkscab>
Tempo
</a>
Comentrios
Muito cuidado neste script, para quem no est muito acostumado, normalmente erra ao implementar e custa muito a localizar o erro pois o
interpretador no avisa onde o erro se encontra. At erros no formulrio
fazem com que erros nessa rotina possam ser detectados fazendo com
que ela no funcione ento, muita ateno.
Agora voc vai trabalhar o seguinte, ao clicar no link do tempo a aplicao carregar, dinamicamente, um arquivo texto dando as condies
do tempo, para isso siga as instrues.
1. Abra o editor de texto, bloco de notas ou WordPad, e escreva um
pequeno texto sobre o tempo, exemplo:
Rio de Janeiro - Mxima 35 - Mnima 24
So Paulo - Mxima 22 - Mnima 18
Santa Catarina - Mxima 22 - Mnima 5.
2. Salve este arquivo com o nome de temp.txt na pasta arquivostextos.
<?php
/* Aqui a rotina mais importante deste script,verifica
se as varivel menu e act,
declaradas e atribudas
anteriormente nos links,
foram criadas, se foram
criadas, significa que algum
link foi clicado,na sequncia,
captura o contedo de menu
e act e da inclui a pgina de
acordo com o que continha
as variveis. A partir da, se
tudo correu bem, sua pgina
j deve estar carregada na
div centro da pgina da sua
pgina principal. */
if (isset($_GET[menu])&&
isset($_GET[act]))
{
$menu=$_GET[menu];
$act=$_GET[act];
include
$menu/$act..php;
}
?>
PROGRAMAO WEB
97
TEMPO
<br />
<?php
/* Arquivo contendo funo para ler um arquivo texto. */
include includes/funcoes.php ;
?>
<html>
<head>
<title></title>
</head>
<body>
<?php
/*Chama a funo learquivo() contida no arquivo includo no topo da pgina. Est
passando para a funo o nome da pasta e o arquivo texto a ser lido.*/
learquivo(arquivostextos/temp.txt);
?>
</body>
</html>
<?php
function learquivo($nomedoarquivo) {
$fp = fopen($nomedoarquivo,r) ;
/*fopen(), funo php que permite abrir arquivo, o parmetro r(read)leitura.*/
// lao que ir ler todo o conteudo do arquivo
while (! feof($fp)) {
/*while, comando de estrutura de repetio que significa enquanto*/
//feof(), Testa pelo fim-de-arquivo (eof - end of file)
// leitura de cada linha do arquivo
$linha = fgets($fp,500) ;
/*fgets(), funo que Le uma linha de um ponteiro de arquivo*/
echo $linha ;
echo <BR> ;
}
// fim do lao
// fecha o arquivo
fclose($fp) ;
//fclose(), funo php que significa fechar o arquivo
}
?>
98
<a href=index.
php?menu=programas/
progesporte&act=progesporte
class=linkscab>Esportes</a>
<?php
/* Arquivo contendo funo
para ler um arquivo texto. */
include includes/funcoes.
php ;
Figura 30: Carregando a pgina do tempo dinamicamente
Agora voc deve implementar a pgina, dinamicamente, para o link Esportes. O processo idntico ao anterior s que desta vez no precisar
implementar o arquivo da funo que l o arquivo texto, pois esta ser
utilizada por este programa tambm, evitando assim escrev-la novamente e tambm a rotina que carrega as pginas dinamicamente, localizada na div meio da pgina index.php, este ser reutilizado. Sendo assim
vamos aos procedimentos.
1. Abra o editor de texto, bloco de notas ou WordPad, e escreva um
pequeno texto sobre esporte, exemplo:
JOINVILLE - SC
O Joinville Esporte Clube no est fazendo uma boa campanha no Catarino 2011, desse jeito, em campeonato algum ter sucesso.
Parabns aos clubes Cricima, Chapecoense e Figueirense que fazem
valer sua tradio.
?>
<html>
<head>
<title></title>
</head>
<body>
ESPORTE
<br />
<?php
/*Chama a funo learquivo()
contida no arquivo includo
no topo da pgina. Est passando para a funo o nome
da pasta e o arquivo texto a
ser lido. */
learquivo(arquivostextos/
esporte.txt) ;
?>
</body>
</html>
PROGRAMAO WEB
99
Agora sim, se escreveu os scripts corretamente, salvou nas referidas pastas, o resultado ser o seguinte, quando clicar no link Esportes:
Comentrios
Voc conseguiu carregar dinamicamente os textos, a partir de seus respectivos arquivos, simplesmente clicando em seus links. Se por acaso
desejar modificar o texto, abra o arquivo texto, salve-o novamente, e
chame sua pgina ou atualize, caso j esteja aberta, que a sua atualizao
j aparece no texto.
Atualizar o arquivo texto fora da sua aplicao no muito legal, isto
obriga voc a ter que acessar o servidor, abrir o arquivo, modific-lo,
salv-lo, tudo isso de fora de sua aplicao, no mesmo? Fique tranquilo, isto uma melhoria que voc far no decorrer dos seus estudos nesta
unidade e em outras.
Autenticao de usurio
Voc sabe que o formulrio contendo os campos Usurio e Senha serve
para limitar o acesso dos usurios rea restrita de sua aplicao, certo?
Ou seja, s acessam esta rea pessoas devidamente cadastradas em banco de dados, do contrrio, o usurio no tem acesso a esta rea restrita.
O processo de autenticao este, a partir da informao de um Usurio
e Senha verificado a existncia ou no deste usurio, se no existir, uma
mensagem exibida, caso contrrio o acesso rea restrita permitido.
que esta ser utilizada com outro fim, o de mostrar uma mensagem e tambm um formulrio,
isto faz com que suas especificaes modifiquem.
div#meio1{
width:800px;
height:380px;
display:table;
overflow:auto;
font-size:12px;
background-color:#ffffff;
float:center;
}
<?php
$servidor= localhost; //Atribui o nome do servidor do
banco de dados
$usuario=root; //Atribui o
nome de usurio para acesso
ao servidor de banco de dados
$senha=vertrigo; //Atribui
a senha para acesso ao servidor de banco de dados
$banco=exemplopratico; //
Atribui o nome do banco de
dados
?>
<?php
include (config.php); //Inclui o arquivo de configurao
/*Armazena na varivel $conexao o resultado da conexo com o
servidor de banco de dados */
$conexao = mysql_connect($servidor, $usuario , $senha);
/* Se no conseguiu conectar envia uma mensagem dando cincia
de que a conexo no foi efetuada e mostra o erro ocorrido. */
if (!$conexao) {
die(No foi possvel conectar ao banco: . mysql_error());
}
/*Armazena na varivel $db_selected o resultado da seleo do
banco de banco de dados */
$db_selected = mysql_select_db($banco,$conexao);
/* Se no conseguiu localizar o banco de dados envia uma mensagem dando cincia que o banco banco de dados no foi localizado
mostra o erro
ocorrido. */
if (!$db_selected) {
die (No foi localizar o banco $banco : . mysql_error());
}
?>
<?php
//Css local para formatar as mensagens
echo
<style type=text/css>
div#formata_msg{
font-family:Verdana, Arial, Helvetica, sans-serif;
font-size : 13px;
font-color : #ffffff;
font-weight:bolder;
padding-top:220px;
}
</style>;
echo <div id=formata_msg>;
echo </div>;
PROGRAMAO WEB
101
//MENSAGENS DE LOGIN
/* Funo criada para retorna uma mensagem de acordo com a operao realizada na aplicao, funciona como um repositrio de mensagens. */
function menlog($idmens){
switch ($idmens) {
case 1 : {
$mens1 = Voc no efetuou login!;
return $mens1;
}
break;
case 2 : {
$mens2=Nome de usuário ou senha incorreto!;
return $mens2;
}
break;
case 3 : {
$mens3=Cadastro efetuado com sucesso!;
return $mens3;
}
break;
case 4 : {
$mens4=Erro no cadastro. Tente novamente!;
return $mens4;
}
break;
case 5 : {
$mens5=Usuário j existe.Informe outro nome de
usurio!;
return $mens5;
}
break;
case 6 : {
$mens6=Cadastro atualizado com Sucesso!;
return $mens6;
}
break;
case 7 : {
$mens7=Erro durante a atualizao. Tente novamente!;
return $mens7;
}
break;
case 8 : {
$mens8=Cadastro excluído com sucesso!;
return $mens8;
}
break;
case 9 : {
$mens9=Erro durante a exclusão do cadastro. Tente
novamente!;
return $mens9;
}
break;
}
}
?>
des.
<?php
session_start();
$_SESSION = array();
session_unset()
session_destroy();
header (Location:index.
php);
?>
<?php
ob_start();
/*Funo PHP que auxilia na priorizao das que ativa o buffer de sada e enquanto este
estiver ativo no enviada ao servidor nenhum script,que no sejam cabealhos, sesso,
cookie, header().*/
session_start();//inicia a sesso
?>
<html>
<head>
<title>:: INFORMATIVO ON-LINE [LOGIN]::</title>
<link href=css/layout.css rel=stylesheet />
</head>
<body>
<div id=geral><!--Chamar a div geral-->
<div id=cabecalho><!--Chamar a div cabecalho-->
INFORMATIVO ONLINE
</div><!--Fechar a div cabecalho-->
<div id=divisoria><!--Chamar a div divisoria-->
<!--Ao clicar no link tempo deve permanecer na pgina index.php.Neste link est passando como varive de parmetro a varivel menu, contendo o caminho onde encontra-se o
arquivo de programa que carregar,dinamicamente, o arquivo texto referente a previso
do tempo. -->
</div><!--Fechar a div divisoria-->
<div id=meio1>
<?php
include includes/mensagens.php;
/*inclui o arquivo de mensagens, no caso para mensagem de erro */
include includes/conexao.php;
/*estabelece a conexo com o banco de dados*/
$usr=$_POST[txtusuario];
$pwd=md5($_POST[txtsenha]);
//Mensagens utilizadas
$mens=;
//Armazena em $res o resultado da consulta SQL
$res=mysql_query(SELECT * FROM usuarios WHERE username =$usr,$conexao);
//armazena em $linhas a qtde de linhas resultante da consulta
$linhas=mysql_num_rows($res);
PROGRAMAO WEB
103
echo <center>;
echo <table>;
echo <tr>;
echo <td>.$mens.</td>;
echo </tr>;
echo </table>;
?>
</div><!--finaliza a div meio1-->
<div id=divisoria>
<a href=index.php>Retornar</a>
</div><!--finaliza a div divisoria-->
<div id=rodape>
<br>© Exemplo didtico de aplicao web - Todos os direitos reservados.
</div><!--finaliza a div rodape-->
</div> <!--finaliza a div geral-->
</body>
</html>
Comentrios
Esta pgina resume-se, visualmente, a mostrar uma mensagem
caso o Usurio ou Senha no conferir, mas por debaixo dos panos,
popularmente falando, a pgina
login.php faz muita coisa. Perceba que a pgina ficou muito simples, poderia ter uma imagem para
a mensagem, esta poderia ter uma
cor de fundo e ser mais bem posicionada. Tudo isso voc aprender ainda nesta unidade.
Caso o Usurio e Senha estejam
OK, o usurio redirecionado
para a rea restrita permitindo que
este proceda o cadastramento de
usurios do sistema.
Antes de trabalharmos este script,
necessrio destacar o seguinte,
visando implementar um pouco
de segurana em nossa aplicao,
toda pgina que entender que no
pode ser acessada diretamente
sem o usurio ter-se autenticado,
ser feita uma validao de sesso, pois se o usurio se autenticou cria-se uma sesso para este,
lembra-se?
Pensando assim, abra um novo
documento em seu editor de programas e escreva o seguinte script:
PROGRAMAO WEB
105
<?php
/* permite que seja enviado ao servidor web, primeiramente, os comandos de criao de
sesso ou redirecionamentos, antes de qualquer solicitao html, javascript, css. */
ob_start();
include conexao.php;
//MENSAGENS UTILIZADAS
session_start (); //inicia a sesso
if (!isset($_SESSION[id_sessao]))
{ //verifica se a varivel de sesso no contm valor
unset ($_SESSION[id_sessao]); //destri a varivel de sesso
include mensagens.php; //inclui o arquivo mensagens.php
$mens1=menlog(1);
/* chama a funo menlog(arquivo mensagens.php) passando como parmetro o 1
por que desejamos obter a mensagem, Voc no efetuou o login, cuja a identificao 1. Recebe o retorno e armazena em $mens1.*/
header (Location:../../../index.php?mens=$mens1);
/*redireciona o programa para a pgina index.php enviando como parmetro a
mensagem capturada*/
exit; //abandona a rea de sesso
} else {
if ($_SESSION[id_sessao] != session_id())
{
/*verifica se o contedo da varivel de sesso diferente da sesso que
est ativa*/
unset ($_SESSION[id_sessao]); //destri a varivel de sesso
$mens1=menlog(1);
/* chama a funo menlog(arquivo mensagens.php) passando como
parmetro o 1 por que desejamos obter a mensagem, Voc no efetuou o login, cuja a identificao 1. Recebe o retorno e armazena em
$mens1.*/
header (Location:../../../index.php?mens=$mens1);
/*redireciona o programa para a pgina index.php enviando como parmetro a mensagem capturada*/
exit; //abandona a rea de sesso
}else { // se a varivel de seso no for diferente da sesso ativa.
$id_usuario=$_SESSION[username];
/*captura o login do usurio utilizado na sesso*/
$senha_usuario=$_SESSION[senha];
/*captura a senha do usurio utilizado na sesso*/
$nome_usuario=$_SESSION[nome];
/*captura o nome do usurio utilizado na sesso*/
$cargo_usuario=$_SESSION[cargo];
/*captura o cargo do usurio utilizado na sesso*/
$senha_usunario=$_SESSION[email];
/*captura o e-mail do usurio utilizado na sesso*/
$nivel_usuario=$_SESSION[nivel];
/*captura o nvel do usurio utilizado na sesso*/
}
}
mysql_close ($conexao);
?>
.barra_opcoes{
width:786px;
line-height:20px;
/*espaamento entre linhas*/
padding:0px 0px 0px 5px;
/*todos os espaamentos, topo, direita, inferior e esquerda*/
background-color:#77bb9ed;
font-weight:bolder;
/*define a espessura da fonte especificada*/
border-bottom:1px solid #999900;
}
/*esta div usada para orientar o usurio de que operao do menu
encontra-se ativa*/
<?php
include ../../../includes/valida_sessao.php;
?>
<html>
<head>
<meta http-equiv=Content-Type content=text/html; charset=iso-8859-1 />
<title>:: INFORMATIVO ON-LINE - REA RESTRITA</title>
<link href=../../../css/layout.css rel=stylesheet />
</head>
<script language=javascript src=../../../funcoesjs/funcoes.js> </script>
<body>
<div id=geral><!--Chamar a div geral-->
PROGRAMAO WEB
107
</form>
</center>
<br />
<div class=barra_opcoes> • USUÁRIOS CADASTRADOS </div>
<br />
<table border=1 align=center bordercolor=#77bb9ed width=60%>
<tr>
<td align=center width=40%><font size=2><strong>USUÁRIO</
strong></font></td>
<td align=center width=50%><font size=2><strong>NOME</strong></
font></td>
<td><font size=2><strong>Editar</strong></font></td>
<td><font size=2><strong>Excluir</strong></font></td>
</tr>
<tr>
<?php
include ../../../includes/conexao.php;
$sql=mysql_query(SELECT * FROM usuarios) or die (mysql_error());
while($dados=mysql_fetch_array($sql))
{
$user=$dados[username];
$senha=$dados[senha];
$nome=$dados[nome];
$email=$dados[nivel];
?>
<td align=center><font size=2><?php echo $user ?></font></td>
<td><font size=2><?php echo $nome ?></font></td>
<?php
echo <td align=center><a href=edi_usuario.php?user=$user><img src=../../../
imagens/editar.jpg align=center title=Editar esse usuário</a></td>;
echo
<td
align=center><a
href=val_del_usuario.php?user=$user
onClick=return confirma(\$user\)><img src=../../../imagens/excluir.jpg
align=center title=Excluir esse usuário</a></td>;
?>
</tr>
</table>
</div>
<div id=divisoria>
<a href = javascript:history.back()>Retornar</a><!--Retorna ao formulrio. -->
</div>
<div id=rodape> © Exemplo didtico de aplicao web - Todos os direitos reservados.
</div><!--finaliza a div rodape-->
</div>
</body>
</html>
PROGRAMAO WEB
109
Comentrios
Isto se d, principalmente, porque no incio do script da pgina usurio.php
voc encontra um include para o arquivo valida_sessao.php, ou seja, toda vez
que esta pgina for chamada uma validao de sesso ser realizada para saber
se o usurio que est acessando est autorizado ou no a acessar a pgina.
Se tudo estiver ok, foi criada uma sesso para o Usurio autenticado, o
resultado ser o acesso a pgina restrita, usuario.php, e o cadastramento
de novos usurios ser permitido, tendo como resultado:
<?php
function inclusaobd($tabela, $dados){
// Cadastra dados no banco de dados
/*
** tabela = tabela onde os dados sero salvos
** dados = dados a serem inseridos na tabela
**
** Os dados devem vir no seguinte formato: $dados[nome_do_campo] = valor_do_campo
**/
// Exemplo: inclusaobd(produtos, $dados);
// Insere $dados na tabela produtos
$totcampos = count($dados); // Conta quantos campos sero inseridos
$pos = array_keys($dados); // Guarda os nomes dos campos
$ind = 0;
$sql = INSERT INTO $tabela (; // Incio da construo da funo
// Inserir os nomes dos campos no sql enquanto houver campos
while ($ind <= ($totcampos - 1))
{
$sql .= $pos[$ind]., ;
$ind++;
}
// Retira a vrgula e o espao que sobram aps a insero dos nomes de campo
$sql = substr($sql, 0, -2);
$sql .= ) VALUES (;
$ind = 0;
//Inserir os valores nos campos enquanto houver campos
while ($ind <= ($totcampos - 1 ))
{
$sql .= .$dados[$pos[$ind]]., ;
$ind++;
}
// Retira a vrgula e o espao no final
$sql = substr($sql, 0, -2);
$sql .= );
//Ativa a funo
$res = mysql_query($sql) or die (ERRO SQL: .mysql_error());
//Retorna o resultado
if ($res){
return true;
}
else{
return false;
}
}
function atualizacaobd($tabela, $dados, $where){
// Atualiza dados no banco de dados
/*
** tabela = tabela onde os dados sero atualizados
PROGRAMAO WEB
111
<html>
<head>
<title></title>
<link href=../../../css/layout.css rel=stylesheet />
</head>
<body>
<div id=geral><!--Chamar a div geral-->
<div id=cabecalho><!--Chamar a div cabecalho-->
INFORMATIVO ONLINE
</div><!--Fechar a div cabecalho-->
<div id=divisoria><!--Chamar a div divisoria-->
</div><!--Fechar a div divisoria-->
<div id=meio1>
<?php
include ../../../includes/mensagens.php; /*inclui este arquivo para acessar as mensagens*/
include ../../../funcoesbd/funcoesbd.php; /*incluir este arquivo para acessar a funo
para incluso de dados*/
include ../../../includes/conexao.php; /*inclui este arquivo para fazer a conexo com o
banco de dados*/
$username_usu=$_POST[txtlogin]; /*captura o nome do usurio informado no
cadastro*/
/* abaixo temos um comando select que efetua a consulta na tabela usuarios a fim de localizar o usurio que est sendo cadastrado momento, em uma situao seguinte, isto objetiva
saber se o novo usurio que est sendo cadastrado, j existe. */
$sql = mysql_query(SELECT username FROM usuarios WHERE username=$username_
usu)or die(mysql_error());
//captura o resultado da consulta e armazena na varivel array $dados
$dados=mysql_fetch_array($sql);
//captura o valor do campo usurio encontrado e armazena em $user_bd
$user_bd=$dados[username];
//verifica se o contedo de $user_bd igual ao nome de usurio informado pelo operador
if ($user_bd == $username_usu)
{
$mens=menlog(5); //Usurio j existe
}else{
/* Caso trate-se de um novo usurio, captura o valor dos campos digitados no formulrio e
armazena em um vetor (array) $campos para que em um passo seguinte sejam enviados a
funo que ir incluir estes dados na tabela de usurios. */
$campos=array
(
username
=> $_POST[txtlogin],
senha
=> md5($_POST[txtsenha]),
nome
=> $_POST[txtnomcomp],
nivel => $_POST[selnivel]
);
/*Armazena na varivel $sucesso o resultado da incluso dos dados */
PROGRAMAO WEB
113
$sucesso=inclusaobd(usuarios,$campos);
if($sucesso)
{ //Se incluso efetuada com sucesso?
$mens=menlog(3); //Cadastro efetuado com sucesso
}else{ //Se incluso no efetuada com sucesso ?
$mens=menlog(4); //Erro no cadastro. Tente novamente!
}
}
//tabela que formata a mensagem de erro
echo <center>;
echo <table>;
echo <tr>;
echo <td>.$mens.</td>;
echo </tr>;
echo </table>;
?>
</div>
<div id=divisoria>
<a href = javascript:history.back()>Retornar</a><!--Retorna ao formulrio.-->
</div>
</div>
</body>
</html>
function confirma(cad){
var
ask = confirm(Confirma excluso do usurio : + cad + ?);
if (ask){
return true;
}else{
return false;
}
}
<html>
<head>
<title>::INFORMATIVO ONLINE - EXLUI USURIO::</
title>
<link href=../../../css/layout.
css rel=stylesheet />
</head>
<body>
<?php
include ../../../
includes/mensagens.php;
/*inclui este arquivo para
acessar as mensagens*/
include ../../../funcoesbd/
funcoesbd.php; /*incluir
este arquivo para acessar
a funo para incluso de
dados*/
include ../../../includes/
conexao.php; /*inclui este
arquivo para fazer a conexo
com o banco de dados*/
//MENSAGENS UTILIZADAS
$mens8=menlog(10);
$mens9=menlog(11);
?>
<div id=geral><!--Chamar a
div geral-->
<div id=cabecalho>
<!--Chamar a div cabecalho-->
INFORMATIVO ONLINE
</div>
<!--Fechar a div cabecalho-->
<div id=divisoria>
<!--Chamar a div divisoria-->
</div>
<!--Fechar a div divisoria-->
<div id=meio1>
<?php
$id_usu=$_
GET[user];
$where=username=$id_
usu;
$sucesso=exclusaobd(
usuarios,$where);
if($sucesso)
{
$mensagem=menlog(8);
PROGRAMAO WEB
115
}else{
$mensagem=menlog(9);
}
//tabela que formata a mensagem de erro
echo <center>;
echo <table>;
echo <tr>;
echo <td>.$mensagem.</td>;
echo </tr>;
echo </table>;
?>
</div>
<div id=divisoria>
<a href = javascript:history.back()>Retornar</a><!--Retorna ao formulrio.-->
</div>
<div id=rodape>
<br />© Exemplo didtico de aplicao web - Todos os direitos reservados.
</div>
</div>
</body>
</html>
<?php
include ../../../includes/conexao.php;
?>
<html>
<head>
<meta http-equiv=Content-Type content=text/html; charset=iso-8859-1 />
<title>:: INFORMATIVO ON-LINE - REA RESTRITA</title>
<link href=../../../css/layout.css rel=stylesheet />
</head>
<script language=javascript src=../../../funcoesjs/funcoes.js> </script>
<body>
<div id=geral><!--Chamar a div geral-->
<div id=cabecalho><!--Chamar a div cabecalho-->
INFORMATIVO ONLINE
</div><!--Fechar a div cabecalho-->
<div id=divisoria><!--Chamar a div divisria-->
<p align=center><a href=../../../logout.php>Logout</a></p>
</div><!--Fechar a div divisria-->
<?php
$id_usu=$_GET[user];
$sql=mysql_query(SELECT * FROM usuarios WHERE username=$id_usu);
$dados=mysql_fetch_array($sql);
$user_usu=$dados[username];
$senha_usu=$dados[senha];
$nome_usu=$dados[nome];
$nivel_usu=$dados[nivel];
?>
<div id=meio1>
<form name=frmaltusuario method=post action=val_atu_usuario.php>
<input type=hidden name=txt_usuario value=<?php echo $id_usu;?>>
<div class=barra_opcoes> • ATUALIZAR CADASTRO DE USUÁRIO </div>
<br />
<center>
<table width=90% border=0>
<tr>
<td width=200 class=alinha_dir>Nome de usuário:</td>
<td width=500 class=alinha_esq> <b><?php echo $id_usu;?></b> </td>
</tr>
<tr>
<td width=150 class=alinha_dir>Nome completo:</td>
<td width=750 class=alinha_esq> <input type=text size=43 maxlength=45 id=txt_nome_usu name=txt_nome_usu value=<?php echo $nome_usu;?>/></
td>
</tr>
<tr>
<td width=150 class=alinha_dir>Senha:</td>
<td width=750 class=alinha_esq> <input type=password size=9 maxlength=10 id=txt_senha_usu name=txt_senha_usu /></td>
</tr>
<tr>
<td width=150 class=alinha_dir>Nível de acesso:</td>
<td width=750 class=alinha_esq>
<?php
$esc_nivel[0]=Administrador;
$esc_nivel[1]=Operador;
$qtd_niveis=count($esc_nivel);
PROGRAMAO WEB
117
?>
<select name=sel_nivel_usu id=sel_nivel_usu>
<option value=>-- ESCOLHA --</option>
<?php
for($ind=0;$ind<=$qtd_niveis;$ind++){
if ($nivel_usu==$ind){
echo <option value=$nivel_usu selected=selected>$esc_nivel[$nivel_
usu]</option>;
}else{
echo <option value=$ind>$esc_nivel[$ind]</option>;
}
}
?>
</select>
</td>
</tr>
</table>
<br />
<table width=90% border=0>
<tr>
<td width=50% class=alinha_cnt><input type=submit value=Atualizar/></td>
</tr>
</table>
</center>
</form>
</div>
<div id=divisoria>
<a href = javascript:history.back()>Retornar</a><!--Retorna ao formulrio.-->
</div>
<div id=rodape>
© Exemplo didtico de aplicao web - Todos os direitos reservados.
</div><!--finaliza a div rodape-->
</body>
</html>
<html>
<head>
<title></title>
<link href=../../../css/layout.css rel=stylesheet />
</head>
<body>
<div id=geral><!--Chamar a div geral-->
<div id=cabecalho><!--Chamar a div cabecalho-->
INFORMATIVO ONLINE
</div><!--Fechar a div cabecalho-->
<div id=divisoria><!--Chamar a div divisria-->
<p align=center><a href=../../../logout.php>Logout</a></p>
</div><!--Fechar a div divisria-->
<div id=meio1>
<?php
include ../../../includes/mensagens.php; /*inclui este arquivo para acessar as
mensagens*/
include ../../../funcoesbd/funcoesbd.php; /*incluir este arquivo para acessar a funo
para incluso de dados*/
include ../../../includes/conexao.php; /*inclui este arquivo para fazer a conexo com o
banco de dados*/
$usuario=$_POST[txt_usuario];
$procura=username = $usuario;
if ($_POST[txt_senha_usu]==)
{
$_SESSION[dados]=array
(
nome => $_POST[txt_nome_usu],
nivel => $_POST[sel_nivel_usu]
);
}else{
$_SESSION[dados]=array
(
senha
=> md5($_POST[txt_senha_usu]),
nome
=> $_POST[txt_nome_usu],
nivel
=> $_POST[sel_nivel_usu]
);
}
$sucesso=atualizacaobd(usuarios,$_SESSION[dados],$procura);
if($sucesso)
{
$mens=menlog(6);
}else{
$mens=menlog(7);
}
PROGRAMAO WEB
119
Seo 3
PROGRAMAO WEB
121
Finalizando
Esta unidade curricular proporcionou conhecimentos para que voc seja capaz de desenvolver aplicaes web de nvel intermedirio e tambm de desenvolver-se bem na investigao e utilizao de
novas tecnologias que agreguem ao seu desenvolvimento profissional.
Em desenvolvimento de aplicaes web fundamental conhecer o ambiente de desenvolvimento
que trabalhar, as tecnologias de software que permitam o desenvolvimento, em nvel intermedirio,
de aplicaes para web. Isto justifica a estrutura dos assuntos abordados, primeiramente houve a
preocupao em oferecer a voc subsdios tericos para que preparasse o ambiente onde estaria
desenvolvendo e executando suas aplicaes.
Conhecendo sobre o ambiente, seus elementos e como instalar j foi possvel iniciar o conhecimento sobre as tecnologias de software que precisaria para implementar suas aplicaes. Foi que ocorreu,
iniciou-se o trabalho a partir do conhecimento da linguagem HTML, onde procurou-se focar nos
recursos principais e fundamentais para o desenvolvimento de web sites e/ou aplicaes web.
Estudando HTML a base da Internet, partiu-se para o estudo da CSS, que como voc acompanhou, auxilia a HTML estilizando seus componentes, podendo esta ser trabalhada de vrias formas,
adequando as suas necessidades.
Voc teve a oportunidade em conhecer uma linguagem de programao dinmica, optou-e pela
PHP. Neste contexto o foco foi os fundamentos da linguagem, chegando a um nvel intermedirio
no trabalhando em nveis avanados, mas possibilitando que o faa, desde que compreendido os
assuntos e desenvolvido os exemplos e atividades propostas.
Estudar programao requer muita dedicao, foco, prtica e perseverana, caso no tenha compreendido alguns dos conhecimentos repassados procure auxlio, mas no permanea com a dvida.
Procure tambm evoluir, aqui foi apenas um incio de um processo, fundamental, lgico, mas a
primeira caminhada para sua evoluo como desenvolvedor web profissional.
PROGRAMAO WEB
123
Referncias
MUTO, Claudio. PHP & MYSQL Guia Introdutrio. 3.ed.Rio de Janeiro, RJ: BRASPORT, 2006.
PROGRAMAO WEB
125
Design Educacional
Rozangela Aparecida Valle
Capa, Ilustraes, Tratamento de Imagens
Dimitre Camargo Martins
Diego Fernandes
Luiz Eduardo Meneghel
Diagramao
Juliana Vieira de Lima
Reviso e Fechamento de Arquivos
Daniela de Oliveira Costa
Juliana Vieira de Lima
Reviso Ortogrfica e Normatizao
SENAI/SC em Jaragu do Sul
PROGRAMAO WEB
127