-
Primeiros Elogios ao Use a Cabea! PHP & MySQL
PHP e MySQL so duas das tecnologias de desenvolvimento web mais
populares de hoje em dia, e este livro mostra aos leitores o porqu.
Criar um site sem elas, atualmente, to inimaginvel quanto fazer web
design sem CSS. Este livro uma tima introduo e tambm uma boa fonte
de risadas. E o livro que eu queria ter tido quando estava
aprendendo.
Harvey Quamen, Professor ssociado de Ingls e Humanities
Computing, Universidade de Alberta
Tudo o que nos acostumamos a aceitar como trabalho pesado no
processo de aprendizado tcnico foi abandonado, e em seu lugar foi
criado um incomum mtodo de aprendizado divertido. Eu tenho plena
confiana de que a srie Use a Cabea! ir revolucionar a indstria de
livros tcnicos, e que estes mtodos acabaro se tornando o padro.
Aposto que at a minha av tecnofbica poderia aprender tcnicas de PHP
e MySQL aps uma nica leitura. Ela provavelmente ainda se divertiria
ao faz-lo!
Will Harris, Administrador de Bancos de Dados, Powered By
Geek
Ler Use a Cabea! PHP 8c MySQL como assistir a uma aula do
professor legal. Faz voc ficar com vontade de aprender.
---- Stephanie Liese, Desenvolvedora Web
Usando imagens e humor, o livro fcil de digerir, e ainda por
cima apresenta um slido conhecimento tcnico.
Jereme Alien, Desenvolvedor Web
Aps uma desafiadora e ultrarrpida primeira leitura, e vrios
projetos prticos divertidos, como por exemplo Meu cachorro foi
abduzido por aliengenas e a Agncia de Encontros Mismatch, no vejo a
hora de adicionar um pouco de PHP aos meus sites.
David Briggs. Engenheiro de Software e Escritor de Livros
Tcnicos
-
Elogios ao Use a Cabea! HTML com CSS & XHTML
Eric e Elisabeth Freeman claramente entendem do assunto. medida
que a Internet vai se tornando mais complexa, fica cada vez mais
importante criar pginas web atraentes. O design elegante o cerne de
todos os captulos aqui, e cada conceito apresentado com doses
iguais de pragmatismo e inteligncia.
Ken Gold-Stein, Vice-Presidente Executivo & Diretor-Gerente,
Disney OnlineA web seria um lugar muito melhor se todo designer
HTML comeasse lendo este livro.
L. David Baron, Diretor Tcnico de Layout & CSS, Mozilla
Corporation,http://dbaron. org/
Eu escrevo HTML e CSS h dez anos, e o que antes era um longo
processo de aprendizado por tentativa e erro agora acaba de ser
reduzido a um nico e atraente livro. HTML costumava ser algo que
voc simplesmente ficava fuando at que as coisas ficassem bem na
tela, mas com o advento de padres web e a exigncia de melhor
acessibilidade, prticas de programao preguiosas j no so mais
aceitveis... nem do ponto de vista empresarial, nem do ponto de
vista da responsabilidade social. Use a Cabea! HTML com CSS &
XHTML lhe ensina como fazer as coisas corretamente desde o
princpio, sem fazer com que o processo parea impossvel de aprender.
A linguagem HTML, quando corretamente ensinada, no mais complicada
do que aprender ingls, e os Freemans izerm um excelente trabalho em
manter todos os conceitos compreensveis.
Mike Davidson, Presidente & CEO, Newsvine Inc.Ah, timo. Vocs
fizeram um livro de XHTML simples o suficiente para que um CEO
consiga entend-lo. O que faro a seguir? Um livro de contabilidade
simples o suficiente para que o meu desenvolvedor consiga entender?
Se continuar assim acabaremos tendo de fazer coisas como colaborar
e trabalhar em equipe.
Janice Fraser, CEO, Adaptive PathEste livro tem humor, charme,
mas o mais importante: tem corao. Eu sei que parece algo ridculo de
se dizer sobre um livro tcnico, mas eu realmente percebo que, no
seu cerne, este livro (ou pelo menos os seus autores) realmente est
preocupado em fazer os leitores aprenderem o material. Isso se faz
notar no estilo, na linguagem e nas tcnicas. O aprendizado -
realmente entender e compreender - pelo leitor claramente o
objetivo nmero um na mente dos Freemans. E obrigado, obrigado,
obrigado pela forte e sensvel insistncia que o livro prega pelo
respeito aos padres. timo ver um livro para iniciantes, o qual
acredito, que vai ser amplamente lido e estudado, fazer uma
campanha to eloquente e persuasiva pelo valor do respeito aos
padres na programao de pginas web. Encontrei aqui at mesmo alguns
argumentos que ainda no tinham-me ocorrido
- argumentos que eu posso me lembrar e usar quando as pessoas me
perguntam, e elas perguntam, qual a vantagem de respeitar os
padres, e por que eu devo faz-lo? Agora eu tenho mais munio! Tambm
gostei do fato de o livro apresentar alguns fundamentos sobre a
mecnica de como realmente colocar a pgina no ar - FTP, fundamentos
do servidor web, estruturas de arquivos, etc.
Robert Neer, Diretor de Desenvolvimento de Produto,
Movies.com
-
Elogios ao Use a Cabea! JavaScript
To prtico e til, e to bem-explicado. Este livro faz um excelente
trabalho dt^apresentar um iniciante total ao JavaScript, e mais uma
prova da eficincia do mtodo d ensino Use a Cabea! De todos os
outros livros de JavaScript, Use a Cabea! JavaScript timo para
aprender, comparado com outros livros de referncia do tamanho de
listas telefnicas.
Alex Lee, Estudante, Universidade de Houston
Uma excelente opo para o desenvolvedor JavaScript iniciante.
Fletcher Moore, Desenvolvedor e Designer Web, Georgia Institue
of
Technology
Mais um timo livro no clssico estilo Use a Cabea! TW
Scannell
O JavaScript vem sendo h bastante tempo o sistema por trs das
pginas web, no lado do cliente, mas vem sendo tambm mal entendido e
mal utilizado. Com Use a Cabea! JavaScript, Michael Morrison
apresenta uma introduo direta e fcil de entender sobre a linguagem,
removendo quaisquer mal entendidos que possam ter existido e
mostrando como us-la da forma mais eficiente para melhorar suas
pginas web.
Anthony T. Holdener UI, Desenvolvedor de aplicaes web e autor de
Ajax: OGuia Definitivo
Uma pgina web tem trs partes - contedo (HTML), aparncia (CSS) e
comportamento (JavaScript). Use a Cabea! HTML apresentou os dois
primeiros, e este livro usa a mesma abordagem divertida e prtica
para introduzir o JavaScript. A forma divertida com que o livro
apresenta o JavaScript, e as muitas formas como ele refora as
informaes para que voc no as esquea, fazem deste um livro perfeito
para iniciantes usarem para comear a aprender a tom ar suas pginas
web interativas.
Stephen Chapman, Dono da Felgall Pty Ltd., editor de JavaScript
de about.com
Este o livro que eu estive procurando para recomendar aos meus
leitores. E simples o suficiente para totais iniciantes, mas inclui
aprofundamentos suficientes para ser til aos usurios mais avanados.
E tom a divertido o processo de aprendizado. Este pode acabar sendo
o nico livro de JavaScript de que voc precisar.
Julie L. Baumler, Editora de JavaScript de BellaOnline.com
-
Outros livros da srie Use a Cabea!
Use a Cabea! Java
Use a Cabea! Anlise & Projeto Orientado a Objetos (A&PO
O )
Use a Cabea! A jax Iniciao Rpida
Use a Cabea! H TM L com C SS e X H TM L
Use a Cabea! Padres de Projeto
Use a Cabea! Servlets e JSP
Use a Cabea! PM P
Use a Cabea! SQ L
Use a Cabea! Desenvolvimento de Software
Use a Cabea! JavaScript
Use a Cabea! C #
Use a Cabea! P H P & M ySQ L
Use a Cabea! Fsica
Use a Cabea! lgebra
Use a Cabea! A jax Profissional
Use a Cabea! Estatstica
Use a Cabea! Ruby on Rails
-
Use a Cabea! PHP & MSQL
v -ALTA BOOKSE D I T O R ARio de Janeiro 2010
-
Use a Cabeal PHP & MySQLCopyright 2010 da Starlin Alta Con.
Com. Ltda. ISBN: 978-85-7608-502-7Produo Editorial:Starlin Alta
Con. Com. Ltda.Gerncia de Produo:Maristela AlmeidaCoordenao
Administrativa:Anderson CmaraSuperviso de Produo:Angel
CabezaTraduo:Marcelo SantosReviso Gramatical:Ftima Regina
FlixReviso Tcnica;Giuliana CirelliFormada em Engenharia Eltrica com
nfase em eletrnica. Especializada em Programao em linguagem C++ e
nos ambientes de desenvolvimento Eclipse e Visual Studio.
Diagramao:Haroldo Sodr
Fechamento:Luis Rodrigues
Translated From Original: Head First PHP & My SQL ISBN:
978-0- 596-00630-3Use a Cabea.! PHP & My SQL 2010 Starlin Alta
Con. Com. Ltda. Authorized translation o f the English edition o f
Head First PHP & MySQL 2 00 9 Lynn Beighley and Michael
Morrison. This translation is published and sold by permission o f
OReilly Media, Inc., the owner o f all rights to publish and sell
the same. PORTUGUESE language edition published by Editora Starlin
Alta Con. Com. Ltda. Copyright 2010 by Editora Starlin Alta Con.
Com. Ltda.
Todos os direitos reservados e protegidos pela Lei ne 9.610/98.
Nenhuma parte deste livro, sem autorizao prvia por escrito da
editora, poder ser reproduzida ou transmitida sejam quais forem os
meios empregados: eletrnico, mecnico, fotogrfico, gravao ou
quaisquer outros. Todo o esforo foi feito para fornecer a mais
completa e adequada informao, contudo a editora e o(s) autor(es) no
assumem responsabilidade pelos resultados e usos da informao
fornecida. Recomendamos aos leitores testar a informao, bem como
tomar todos os cuidados necessrios (como o backup), antes da
efetiva utilizao. Este livro no contm CD-ROM, disquete ou qualquer
outra mdia.Erratas e atualizaes: Sempre nos esforamos para entregar
a voc, leitor, um livro livre de erros tcnicos ou de contedo; porm,
nem sempre isso conseguido, seja por motivo de mudana de software,
interpretao ou mesmo quando alguns deslizes constam na verso
original de alguns livros que traduzimos. Sendo assim, criamos em
nosso site, www.altabooks.com. br, a seo Erratas, onde relataremos,
com a devida correo, qualquer erro encontrado em nossos
livros.Avisos e Renncia de Direitos: Este livro vendido como est,
sem garantia de qualquer tipo, seja expressa ou implcita.Marcas
Registradas: Todos os termos mencionados e reconhecidos como Marca
Registrada e/ou comercial so de responsabilidade de seus
proprietrios. A Editora informa no estar associada a nenhum produto
e/ou fornecedor apresentado no livro. No decorrer da obra, imagens,
nomes de produtos e fabricantes podem ter sido utilizados e, desde
j, a Editora informa que o uso apenas ilustrativo e/ou educativo,
no visando ao lucro, favorecimento ou desmerecimento do
produto/fabricante.Impresso no BrasilO cdigo de propriedade
intelectual de Io de julho de 1992 probe expressamente o uso
coletivo sem autorizao dos detentores do direito autoral da obra,
bem como a cpia ilegal do original. Esta prtica generalizada, nos
estabelecimentos de ensino, provoca uma brutal baixa nas vendas dos
livros a ponto de impossibilitar os autores de criarem novas
obras.
ALTA BOOKSEDI TORARua Viva Cludio, 291 - Bairro Industrial do
Jacar
TFP- 9n07
-
Para os meus pais, que frequentemente usam aplicaes web e esto
sempre me apoiando- Lynn Beighley
Para Rasmus Lerdorf, que iniciou sozinho a linguagem que
acabaria se tornando o PHP como ns o conhecemos. Prova duradoura de
que realmente basta uma pessoa para liderar a todos ns em direo a
um caminho novo e mais esclarecido.- Michael Morrison
-
o(s) autor{es)
Os Autores de Use a Cabepa! PttP S- MySQL
Lynn Beighley uma escritora de fico presa no corpo de uma
escritora de livros tcnicos. Aps descobrir que escrever livros
tcnicos realmente dava dinheiro, ela aprendeu a aceitar e desfrutar
a profisso. Depois de voltar escola para obter um Mestrado em
Cincia da Computao, trabalhou para os acrnimos NRL e LANL.Depois,
descobriu o Flash e escreveu seu primeiro best-seller. Vtima de um
timing infeliz, mudou-se para Silicon Valley pouco antes da grande
crise. Passou alguns anos trabalhando parao Yahoo! e escrevendo
outros livros e cursos de treinamento. Finalmente rendendo-se sua
vocao de escritora, mudou-se para a rea de Nova Iorque para obter
um MFA em Escrita Criativa. Sua tese, escrita no estilo Use a
Cabea!, foi defendida diante de uma sala lotada de professores e
colegas estudantes.Foi extremamente bem-recebida, e ela terminou
seu curso, terminou Use a Cabea! SQL, e acabou de terminar Use a
Cabea! PHP f MySQL. Ufa!Lynn adora viajar, escrever e inventar
histrias detalhadas sobre totais estranhos. Ela tem um pouco de
medo de OVNIs.
\,VtC^Mo'r'f'SOir'
Michael Morrison tem sido um contribuinte entusiasmado ao mundo
online desde quando m antinha um BBS no seu Commodore 64, na poca
em que ser nerd era bem menos maneiro do que hoje em dia. Alguns
milhares de bauds depois, ele ainda fica fascinado com o progresso
que fizemos, e com que rapidez. Michael no tem mais um BBS, mas
ainda se mantm bastante envolvido com os equivalentes modernos e
com as ferramentas que usamos para cri-los. Ele passa a maior parte
do seu tempo
oficial escrevendo sobre tecnologias relacionadas com a web,
tendo escrito ou co-escrito mais de cinquenta livros, a respeito
desde programao de jogos para celulares at XML. Entrou no universo
Use a Cabea! com Use a Cabea! JavaScript e no parou mais.Michael
tambm o fundador da Stalefish Labs (www.stalefishlabs.com, uma
empresa de entretenimento especializada em jogos, brinquedos e mdia
interativa. E j foi visto passando tempo fora da Internet (o qu?!)
andando de skate, jogando hquei no gelo e cuidando do seu lago de
carpas com sua esposa Masheed. Ele at mesmo dorme, de vez em
quando.
-
contedo
Contedo (Sumrio)Introduo xxvii1 Est Vivo: A dicionando Vida s
Suas Pginas Estticas 12 Como Tudo se Combina: Conectando-se ao
MySQL 593 Criando os Seus Prprios Dados: Crie e Preencha um Banco
de Dados 1034 Sua Aplicao na Web: Aplicaes Realistas e Prticas 1595
Q uando um Banco de Dados No o Suficiente: Trabalhando com
Dados Armazenados em Arquivos 2236 Presum a que Esto Todos Q
uerendo Te Pegar: Tom ando a Sua Aplicao Segura 2957 Lem bra de
Mim?: Criando A|icaes Web Personalizadas 3457V4 Com partilhar
Cuidar: Elimine Cdigo Duplicado 4178 Colhendo Dados: Controle Seus
Dados, Controle Seu M undo 4279 Vivendo M elhor Atravs das Funes:
Funes String e Personalizadas 50110 Regras Para Substituio:
Expresses Regulares 56111 D esenhando Grficos Dinmicos:
Visualizando seus Dados...e Mais! 605
12 Interfaces com o Mundo: Republicao e Servios Web 657i Os Dez
Principais Tpicos (Que No Abordamos): Sobras 713ii Um Lugar para
Brincar: Configure um Am biente de Desenvolvimento 731iii O btenha
Ainda Mais Proveito: Amplie Seu PHP 749ndice Remissivo 755
Contedo (a coisa real)
IntroduoSeu crebro ligado no PHP e MySQL. voc est
tentandoaprender alguma coisa, enquanto o seu crebro est lhe
fazendo um favor ao
certificar-se de que voc no aprenda. Seu crebro est pensando
melhor guardar
espao para coisas mais importantes, como por exemplo, quais
animais selvagens
evitar e se fazer yoga em baixo d'gua uma boa ideia". Ento, como
enganar o seu
crebro, fazendo-o pensar que a sua vida depende de aprender PHP
e MySQL?
A quem se destina este livro? xxviSabemos o que voc est pensando
xxixMetacognio xxxiFaa seu crebro lhe obedecer xxxiiiLeia-me
xxxivReviso tcnica xxxviAgradecimentos xxxvii
ix
-
contedo (sumrio)
Adicionando Vida s Suas Paginas Estticas
Est VivoVoc tem criado timas pginas web com HTML, com toques de
CSS. Mas tem percebido que os visitantes do seu site no podem fazer
muita coisa alm de olhar passivamente o contedo das pginas. A
comunicao
est unidirecional, e voc gostaria de mudar isso. Na verdade, o
que voc realmente
gostaria de saber o que o seu pblico est pensando. Mas para isso
preciso
permitir que os usurios digitem informaes em um formulrio web,
para que possa
saber o que eles tm em mente. E tambm precisa ser capaz de
processar essas
informaes, para que elas lhe sejam entregues. Est comeando a
parecer que vai
precisar de mais do que HTML para levar seu site para o prximo
nvel.
HTML esttico e chato 2
PHP d vida s pginas web 3
Um form ulrio ajuda Owen a descobrir toda a histria 5
Formulrios so feitos de HTML 6
O form ulrio HTML apresenta problem as 8
HTML roda no cliente 10
PHP roda no servidor 11
Os scripts PHP rodam no servidor 12
Use PHP para acessar os dados do form ulrio 16
Os scripts PHP precisam ficar em um servidor! 18
O servidor transform a PHP em HTML 22
Algumas regras PHP para o seu cdigo 25
Encontrando o nom e perfeito para a sua varivel 26
Variveis servem para arm azenar dados de scripts 31
POST um a varivel especial que arm azena
dados do form ulrio 33
$_POST transporta os dados do form ulrio para o seu script
34
Criando o corpo da mensagem de email com PHP 44
At mesmo texto simples pode ser formatado... um pouco 46
Newlines precisam de aspas duplas 47
Crie um a mensagem de email para Owen 48
As variveis arm azenam as partes do email 49
Enviando um a mensagem de email com PHP 50
Owen com ea a receber emails 53
Owen com ea a perder emails 54
-
contedo (sumrio)
C o n e c t a n d o - s e M / S o L
Como Tudo se CombinaSaber como as coisas se encaixam, antes de
comear a construir, uma boa ideia. Voc criou seu primeiro script
PHP, e ele estfuncionando bem. Mas obter os seus resultados em um
email j no bom o suficiente.
Agora precisa de uma forma de guardar os resultados do seu
formulrio, para que possa
mant-los pelo tempo que precisar, e ter acesso a eles quando
quiser. Um banco de dados
MySQL pode armazenar seus dados para voc. Mas preciso conectar
seu script PHP ao
banco de dados MySQL para fazer isso acontecer.
O form ulrio de Owen funciona bem. Bem at demais...
MySQL excelente para arm azenar dados
Owen precisa de um banco de dados MySQL
Crie um banco de dados e um a tabela MySQL
A instruo INSERT em ao
Use SELECT para obter dados da tabela
Deixe o PHP lidar com as coisas tediosas do SQL
O PHP perm ite usar os dados do form ulrio web de Owen
Conecte-se ao seu banco de dados a partir do PHP
Insira dados com um script PHP
Use funes PHP para falar com o banco de dados
Conecte-se com mysqli_connect()
Construa a query INSERT no PHP
Consulte o banco de dados MySQL com PHP
Encerre sua conexo com mysqli-close{)
$_POST fornece os dados do form ulrio
Owen precisa de ajuda para peneirar seus dados
91
60
61626467707374767778 80 85
96
86
87
1 Owen sai em busca de Fang 98
-
Crie e rteencjici um Betnco de DcufosCriando os Seus Prprios
DadosNem sempre voc tem os dados de que precisa.s vezes voc mesmo
tem que criar os dados que pretende usar, s vezes
precisa criar as tabelas que iro armazenar esses dados E s vezes
precisa criar
o banco que armazenar os dados que precisa criar. Confuso? Voc
no ficar.
Prepare-se para aprender como criar seus prprios bancos de dados
e tabelas. E
se isso no for o suficiente, ainda criar, no processo, a sua
primeira aplicao
combinando PHP e MySQL.
A loja Elvis est aberta 104
Elm er precisa de um a aplicao 105
Visualize o projeto da aplicao de Elmer 106
Tudo com ea com um a tabela 109
Faa contato com o servidor MySQL 110
Crie um banco de dados para os emails de Elmer 111
Crie um a tabela dentro do banco de dados 112
JPrecisamos definir os nossos dados 113
I Conhea alguns tipos de dados MySQL 114
Crie sua tabela com um a consulta 117
SELECIONE o banco de dados antes de us-lo 120
DESCRIBE revela a estru tura das tabelas 123
I Elmer est pronto para arm azenar dados 125
Crie o script Adicionar Email 126
O outro lado da aplicao de Elm er 133
O funcionam ento in terno do script Enviar Email 134
Em prim eiro lugar, obtenha os dados 135
mysqli_fetch_array() obtm os resultados da consulta 136
Loop para um WHILE 139
Loop atravs dos dados com while 140
Voc tem email... de Elmer! 145
As vezes, as pessoas querem sair 146
Removendo dados com DELETE 147
Use WHERE e DELETE para apagar
dados especficos 148
Minimize o risco de apagam entos acidentais 149
QueroSerElvis.com um a aplicao web 154
contedo (sumrio)
customer mafling (tf;
-
A p l i c a r e s R e a l i s t a s e p r t i c a s
Sua Aplicao na Webs vezes voc precisa ser realista e repensar
seus planos.Ou ento planejar com mais cuidado logo no comeo. Uma
vez lanada a sua
aplicao na Web, voc poder descobrir que no planejou
suficientemente bem.
Coisas que pensou que funcionariam podem no ser boas o
suficiente no mundo
real. Este captulo d uma olhada em alguns problemas do mundo
real que podem
ocorrer quando voc transfere sua aplicao do ambiente de testes
para um site real. E
enquanto isso, lhe mostraremos exemplos de cdigos PHP e SQL
importantes.
contedo (sumrio)
MateMe&vfccoMitocywrlIrWraT*. Ja*rw>w Mafc* Ma Bvfe
wiflnfl 'l&l
Er*3u-,
Cusni*r
-
contedo (sumrio)
T r a b a l h a n d o c o m D a d o s A r m a z e n a d o s m A
^ u l V o s
Quando um Banco de Dados No o SuficienteNo acredite no hype...
peio menos no naquele sobreOS banCOS de dados. Certamente os bancos
so maravilhosos para se armazenar todo tipo de dados que envolvam
texto, mas e quanto aos dados binrios?
Coisas como imagens JPEG e documentos PDF? Faz sentido armazenar
todas essas
figuras da sua coleo de palhetas raras de guitarra em uma tabela
de banco de
dados? Geralmente no. Esses tipos de dados normalmente so
armazenados em
arquivos, e ns os deixaremos nos arquivos. Mas inteiramente
possvel ter o melhor
de dois mundos - este captulo revela que voc pode usar arquivos
e bancos de dados
juntos para criar aplicaes PHP cheias de dados binrios.
Guitarristas virtuais gostam de com petir 224
A imagem a prova 225
aplicao precisa arm azenar imagens 226
Planejando os uploads de arquivos grficos no Guitar Wars 231
O banco de dados das pontuaes mximas precisa ser ALTERado
232
Como fazer para o usurio enviar a imagem? 236
Insira o (nom e do) arquivo grfico no banco de dados 238
Descubra o nom e do arquivo enviado 239
Para onde foi o arquivo enviado? 244
Crie um lar para os arquivos grficos enviados 248
Dados com partilhados precisam ser com partilhados 254
Sero necessrios dados do script com partilhado 255
Pense em require_once como um inserir 256
O mais im portante para as pontuaes mximas a ordem 258
H om enageando o Guitar W arrior nm ero um 261
Form ate a m aior pontuao com HTML e CSS 262
So perm itidas apenas imagens pequenas 267
A validao de arquivos to rna a aplicao mais robusta 268} -
Planeje um a pgina Admin 272
Gere links para rem oo de pontuaes na pgina Admin 275
Os scripts so capazes de comunicarem-se uns com os outros
276
Sobre GETs e POSTs 278
GET, POST e a remoo d e pontuaes 280
Isole a m aior pontuao para ser removida 283
Controle o quanto voc pode remover com LIMIT 284
-
T o r n a n d o ct - S u a A p l i c a ? S e g u r a
Presuma que Esto Todos Querendo Te PegarSeus pais estavam
certos: no fale com estranhos, ou peiomenos no confie neles. Na
pior das situaes, no d a eies as chaves para
acessar os dados da sua aplicao, presumindo que no vo fazer nada
de
errado. Vivemos num mundo cruel, e voc no pode partir do
princpio que
todos so confiveis. Na verdade, como desenvolvedor de aplicaes
web voc
precisa ser metade incrdulo e metade adepto de teorias de
conspirao. Sim,
as pessoas em geral so ms e elas definitivamente querem te
pegar! OK, talvez
isso seja um pouco de exagero, mas muito importante levar a
segurana a
srio e elaborar as suas aplicaes de forma que elas fiquem
protegidas contra
qualquer um que pretenda causar danos.
contedo (sumrio)
O dia em que a msica m orreu 296
Para onde foram as pontuaes? 297
Segurana contra os brbaros 299
Protegendo a pgina Guitar Wars Admin 300
i A autenticao HTTP exige cabealhos 302
ij Tudo Sobre o Cabealho 304
Controle os cabealhos com PHP 305
A utenticando com cabealhos 306
Crie um script Autorizar 314
Guitar Wars Episdio II: Ataque dos Clones de Pontuao 318
Subtrao por adio 319
A segurana requer interveno hum ana 320
Planeje m oderao no Guitar Wars 321
Abra espao para aprovaes com ALTER 322
Pontuaes no-aprovadas no so dignas 327
O hack de um milho de pontos 330
Tudo em moderao...? 331
Como exatam ente ela fez isso? 333
Enganando o MySQL com com entrios 334
O form ulrio Add Score recebeu um a injeo de SQL 335
Proteja seus dados contra injees de SQL 336
Um INSERT mais seguro (com parm etros) 337
A validao de formulrios nunca inteligente demais 339
Cessar fogo! 341
XV
-
C d ^ n d p A p l i ^ ^ s W e b p e r S 9 n c i ^ l d c t
7 Lembra de Mim?Ningum gosta de ser esquecido,
especialmenteusurios de aplicaes Web. Se a aplicao tiver que
trabalhar a noo de comunidade, ou seja, se for planejado que os
usurios interajam com
a aplicao de uma forma pessoal, ento ela ter de se lembrar dos
usurios.
Voc detestaria ter que se apresentar novamente sua famlia a cada
vez que
entrasse em casa. No precisa faz-lo porque seus parentes possuem
uma
coisa maravilhosa chamada memria. Mas aplicaes web no se lembram
das pessoas automaticamente - preciso que um desenvolvedor web
esperto use
as ferramentas disponveis (PHP e MySQL, talvez?) para criar
aplicaes web
personalizadas que realmente sejam capazes de se lembrar dos
usurios.
contedo (sumrio)
To v*w pis, m nsedtolog In to a r Mstfiatch* o* ww nrte-match^er
: Yotr puiwerd Vtft bt sentJft.thsdear' 0 ^ U shtm w s jneses
State: g FPStnwne: Joijao Ffctnxe NsiksGfflda1; Mate BSrtbate
1981-H-Q3 Locatnu Athecs,G
Woukl you like to
Dizem que os opostos se atraem
O negcio do Mismatch so os dados pessoais
O Mismatch precisa dos logins dos usurios
Preparando o banco de dados para os logins
| Construindo uma interface de usurio para o login
Crip to grafe as senhas com SHA()
Comparando senhas
Autorizando usurios com HTTP
Fazendo login dos usurios com autenticao HTTP
Um formulrio para novos usurios se cadastrarem
Do que feito o cookie?
Use cookies com PHP
Repensando o fluxo dos logins
Um login baseado em cookies
Fazer logout significa apagar cookies
As sesses no dependem do cliente
Mantendo-se atualizado com os dados das sesses
Renove o Mismatch com as sesses
Faa Logout com sesses
Complete a sesso de transformaes
Os usurios no esto se sentindo bem-vindos
As sesses tem vida curta...
...mas os cookies podem durar para sempre!
Sesses + Cookies = Persistncia de login superior
346
347
348
351
353
354
355
358
361
365
375
376
379
380
385
389
391
392
393
398
404
406
407
409
-
contedo (sumrio)
Elimine Cdigp DuplicadoCompartilhar CuidarGuarda-chuvas no so a
nica coisa que pode ser Compartilhada. Em qualquer aplicao web, voc
poder encontrar situaes em que um mesmo cdigo encontra-se duplicado
em mais de um
lugar. Isso no s um desperdcio de recursos, como tambm pode
levar
a problemas de manuteno, uma vez que voc inevitavelmente
acabar
fazendo modificaes e estas tero de ser efetuadas em mais de um
lugar.
A soluo eliminar o cdigo duplicado, compartilhando-o. Em outras
palavras, voc mantm o cdigo duplicado em apenas um lugar, e
depois,
apenas referencia esse cdigo sempre que precisar dele. A
eliminao de
cdigo duplicado resulta em aplicativos mais eficientes, de
manuteno
mais fcil, e finalmente, mais robustos..
O Mismatch est em pedaos 421
Reconstruindo o Mismatch a partir de um tem plate 422
Reconstrua o Mismatch com templates 424
O Mismatch est novam ente em p... e m uito m elhor organizado
426
0 dbefilho aparece o ali de cada pagina do Mismatch, e exibe
titu lo da aplidaSo juntamente tom un> trtulo especfico
pagina..w ttulo espe t$ \to
Cada pagina do Mismatch
-
contedo (sumrio)
C^nttole Seus aColhendo Dados
Nada como uma boa colheita de dados no outono, um sem-fim
deinformaes prontas para serem examinadas, classificadas,
comparadas, combinadas,
enfim, qualquer coisa que a sua excelente aplicao web precisar
que seja feito. Compensador? Sim. Mas assim como as colheitas na
vida real, preciso muito trabalho
duro e uma boa dose de conhecimento para se obter controle sobre
os dados em um
banco MySQL. Os usurios da web exigem mais do que dados estticos
e enfadonhos.
Eles querem dados enriquecedores... dados compensadores... dados
relevantes. Ento,
o que voc est esperando? D a partida no seu trator MySQL e mos
obra!
Fazendo o desencontro perfeito 428
Os desencontros se referem aos dados 429
Modele o banco de dados com um schema 431
Ju n te vrias tabelas 436
Chaves estrangeiras em ao 437
As tabelas podem com binar linha p o r linha 438
eT Um a linha leva a muitas outras 439
Checando linhas de muitas-para-muitas 440
Crie um questionrio Mismatch 445
Coloque as respostas no banco de dados 446
E possvel com andar um form ulrio com dados 450
Gere o form ulrio do questionrio Mismatch 456
Procure po r um pouco de norm alidade 462
Ao normalizar, pense em termos de tomos 463
Trs passos para se criar um banco de dados norm alizado 465
Alterando o banco de dados do Mismatch 469
Ento, o Mismatch realm ente normal? 470
Um a consulta den tro de um a consulta
dentro de um a consulta... 472
Vamos todos ju n ta r as tabelas 473
Ligue os pontos 474
Certam ente podem os fazer mais com os inner jo ins 475
Apelidos para tabelas e colunas 477
Joins, ao trabalho! 478
Cinco passos para um desencontro com sucesso 485
Com pare usurios pela desencontrabilidade 487
Tudo o que precisamos um loop FOR 488
-
contedo (sumrio)
Funpes String e pers>ncillzulas
Vivendo Melhor Atravs das FunesAs funes levam as suas aplicaes
para um nvel superior.Voc j vem usando as funes internas do PHP
para realizar as coisas. Agora hora
de dar uma olhada em mais algumas funes internas realmente teis.
E depois voc aprender a criar suas prprias funes personalizadas
para lev-lo mais alm do que
sequer imaginava que fosse possvel. Bem, talvez no to longe que
voc comece a usar
espadas laser, mas as funes personalizadas certamente
simplificam o seu cdigo e o
tornam reutilizvel.
Strings e funes personalizadas 501
Um bom trabalho arriscado difcil de encontrar 502
A busca no deixa m argem para erros 504
; As consultas SQL podem ser flexveis com LIKE 505
; Transforme um a string em palavras individuais 510
Im plode() cria um a string a partir de substrings 513
Pr-processe a string de busca 519
Substitua caracteres de busca indesejados 520
A consulta precisa de term os de busca legtimos 524
Copie elem entos no-vazios para um novo array 525
As vezes voc s precisa de parte de um a string 528
Extraia substrings do incio ou do fim 529
Podemos classificar nossos resultados com mltiplas consultas
532
As funes lhe perm item reutilizar cdigo 536
Construa um a consulta com um a funo personalizada 537
Funes personalizadas: o quo personalizadas elas realmente so?
538
SWITCH tom a m uito mais decises do que IF 542
D a build_query() a capacidade de classificar 545
Podemos paginar os nossos resultados 548
O btenha apenas as linhas de que voc precisa com LIMIT 549
Controle os links das pginas com LIMIT 550
M antenha registro dos dados da paginao 551
Defina as variveis da paginao 552Revise a consulta para ter
resultados paginados 553
Gere os links de navegao da pgina 554
M ontando o script Search com pleto 557
O script Search com pleto, continua... 558
xix
-
contedo (sumrio)
E x p t e s s P e s l e g u l c t f e s
Regras Para SubstituioAs funes string so adorveis. Mas, ao mesmo
tempo,so limitadas. Certamente elas podem realizar tarefas como lhe
dizer a extenso da sua string, truncar a string, trocar certos
caracteres por outros. Mas s vezes voc precisa de liberdade para
lidar com manipulaes de texto mais
complexas. aqui que as expresses regulares podem ajudar. Elas
podem
modificar strings de forma precisa, com base em um conjunto de
regras, em vez
de um s critrio.
A Riskyjobs perm ite que os usurios submetam currculos
Decida como dever ser a aparncia dos seus dados
Form ule um padro para nm eros telefnicos
Confira padres com relao a expresses regulares
Crie padres usando m etacaracteres
Ajuste os padres com classes de caracteres
Verifique os padres com preg_m atch()
Padronize os dados dos nm eros de telefone
Livre-se dos caracteres indesejados
Conferir endereos de email pode ser complicado
Sufixos de domnios esto por toda a parte
Use PHP para verificar o dom nio
Validao de email: m ontando o quadro
562566569
570 572 579 584591592 596598
599
600
-
ViSUcdizctndo seus Dados--. eM as!Desenhando Grficos Dinmicos
claro que todos ns conhecemos o poder de uma boa consulta e os
consequentes resultados satisfatrios.Mas os resultados de consultas
nem sempre falam por si mesmos. s vezes
til apresentar os dados de uma forma diferente, uma forma mais
visual. O PHP
possibilita o fornecimento de uma representao grfica dos dados:
grficos pizza,
grficos em barra, diagramas de Venn, desenhos Rorschach,
qualquer coisa. Vale de tudo para ajudar os usurios a compreender
os dados que fluem atravs da sua
aplicao. Mas nem todos os grficos teis, em aplicaes PHP, se
originam do seu
banco de dados. Por exemplo, voc sabia que possvel evitar
ataques de bots de
spam com imagens geradas dinamicamente?
contedo (sumrio)
Guitar Wars Reloaded: A Vingana das Mquinas 606
N enhum form ulrio de input est a salvo 607
Precisamos separar os hum anos das m quinas 608
Podemos vencer a autom ao usando a autom ao 611
Gere o texto da senha de CAPTCHA 613
Visualizando a imagem CAPTCHA 614
Por den tro das funes grficas GD 616
D esenhando texto com um a fonte 620
Gere um a imagem CAPTCHA aleatria 623
A sanidade re to rna ao Guitar Wars 625
Adicione CAPTCHA ao script Adicionar Pontuao 627
Cinco graus de oposio 630
Pondo a desencontrabilidade em tabela 631
A rm azenando dados do grfico com barras 632
Lendo entre as linhas com o senhor dos grficos 635
De um array para outro 636
Crie um array de tpicos desencontrados 638
Form ulando um plano para execuo de
grficos de barras 639
Amassando as categorias 640
A m atem tica das categorias 641
Fundam entos dos grficos de barras 644
Desenhe e mostre a imagem do grfico de barras 647
Imagens individuais do grfico de barras para todos 650
Os usurios do Mismatch esto gostando dos
grficos de barras 653
xxi
-
fepukliCcL9 e SetViPS Web
U Interfaces com o MundoExiste um grande mundo l fora, mundo
esse que a sua aplicao web no pode se dar ao luxo de ignorar ou o
quetalvez seja mais, voc que no gostaria que o mundo ignorasse a
sua aplicao. Uma excelente maneira de fazer o mundo not-la tornar
os seus dados
disponveis para republicao, o que significa que os usurios
podero assinar o
contedo do seu site, em vez de ter de visit-lo diretamente para
encontrar novas
informaes. No apenas isso, a sua aplicao pode fazer interfaces
com outras aplicaes, atravs dos servios web, e pode tirar proveito
dos dados de outras
pessoas para fornecer uma experincia mais rica.
contedo (sumrio)
Algutts clientes de email tm suporte a contedo pu sh permitindo
que voc receba atualizaes do site da m esm a
com o recebe m ensagens de email.
Muitos navegadores web tambm lhe permitem exam inar contedo
push" que revela rapidamente a s noticias m ais recentes publicadas
em um determinado site.
A t m esm o dispositivos m veis provm a c e sso a contedo
'push*, o qual enviado autom aticam ente quando e lgo se m odifica
no
Owen precisa avisar ao mundo sobre Fang 658Envie dados sobre
abdues aliengenas para as pessoas 659 O RSS envia contedo web para
as pessoas 660O RSS na verdade XML 651Do banco de dados para o news
reader 666Visualizando RSS 669O que interessa a um comunicador
671Gere um envio RSS dinamicamente 672Crie um link para o envio RSS
676Um vdeo rale mais que mil palavras 678Obtendo contedo web de
terceiros 680Republicando vdeos do You Tube 681
; Fazendo uma requisio de vdeo no You Tube 682Owen esta pronto
para criar uma requisio REST 686O You Tube fala XML
690Deconstruindo uma resposta XML do You Tube 694Visualize os dados
de vdeo XML 695Acesse os dados XML com objetos 696De elementos XML
para objetos PHP 697Penetre nos dados XML com objetos 698No sem um
namespace! 699Cada vez mais avistamentos de Fang 701Disponibilize
vdeos para visualizao 702Formate os dados de vdeo para exibio
703
-
$oL>rasOs Dez Principais Tpicos (Que No Abordamos)Mesmo
depois de tudo isso, ainda tem mais um pouco Aindatemos mais
algumas coisas que voc precisa conhecer. No seria certo ns as
ignorarmos, mesmo que s precisem de uma breve meno. Portanto,
antes de guardar
o livro, d uma lida nestes pequenos, mas importantes pargrafos
sobre PHP e MySQL.
Alm disso, uma vez concludo este aqui, s faltaro mais dois
pequenos apndices... e
o ndice... e talvez algumas propagandas... e a o livro realmente
acaba. Promessa!
contedo (sumrio)
#1. Adapte este livro para funes PHP4 e mysql 714
#2. Permisses do usurio no MySQL 716
#3. Relato de erros para o MySQL 718
#4. Erros PHP com tratam ento de excees 719
#5. PHP orientado a objetos 721
#6. Tom ando segura a sua aplicao PHP 723
#7. Proteja sua aplicao de scripts cross-site 725
#8. Precedncia de operadores 727
#9. Qual a diferena en tre PHP 5 e PHP 6 728
#10. Reutilizando o PHP de terceiros 730
xxiii
-
C^nfgute um Ambiente de DesenVpl Vim entP1 1 Um Lugar para
BrincarI I Voc precisa de um lugar para praticar suas recm-
adquiridas habilidades em PHP e M ySQL, porm sem tornar
OS SeUS dados vulnerveis na web. sempre uma boa ideia ter um
local seguro para desenvolver sua aplicao PHP antes de lan-la no
mundo (ou seja,
na web). Este apndice contm instrues para a instalao de um
servidor web, do
MySQL e do PHP, para lhe fornecer um lugar seguro onde possa
trabalhar e praticar.
contedo (sumrio)
Servidor
Crie um am biente de desenvolvimento PHP 732
D escubra o que voc tem 732
Voc tem um servidor web? 733
Voc tem o PHP? Qual verso? 733
Voc tem o MySQL? Qual verso? 734
Comece pelo Servidor Web 735
Passos para a instalao do PHP 737
Instalando o MySQL 738
Passos para a instalao do MySQL no Windows 739
H abilitando o PHP no Mac OS X 742
Passos para a instalao do MySQL no Mac OS X 742
Passando do am biente de produo para um site no ar 744
Dump seus dados (e as suas tabelas) 745
Prepare-se para usar seus dados 745
Mova os dados consolidados para o servidor ativo 746
Conecte-se ao servidor ativo 747
-
contedo (sumrio)
99
IIIArapllie SeuObtenha Ainda Mais ProveitoSim, voc pode
programar com PHP e MySQL e criartimas aplicaes Web. Mas voc sabe
que ainda deve haver mais a se explorar. E h. Este pequeno apndice
ir lhe mostrar como instalar a extenso
mysqli e a extenso biblioteca grfica GD. Em seguida,
mencionaremos mais
algumas extenses do PHP que voc poder querer baixar. Porque s
vezes no
tem problema em querer sempre mais.
Estendendo o seu PHP 750
E no Mac.. 753
XXV
-
Como Usor Este LVrc>Introduo
Nesta seo, respondemos iporfc^ ie per^ wvfca-- u&ivfcdo>
por
-
como usar este fivro
A quem se destina este livro?Se voc p u d e r re sp o n d e r
sim a todas estas perguntas:
Voc um web designer com experincia em HTML ou XHTML, e deseja
melhorar as suas pginas?
Voc deseja ir alm do simples HTML e aprender, entender e se
lembrar como usar PHP e MySQL para criar aplicaes web?
Voc prefere conversas informais e estimulantes, em vez de aulas
enfadonhas e acadmicas?
en to este livro p a ra voc.
Quem provavelmente deve fugir deste livro?
Se voc p u d e r re sp o n d e r sim a q u a lq u er um a destas
perguntas:
Voc no tem conhecimento nenhum sobre conceitos bsicos de
programao, tais como variveis e loops?
(Mas mesmo que jamais tenha programado antes, voc provavelmente
ser capaz de absorver os conceitos-chaves de que precisa, neste
livro.)
Voc um super desenvolvedor web PHP procurando por um livro de
referncia?
Voc tem medo de tentar algo diferente? Voc prefere arrancar um
dente do que misturar listras com xadrez? Voc acha que um livro
tcnico no pode ser srio se um dos exemplos um banco de dados sobre
abdues aliengenas?
en to este livro no p a ra voc.
Nota Ao d .f jH a .e .fc d o d t f l d r k e t ide
frredi-fxj.
-
introduo
Sabemos o que voc est pensandoComo isso aqui pode ser um livro
de PHP e MySQL srio? Por que tantas figuras?E realmente possvel
aprender desta forma?
Sabemos o que o seu crebro est pensandoSeu crebro pede novidade.
Ele est sem pre buscando, vasculhando, esperando p o r algo fora do
comum. Ele foi construdo dessa forma, e isso lhe ajuda a se m anter
vivo..
Assim, o que o seu crebro faz com todas as coisas rotineiras,
comuns, normais, que voc encontra? Faz todo o possvel para evitar
que elas interfiram no trabalho real do crebro - registrar coisas
que sejam importantes. Ele no se d ao trabalho de armazenar as
coisas chatas; elas nunca conseguem passar pelo filtro isto aqui
obviamente no importante.
Como o seu crebro sabe o que ou no im portante? Suponha que voc
esteja fazendo um a cam inhada na selva e um tigre pule na sua
frente; o que acontece com a sua m ente e o seu corpo?
Os neurnios se acendem . As emoes fluem. A qumica dispara.E
assim que o seu crebro sabe que...
Isto deve ser importante! No se esquea!
Mas imagine que voc esteja em casa ou em um a biblioteca. um a
rea segura, aconchegante, livre de tigres. Voc est estudando. Se
preparando para um a prova. O u tentando aprender algum difcil
assunto tcnico que o seu chefe acha que s vai levar um a semana,
dez dias no mximo.
S um problema. Seu crebro est tentando lhe fazer um grande
favor. Ele est tentando se certificar de que este contedo
obviamente desimportante no ocupe recursos que so escassos.
Recursos esses que so mais bem empregados armazenando-se as coisas
realmente importantes. Como tigres. Como o perigo do fogo. Como
esconder rapidamente ajanela donavegador com o vdeo de discos
voadores no You Tube, antes que o seu
^ rcU-cIsto ;,mF'rtKit'
chefe aparea.
E no h um a form a simples de dizer ao seu crebro ei, crebro, m
uito obrigado, mas no im porta o quanto este livro seja chato, e
quo poucas emoes eu esteja sentindo neste exato m om ento, eu realm
ente quero que voc se lem bre destes assuntos.
Videos de H/Ms no You Tube sa obviawewte ais mievessa>vfces
para o seu ievebv-o do ^ue um liw-o de TJ.
xxix
-
como usar este livro
tntendeni9s cjue o JetPr c[e um JiVtP cfa sne ^\Jse a C^ea!
Ento, o que preciso para se aprender algo? Primeiramente, voc
precisa entender o assunto, e depois se certificar de que no vai
esquec-lo. No adianta tentar entulhar fatos dentro da sua cabea.
Com base nas pesquisas mais recentes em cincia cognitiva,
neurobiologia e psicologia da educao, necessrio muito mais do que
texto em uma pgina para um verdadeiro aprendizado. Ns sabemos como
chamar a ateno do seu crebro
Alguns dos princpios de aprendizado Use a Cabeal:Use o recurso
visual. Imagens so muito mais memorveis do que palavras
sozinhas, e tomam o aprendizado muito mais eficiente (at 89% de
melhoria em estudos sobre lembrana e transferncia). Eias tambm
tornam as coisas mais compreensveis. Coloque as palavras dentro ou
perto das imagens s quais elas se referem, em vez de na parte de
baixo da pgina ou na pgina seguinte, e
os estudantes tero duas vezes mais probabilidade de conseguir
resolver problemas relacionados ao contedo.
U se um estilo coiw ersacional e personalizado.Em estudos
recentes, os estudantes tiveram um desempenho at 40% melhor, em
testes ps-aprendizado, quando o contedo falava diretamente ao
leitor, usando um estilo conversacional, em primeira pessoa, do que
quando se usava um tom mais formal, Conte histrias, em vez de
lecionar. Use 1 casual. No se leve muito a srio. Hm que voc
prestaria mais c estimulante conversa informal ou uma aula?Faa o
estudante pensar um pouco m ais profunEm outras palavras, a no ser
que voc ativamente exercite os neurnios, no vai acontecer muita
coisa dentro da sua cabe precisa estar motivado, engajado, curioso
e inspirado para res problemas, chegar a concluses e gerar
conhecimento novo. f isso, voc precisa de desafios, exerccios e
perguntas que prov o raciocnio, bem como de atividades que envolvam
ambos os hemisfrios do crebro e vrios sentidos.Obtenha - e mantenha
- a ateno do leitor. Tod< passamos por uma situao de "eu
realmente quero aprender no consigo passar da pgina um acordado". O
seu crebro pr em coisas que sejam fora do comum, interessantes,
estranhas, assunto tcnico novo e difcil no precisa ser enfadonho. O
se mais rapidamente se no for.
Provoque as emoes. Ns sabemos que a sua capacid algo depende
largamente do contedo emocional. Voc se lei que se importa. Voc se
lembra de algo quando sente algo. N< de histrias de partir o
corao sobre um garoto e seu cachori emoes como surpresa,
curiosidade, diverso, "que ... essa? fera! que vem quando voc
resolve um quebra-cabeas, apre acha que difcil ou percebe que voc
sabe algo que o Bob "e do departamento de engenharia, no sabe.
U**a pequena domdo- Na verdade, ns e**os Kistria de pariir o
doraa sobre um $\rci# e seu Sherro - o dadhorro -oi abduzido por
aliengenas, e vode ajudar * 3 k/flB-f-Sr ioJ.
-
introduo
Metacognipo: pensando sobre pensarSe voc realmente quer aprender
com mais rapidez e mais profu preste ateno ao modo como prestamos
ateno. Pense sobre c pensa. Aprenda sobre como voc aprende.
raramente nos ensinaram a aprender.Mas ns partimos do princpio
de que, se voc est com este livro porque realmente quer aprender a
criar sites baseados em bane dados, usando PHP e MySQL. E
provavelmente no quer despenc tempo. Par poder usar o que voc ir
ler neste livro, ter de se lei do que leu. E para isso, voc precisa
entender o assunto. Para tirai proveito possvel deste livro ou de
qualquer livro ou experincia d assuma a responsabilidade sobre o
seu crebro. Focalize o seu crebro neste contedo.O segredo fazer o
seu crebro ver o novo material que voc est aprendendo como sendo
Realmente Importante. Crucial para o seu bem-estar. To importante
quanto um tigre. Caso contrario, voc se ver numa batalha constante,
com o seu crebro fazendo o possvel para que o novo contedo no seja
gravado..Ento, como que voc faz com que o seu crebro tra te o PHP e
My SQL como se ele fosse um tigre faminto?Existe a forma lenta e
tediosa, e existe a forma mais rpida e mais eficiente. A forma
lenta pura repetio. Voc obviamente sabe possvel aprender e se
lembrar at dos assuntos mais chatos, se continuar empurrando
repetidamente a mesma coisa para o seu crebro. Com suficiente
repetio, seu crebro diz ele no sent isto realmente importante, mas
continua olhando as mesmas c repetidas e repetidas vezes, ento
suponho que deve ser importaA forma mais rpida fazer qualquer coisa
que aumente a atividade cerebral, e de preferncia, diferentes tipos
de atividade cerebral. As listadas na pgina anterior so uma grande
parte da soluo, e so o que comprovadamente ajudam o seu crebro a
trabalhar em seu fav exemplo, alguns estudos mostram que colocar
palavras dentro das f que elas descrevem (em vez de coloc-las em
algum outro lugar na f como, por exemplo, em uma legenda ou no
corpo do texto) obriga crebro a tentar entender a relao entre as
palavras e a figura, e ist< mais neurnios se ativarem. Quando
mais n e u r n io s se ativam, h n chances de o seu crebro entender
que isto algo a que 'rale a pena ateno, e possivelmente
registrar.Um estilo conversacional ajuda porque as pessoas tendem a
pres mais ateno quando percebem que esto envolvidas em uma cc uma
vez que, nessa situao, espera-se que elas acompanhem o < est
sendo dito para saber quando e como responder. O mais fai que o seu
crebro no necessariamente liga se a conversa e voc e um livro! Por
outro lado, se a escrita tiver um estilo form; seu crebro o
perceber da mesma forma como a experincia d uma lio sentado em uma
sala de aula cheia de estudantes pass No preciso ficar acordado.Mas
as figuras e o estilo conversacional so apenas o incio...
A maioria das pessoas no faz aulas de metacognio ou de teori
aprendizado na escola. Sempre se esperou que ns aprendsseir
XXXI
-
como usar este f/vro
Um Desencontro!
tilno
rn t i V ' A Ta PiU de -tenrorAqui esta o que NOS fizemos:Ns
usamos figuras, porque o seu crebro est ajustado para prestar ateno
em sinais visuais, e no em texto. Pelo menos no que concerne ao seu
crebro, uma imagem realmente vale por mil palavras. E quando texto
e imagens precisam trabalhar juntos, ns colocamos o texto dentro
das figuras, porque o seu crebro funciona de forma mais eficiente
quando o texto se encontra dentro da coisa a que ele se refere, em
vez de em uma legenda ou escondido em algum lugar dentro do
texto.Ns usamos redundncia, dizendo a mesma coisa de formas
diferentes e com diferentes tipos de mdia, e visando a mltiplos
sentidos, para aumentar a chance de o contedo ser registrado em
mais de uma rea do seu crebro.Ns usamos conceitos e figuras de
formas inesperadas, porque o seu crebro est ajustado para prestar
ateno em novidades, e usamos figuras e ideias com pelo menos algum
contedo emocional, porque o crebro est ajustado para prestar ateno
bioqumica das emoes. Aquilo que nos faz sentir algo mais provvel de
ser lembrado, mesmo que esse sentimento no seja nada mais que um
pouco de humor, surpresa ou interesse.Ns usamos um estilo
personalizado, conversacional, porque o seu crebro est ajustado
para prestar mais ateno quando ele acredita que voc est envolvido
em uma conversao do que quando pensa que est passivamente ouvindo
uma apresentao- Seu crebro faz isso mesmo quando voc est lendo.Ns
inclumos mais de 80 atividades, porque o seu crebro est ajustado
para aprender e se lembrar mais quando voc faz algo do que quando l
sobre algo. E fizemos os exerccios desafiadores, porm resolvveis,
porque isso o que a maioria das pessoas prefere.Ns usamos vrios
estilos de aprendizado, porque voc poder preferir procedimentos
passo-a-passo, enquanto que outras pessoas podero querer entender o
quadro geral primeiro, e outras ainda s querem ver um exemplo.Mas
indepen dentemente do seu mtodo preferido de aprendizado, todo
mundo se beneficia em ver o mesmo contedo representado de diversas
fornias.Ns inclumos contedo para ambos os hemisfrios do seu crebro,
porque quanto mais partes do seu crebro voc utiliza, maior a
probabilidade de voc aprender e se lembrar, e maior o tempo durante
o qual conseguir se manter focado. Uma vez que trabalharum lado do
crebro frequentemente significa que o outro lado ter um M wL J U L
/ x Z tempo para descansar, voc poder ser mais produtivo nos
estudos, por um perodo de tempo maior.Ns inclumos estrias e
exerccios que apresentam mais de um ponto de vista, porque o seu
crebro est ajustado para aprender com mais profundidade quando
forado a fazer avaliaes e julgamentos.Ns inclumos desafios, com
exerccios e fazendo perguntas que nem sempre tem uma resposta
direta, porque o seu crebro est ajustado para aprender e se lembrar
quando precisa trabalhar em algo. Pense no seguinte: no possvel
fazer seu corpo ficar em forma apenas olhando as pessoas malhando
na academia. Mas ns fizemos nosso melhor para garantir que, quando
estiver trabalhando duro, ser sempre nas coisas certas, para que no
tenha que gastar um neurnio sequer a mais do que o necessrio
processando um exemplo difcil de entender ou tentando decifrar um
texto difcil, cheio de termos tcnicos obscuros ou sisudo demais.Ns
usamos pessoas. Nas estrias, exemplos, figuras, etc., porque, bem,
porque voc uma pessoa. E o seu crebro presta mais ateno nas pessoas
do que nas coisas.
lente isto'
NAO CCNFE ;$B3p3scaaSsi?
-
introduo
Veja o que fazer para que o seu crebro se curve em sinal de
submissoOk, fizemos a nossa parte. O resto com voc. Estas dicas
funcionam como um ponto de partida; oua o seu crebro e descubra o
que funciona e o que no funciona para voc. Experimente coisas
diferentes.fceH* jsta pjina c cole na porta da sua geladeira.
V devagar. Quanto mais voc entende, menos voc tem que
memorizar.No leia, simplesmente. Pare e pense. Quando o livro lhe
apresentar uma pergunta, no pule direto para a resposta. Imagine
que uma pessoa real est lhe fazendo a pergunta. Quanto mais
aprofundadamente voc forar o seu crebro a pensar, maior a sua
chance de realmente aprender e se lembrar do que aprendeu.
Faa os exerccios. Faa suas prprias | anotaes.Ns elaboramos os
exerccios, mas se os fizssemos para voc, isso seria como ir
academia e ter algum para m alhar po r voc.E no basta s olhar os
exerccios. Use um lpis. H m uita evidncia de que a atividade fsica
durante o processo de aprendizado pode m elhorar este ltimo.
Leia as sees No Existem iPerguntas Idiotas.
Todas elas. Elas no so com entrios opcionais fazem p arte do co
n te d o central! N o as deixe de lado.
Que isso seja a ltima coisa que voc l antes de dormir. Ou pelo
menos a ltima coisa desafianteP arte do ap rend izado (especia lm
ente a transfe rncia p ara a m em ria de longo prazo) ocorre depois
que voc fecha o livro. Seu c reb ro p recisa de algum tem po para
realizar todo o p rocessam ento . Se voc te n ta r absorver novas
in form aes d u ran te esse tem po, um a p arte do que voc acabou
de ap re n d e r ser perd ida .
i Beba gua. Em grande quantidade.Seu crebro funciona m elhor
quando envolvido em um bom banho. A desidratao (que pode acontecer
antes mesmo de voc sentir sede) prejudica as funes cognitivas.
0 PHP o MySQL. Ke er*>'rte* rar ^ vjeb reais nao sc es^ueta
y
de envia-las e C*perimer>t-!as em um servidor yeb
vevdadeiro..
Converse sobre o que est lendo. Em voz altaFalar ativa um a
parte diferente do crebro. Se voc quer entender algo ou aum entar
as suas chances de se lembrar do assunto depois, pronuncie-o em voz
alta. Melhor ainda, tente explic-lo, em voz alta, a outra pessoa.
Voc aprender mais rapidamente e poder descobrir ideias que no tinha
percebido ainda durante a leitura,
lOua o seu crebro.Preste ateno para saber se o seu crebro est
ficando sobrecarregado. Se voc perceber que est com eando a ler
superficialm ente ou esquecer o que acabou de ler, hora de fazer um
a pausa. Um a vez que voc passa de certo ponto, no possvel ap
render mais rpido tentando absorver mais e mais contedo e poder at
prejudicar o processo.
^Sinta algo.Seu crebro precisa saber que isto im portante.
Envolva-se com as estrias. Crie as suas prprias legendas para as
fotos. Resm ungar sobre um a piada ruim ainda m elhor do que no
sentir nada.
Escreva bastante cdigo.S existe um a forma de aprender a
programar: escrevendo um m onte de cdigo. E isso que voc ir fazer
ao longo deste livro. Programar um a habilidade, e a nica forma de
se ficar bom nela praticando. Ns iremos lhe oferecer muitas
oportunidades de praticar: cada captulo ter exerccios que
apresentam problemas para voc resolver. No deixe de faz-los - um a
boa parte do aprendizado acontece quando voc resolve os exerccios.
Ns inclumos solues - no tenha medo de dar um a olhada na soluo caso
no consiga resolver algum exerccio! ( comum um pequeno detalhe
atrapalhar toda a resoluo) Mas tente resolver o problema antes de
olhar as solues. E, definitivamente, faa o exerccio funcionar antes
de passar para a parte seguinte do livro.
XXXIII
-
como usar este livro
Leia-meIsto uma experincia de aprendizado, e no um livro de
referncia. Ns deliberadamente retiramos tudo que pudesse atrapalhar
o aprendizado de qualquer que seja o assunto tratado em um
determinado ponto do livro. E na primeira leitura, voc precisa
comear pelo comeo, porque cada captulo assume que voc aprendeu o
que viu no anterior.Ns comeamos ensinando alguns conceitos simples
de programao e fundamentos de conexo a banco de dados, em seguida
apresentamos funes PHP e instrues MySQL mais complexas, e
finalmente mostramos alguns conceitos mais complexos sobre
aplicaes.Embora seja importante permitir aos usurios adicionar
dados e a retirar dados de uma aplicao web, antes disso, preciso
primeiramente, entender a sintaxe tanto do PHP quanto do MySQL.
Assim, ns comeamos apresentando instrues PHP e MySQL que voc pode
experimentar na prtica. Assim, voc poder imediatamente fazer algo
com PHP e MySQL, e comear a se sentir estimulado em usar essas
tecnologias. Depois, mais adiante no livro, lhe mostraremos as boas
prticas de projeto de aplicaes e de bancos de dados.Nesse ponto, j
ter um slido domnio da sintaxe de que vai precisar e poder se
concentrar em aprender os conceitos.Ns no abordaremos todas as
instrues, funes ou palavras-chaves do PHP ou MySQLTeria sido
possvel colocar cada instruo, funo e palavra-chave do PHP e do
MySQL neste livro, mas ns achamos que iria preferir um livro que no
fosse do tamanho de um catlogo telefnico, e lhe ensinasse as
instrues, funes e palavras-chaves mais importantes. Apresentaremos
aquelas que voc precisa conhecer, e que usar em 95% do tempo. E aps
terminar este livro, ter a confiana para procurar sozinho informaes
sobre aquela funo de que precisa para terminar a aplicao que acabou
de escrever. ^ ^ ^ ^ ANs estamos abordando o PHP 5 e o MySQL
5.0.Devido ao fato de muita gente ainda usar o PHP 4 ou 5, ns
evitamos usar cdigos especficos para o PHP 4, 5 ou 6 sempre que
possvel. Sugerimos que voc use o PHP 5 ou 6 e o MySQL 5 ou 6 ao
estudar os conceitos deste livro.No desenvolvimento deste livro,
nos concentramos no PHP 5 e no MySQL 5, ao mesmo tempo nos
certificando de que o cdigo fosse compatvel com verses
posteriores.Voc precisa de um servidor web com suporte a PHP.O PHP
precisa ser executado atravs de um servidor web para funcionar
corretamente. Voc precisa do Apache ou de algum outro servidor web
instalado na sua mquina local, ou em alguma mquina qual voc tenha
algum acesso, para que possa executar comandos MySQL sobre os
dados.Consulte os Apndices ii e iii para instrues sobre como
instalar e estender o PHP e o MySQL.
Na verdade, voe pode wsv o
tovn este SWvoj -z/ndo al$uas modi itadoes ao todifto. Consulte
o
-
introduo
Ns usamos o MySQL.Embora exista uma linguagem SQL Padro, neste
livro ns usaremos a sintaxe particular do MySQL. Com apenas algumas
poucas modificaes na sintaxe, o cdigo deste livro dever funcionar
no Oracle, MS SQL Server, PostgreSQL, DB2 e em mais alguns outros
Sistemas de Gerenciamento de Bancos de Dados Relacionais
(Relational Database Management Systems ou RDBMSs) existentes. Voc
ter de pesquisar as funes e a sintaxe particulares do PHP, para se
conectar a esses outros RDBMSs. Se fssemos abordar todas as variaes
de sintaxe para cada comando, este livro teria muito mais pginas do
que tem. Ns gostamos das rvores, por isso nos limitamos ao MySQL.As
atividades NO so opcionais.Os exerccios e atividades no so
opcionais; fazem parte do contedo central do livro. Alguns deles
servem para ajudar a memorizao, outros para o entendimento e alguns
iro lhe ajudar a pr em prtica o que acabou de aprender. No deixe de
faz-los. As palavras cruzadas so a nica coisa que no precisa fazer,
mas so boas para dar ao seu crebro uma chance de pensar de uma
forma diferente nas palavras e termos que voc est aprendendo.A
redundncia intencional e importante.Uma diferena importante de ura
livro Use a Cabea! que ns queremos que voc realmente entenda o
assunto, E queremos que termine este livro lembrando-se do que
aprendeu. A maioria dos livros de referncia no tem a reteno e a
recuperao como alvo, mas este um livro de aprendizado, e portanto,
ver alguns conceitos aparecendo mais de uma vez.Os exemplos so os
mais simplificados possveis.Nossos leitores nos dizem que
frustrante ter que navegar por 200 linhas de um exemplo, procurando
pelas nicas duas linhas que eles precisam entender. A maioria dos
exemplos deste livro mostrada dentro do menor contexto possvel,
para que a parte que voc est tentando aprender fique clara e
simples. No espere que todos os exemplos sejam super robustos ou
sempre completos - eles foram escritos especificamente para o
propsito didtico, e no so necessariamente 100% funcionais.Ns
colocamos todos os cdigos de exemplo e aplicaes na Web, para que
voc possa copiar e colar partes deles no seu editor de texto ou
Terminal MySQL ou ento envi-los como esto para o seu prprio
servidor web, para realizar testes. Voc os encontrar emh t t p : /
/ w w w . a l t a b o o k s . c o m .b rOs endereos de websites de
terceiros podem ser alterados ou desatualizados a qualquer momento
pelos seus mantedores, sendo assim, a Alta Books no controla ou se
responsabiliza por qualquer contedo de websites.
Vrios cios exemplos, pov-e*, so aplidadoes wb o*p|eiasf dapas de
+azer Coisas bew poderosas..
Os exerccios Poder do Crebro no tem respostas.Para alguns deles,
no existe uma nica resposta; para outros, parte da experincia
didtica das atividades Poder do Crebro voc decidir se e em que
contexto as suas respostas esto corretas. Em alguns dos exerccios
Poder do Crebro, voc encontrar dicas para lhe guiar na direo
correta.
XXXV
-
equipe de reviso
Reviso tcnicav W e A H 1>vid Bri99s Will Hav*-is Stephanie
Liese S teve /VJilano
Revisores Tcnicos:Jereme Allen um desenvolvedor web snior com
experincia no uso das tecnologias mais avanadas para a criao de
aplicaes web. Ele tem mais de nove anos de experincia no uso de
PHP, MySQL, bem como vrios outros frameworks, sistemas
operacionais, linguagens de programao e software de
desenvolvimento.David Briggs um au to r de livros tcnicos e
engenheiro de localizao de software que vive em Birm ingham ,
Inglaterra. Q uando no est sendo detalhista sobre como guiar os
usurios atravs de algum software particularm ente difcil, no tem
nada que ele goste mais do que ir ao parque local com sua esposa,
Paulette e Cleo, o cachorro da famlia.Will Harris o responsvel por
um departam ento de TI que fornece servios para 11 empresas em 4
continentes, e o Vice-Presidente da filial em Las Vegas do PASS
(Professional Association for SQL Server). A noite, ele en tra num
a cabine telefnica, coloca o seu uniform e web 2.0, e sai por a
ajudando os designers e desenvolvedores do Powered By Geek a
garantir que as suas plataformas de dados perm aneam flexveis,
portteis, de fcil m anuteno e RPIDAS, usando MySQL e Rails. Ele tam
bm gosta de passar seu tem po com sua esposa, Heather, suas lindas
filhas Mara e EUie, e seu cachorro Swiper Stephanie liese um a
instrutora tcnica e desenvolvedora web em Sacramento, Califrnia. Q
uando ela no est pregando as virtudes do cdigo que obedece aos
padres ou rem ovendo bugs de algum layout CSS, voc a encontrar
suando em um a pesada aula de yoga.
Hv-vey ChHs Shi-Ple-tt
Q uando Steve Milano no est escrevendo cdigo para o The Day Job
ou tocando punk rock com sua banda, a Onion Flavored Rings, em
algum poro mal ventilado, ele provavelmente est em casa com seu
laptop, negligenciando a companhia felina de Ralph ou a companhia
hum ana de Bianca.Harvey Quameii desistiu de um a carreira em
program ao de com putadores para se ju n ta r ao chique e
glamouroso m undo universitrio. Atualmente, Professor Associado de
Ingls e Humanities Com puting na Universidade de Alberta, onde d
aulas sobre cybercultura, literatura do sculo XX e desenvolvimento
web - incluindo PHP e MySQL.Chris Shiflett o Chefe de Tecnologia da
OmniTI, onde lidera a prtica de segurana de aplicaes web e guia a
iniciativa de desenvolvimento web. Chris um reconhecido lder nas
com unidades de segurana do PHP e de aplicaes web - um blogueiro
bastante lido em shiflett.org, um popular palestrante em
conferncias no m undo todo, e o fundador do PHP Security
Consortium. Seus livros incluem Essential PHP Security (O Reilly) e
HTTP Developers H andbook (Sams).
-
introduo
AgradecimentosNossos editores:Muito obrigado a Brett McLaughlin
pela incrvel sesso de storyboarding que nos colocou no caminho
certo, e pelo seu compromisso inquebrantvel com o aprendizado
cognitivo.Este livro no existiria se no fosse pelo esforo, pacincia
e persistncia hericos de Sanders Kleinfeld. Ele sempre conseguia
apanhar os pinos com os quais estvamos fazendo malabarismo, toda
vez que inevitavelmente deixvamos cair um (ou trs!), e somos gratos
por isso. Esperamos que ele tenha a chance de descansar por alguns
dias antes de encarar um outro projeto to difcil quanto este.
A equipe OReilly:Obrigado a Lou Barr pelas suas fenomenais
habilidades em design, que fizeram este livro ter uma aparncia to
boa.Obrigado tambm a Brittany Smith por todo o seu trabalho em cima
da hora e a Caitrin McCollough por colocar no ar os sites de
exemplo. E a Laurie Petrycki por acreditar que ns poderamos
escrever mais um timo livro da srie Use a Cabea!
Sanders teineid
E tambm:
Finalmente, muitssimo obrigado a Elvis Wilson por elaborar os
vdeos de aliengenas no You Tube p a ra o C a p tu lo 12. tim o trab
a lh o ! E sp ec ia lm e n te considerando que ele um simples
diretor de arte do tempo das cavernas.
xxxvii
-
1 Adicionando Vida s Suas Pginas Estticas
* + Est Vivo
Voc tem criado timas pginas web com HTML, com recursos deCSS mas
tem percebido que os visitantes do seu site no podem fazer muita
coisa alm de olhar passivamente o contedo das pginas. A comunicao
apresenta-se de forma unidirecional e
voc gostaria de mudar isso. Na verdade, o que voc realmente
gostaria de saber o que o se u
p b lico e st p e n sa n d o . Mas para isso precisa permitir
que os usurios digitem informaes em
um formulrio web, para que possa saber o que eles tm em mente. E
seu site precisa ser capaz
de processar essas informaes, para que elas lhe sejam entregues.
Est comeando a parecer
que voc ir precisar de mais do que HTML para levar seu site para
o prximo nvel.
este um novo captulo 1
-
as vezes somente HTML no suficiente
HTML esttico e chatoO HTML timo para se criar pginas web, at a
voc j sabe. Mas, e quando voc precisa que as pginas realizem alguma
ao? Suponha que seja necessrio fazer uma busca em um banco de dados
ou enviar um email... como fazer? O HTML deixa a desejar, porque
uma linguagem sem vida, elaborada para exibir informaes que nunca
se modificam.
0 HTML- c Wo ^and a m-temao e apen*
mastowparblHar wa do seu VidHo de estim^o-- ao tawfco guando
desejir>'tera^ iv' to cs visitantesdo seu site-
Estas pessoas esta em busda
interao.
O servidor web representa uma grande parte do problema com o
HTML esttico, uma vez que ele funciona como nada mais que um
mecanismo de entrega sem graa. O navegador requisita uma pgina, o
servidor responde com HTML, fim da histria. Para transformar sites
em aplicaes web interativas, o servidor precisa assumir um papel
novo, mais dinmico... um papel possibilitado pelo PHP.
Cm pginas HTML pureis, 9 seiVidor s i m p l e s m e n t e s e t
V e HTML esttico,
-
Co uma pequena ajuda do servido-/
adicionando vida s suas pginas estticas
o 'ct vioor'
PttP d vida s pginas webO PHP lhe permite manipular o contedo
das pginas web no servidor, imediatamente antes de a pgina ser
enviada ao navegador cliente. Funciona da seguinte maneira: um
script PHP executado no servidor, e pode alterar ou gerar cdigo
HTML vontade. Uma pgina HTML ento entregue ao navegador, que no
sabe e nem liga se h PHP envolvido na produo ou zyuste do HTML, no
lado do servidor.
- j 0 dodifto HTML destas
*T 'rtoTM i P0'" PHP, e pode se^ lr's nriodiiar
dinawitamene,no^maS|as f defendendo do que a r i* . fo, jarado v
-dinamita^ente 1aivavs de PHP, no servi d cv
Com ?H? na parada,9 seVxdot Web
e c a p e i s d e e r a rpginas HTML de fotma dinmica, em tempp
real.
P ttP Sdo ainia2hados o
^ wvidor web, o^de r 530 P^essados e
depois os resultados entreves ao ^vegader o,oPainas HTML.
Servidor web
Navegador w eb cliente
Pginas HTML dinwtas^^ SC rwodi-f3w> e 'res^ost igita
frogvamiida presente nos sdripisPHP, -tornandoosintnveiwente
le*veis.
Banco de dados MySQL
N AOs srip-b PHP onW t d p HTML e ftdiy> de sdnpt PHP, oi V *
sdeterwinaw o modo towo o td',50 HTML t .angulado-
0 PHP armazina e retira dados de um banto de ddos e os incorpora
ao odigo HTM L gerado.
voc est ago/ 3
-
Ces no espapoEste o O w en. Ele p e rd e u seu ca c h o rro , F
ang. Mas e n c o n tra r seu co n o sc re s tr in g e a u m a sim
ples la re fa d c p r o c u r a r p e lo b a irro . A c o n t e c e
q u e Fang fo i a b d u z id o p o r a lien g en a s , o q u e e x
p a n d e a busca d e O w en p o r to d o o un iverso . O w en sabe
u m p o u c o d e HTML. e CSS e ac h a q u e u m site p e rso n a
liz ad o p o d e r ia ajud-lo a reso lver seu p ro b le m a , ao p
e rm itir q u e o u tra s pessoas c o m p a rtilh e m suas p r p
ria s ex p e rin c ia s de ab d u o a lien g en a .
M as, p a ra o b te r in fo rm a es das pessoas, O w en p rec
isa r d e u m fo rm u l r io w eb capaz d e re c e b e r in p u t
(e n tra d a d e d ad o s) dos u su rio s e no tific-lo so b re
esse in p u t. S em p ro b le m a - o H T M L possu i vrias tags p
a ra a c riao d e fo rm u l rio s web.
Os de-balves sao as osWos t yt
avrebatado * < M a 50 tcu _ Y&r um V3' lwz
-
adicionando vida s suas pginas estticas
Um formulrio ajuda Owen a descobrir toda a histriaO novo site de
Owen, AliensMeAbducteme.com, tem por objetivo conect-lo com
abduzidos que possam ajudar a esclarecer um pouco sobre o
desaparecimento de Fang. Owen sabe que precisa de um formulrio HTML
para requisitar histrias de abduo dos visitantes e que precisa
descobrir se por acaso, eles viram Fang durante as suas jornadas
interestelares. Mas Owen precisa de ajuda para conseguir m ontar o
site e coloc-lo no ar. Eis o que ele tem em mente para o
formulrio.
Este o tampo para 0 ewieveo de emaii do visitante-
, 0VJK
-
Formulrios so feitos de HTMLO formulrio Relate uma Abduo de Owen
(baixe este cdigo atravs do site da altabooks.com.br) se compe,
inteiramente, de tags e atributos HTML. H campos de texto para a
maioria das perguntas, botes de rdio para descobrir se o visitante
viu Fang e uma rea de texto para comentrios adicionais. E o
formulrio est configurado para enviar os dados recebidos para o
endereo de email de Owen.
VailV' c um ^robotoo ue permi-te t^ uc dados t -formulrios seja
enviados por email-
formulrio html do OwenSe predisar de um re-resdo de memria sobre
domo driar formulrios HTML, deuma olhada o Cap-Wo l^vde Use a
Cabea! HTML tom CSS \ *rtTML
Share your story of alien abduction:
fc-.What is your email address?Cinpuf*~type="text" id="email"
name="email" 7>When did it happen?c/label>
How many did you see? cinput ty^C="text" id="howmany" name = "
howmany' /xbr /> What did they do to you?
Have you seen my dog Fang?Yes cinput id=fangspotted"
name="fangspotted" type="radio" value="yes" />No cinput
id="fangspotted" name="fangspotted" type="radio" value="no"
/>cbr /> cimg src="fang. jpg" width=,'100" height="175"
alt="My abducted dog Fang." />cbr />
clabel for="other">Anything else you want to add?c/label>
ctextarea id="other" name="other"x/textareaxbr /> cinput
type="submit" value="Report Abduction" name="submit" />
c/form>
0 -formulrio -fidS dontdo dentro de ta$s de abertura e de
-fedbamento-
Nenhuma surpresa a^ ui - o -formulrio e \0% puro totligo
HTML/
0 botao submeter" diz. a -formulrio para exedutar a ao exposta
ali.
-
adicionando vida s suas pginas estticas
T f e s r O r v c
Teste o formulrio Relatar uma Abduo.Baixe o cdigo da pgina
Relatar uma Abduo no site da Alta Boks, em www. altabooks. com. br
. O cdigo estar no cadastro deste Livro. O folder chi contm o
formulrio de Owen em report. html, bem como uma folha de estilo
(style. css) e uma imagem de Fang (f ang. jpg).Abra a pgina report.
html em um editor de texto e troque o endereo de email de Owen pelo
seu. Em seguida, abra a pgina em um navegador web, digite algumas
informaes no formulrio e clique no boto Relatar Abduo (Report
Abduction).
t O style.cssJ^(M8f report. WnM fan9 -jpg
Aliens Abducted Me - Report an AbductionShare your story of
alien abduction;
$u3ho v
-
mailto - m idia
0 formulrio HTML apresenta problemasO formulrio Relatar uma
Abduo est no ar, operante, mas ele no consegue obter muitas
inforaiaes dos usurios. Ser que a abduo de Fang corresponde a um
incidente isolado... ou tem algo de errado com o formulrio. Vejamos
o que os usurios tm a dizer.
Eu observei algo parecido com o seguinte no campo Assunto:
?When=
-
adicionando vida s suas pginas estticas
Parece estar tudo OK com o formulrio. Ser que o problema tem
algo a ver com aquela parte do "mailto"?
Oo
Sim. O cdigo HTML do formulrio est correto, mas m ailto no uma
boa maneira de enviar dadosO formulrio de Owen funciona bem at o
usurio clicar no boto Relatar Abduo. Nesse ponto, voc passa a
depender do recurso de m a i l to para empacotar os dados do
formulrio em uma mensagem de email. Mas este emal no enviado
automaticamente - ele criado no programa de mail padro do
computador do usurio. E o pior: o usurio precisa enviar ele mesmo o
email, para que os dados sejam realmente enviados para voc! Voc no
tem nenhum controle sobre a entrega do email, significando que ele
poder ou no - fazer a viagem do seu formulrio web, passando pelo
navegador do usurio e pelo seu cliente de email, at chegar a voc
como uma mensagem de email. Nada bom.Voc precisa de uma forma para
ter o controle sobre a entrega do formulrio web. Mais
especificamente, voc precisa que o PHP empacote os dados em uma
mensagem de email, e depois se certifique de que essa mensagem ser
enviada. Isto envolve desviar a sua ateno do cliente (HTML, m a il
to , etc.) para o servidor (PHP).
0 ormulrio estatimo, a te voee t\\t no boWRelatav Abduo - enta?
tudo dcsntoron!
voc est aqui 9
-
lado-cliente versus lado-servidor
HTML roda no clienteO formulrio de Owen foi escrito em HTML
puro, com uma ao m a i l to que tenta enviar os ciados via email.
Embora a pgina r e p o r t h tm l venha de um servidor web, ela
preenchida e processada inteiramente no navegador web do
usurio.
O navegador requisita a pgina web de Owen, a qual inclui o
formulrio
0 software navegador do seu domputador roda a\ui, ta m bem
torMctido ornoC L lW T t .
O servidor retorna o cdigo HTML para a pgina web.
O usurio preenche o formulrio e o submete.
0 sa-bwave servidor web de O t^T voda a\ui> tambem donHedido
domo SERVlPR
A tag de ao do formulrio diz ao navegador para pedir ao programa
de email do usurio que crie uma mensagem de email.
O programa de email do usurio cria uma mensagem com os dados do
formulrio - mas o usurio que precisa envi-los, manualmente, a
Owen.
O papel do servidor, aqui, limita-se a apenas entregar a pgina
web ao navegador. Quando o usurio submete o formulrio, o navegador
(cliente!) precisa resolver sozinho a questo de como fazer os dados
serem enviados via email. O cliente no est. equipado para entregar
dados do formulrio - esse um trabalho para o servidor.
servidor jamais entra em dontato tom os dados digitados em
-formulrios
-
adicionando vida s suas pginas estticas
PHP roda m o servidorO PHP lhe permite controlar os dados que o
usurio digita no formulrio, enviando-os para voc de forma
transparente. O usurio digita o seu caso de abduo no formulrio,
clica no boto Relatar Abduo e pronto! O cdigo PHP cria a mensagem
de email, a envia para voc e ento gera uma pgina de confirmao para
o usurio.^ ---- ---Eu gostaria de
^ receber a pgina "Relatar7 uma Abduo1', por favor.
0 O navegador requisita a pgina web de Owen.
O servidor responde com o cdigo HTML para a pgina web.
O usurio preenche o formulrio e o submete, enviando os dados a
um script PHP presente no servidor.
O servidor envia uma confirmao em HTML ao navegador.
O**:* vetebe, to u*ayadaveWen-te atado.
Marque os lugares onde voc acha que os scripts PHP devem
residir:
| | no cliente X no servidor j^j em ambos j^j em nenhum dos
doisvoc est aqui 11
-
php uma linguagem do lado-servidor
Os scrpts PHP rodam mo servidorO cdigo PHP roda no servidor e
armazenado em sciipts PHP que geralmente tem a extenso . php. Os
scripts PHP frequentemente se parecem bastante com pginas HTML
normais, porque contm tanto cdigo HTML quanto CSS. De fato, quando
o servidor executa um script PHP, o resultado final sempre HTML e
CSS puros. Assim, todo script PHP acaba se transformando em HTML e
CSS, uma vez terminada a sua execuo no servidor.Vamos dar uma
olhada mais detalhada no modo como o script PHP modifica o fluxo do
formulrio web de Owen.
O navegador do cliente requisita uma pgina HTML -
re p o rt htm l
O O servidor retorna a pgina HTML
hc t\\tr M boto "Relatar Abduo", 0 usuatrio submete os dados do
ww.uliriopara o sfivift PHP do servidor.
O usurio preenche o formulrio e o submete, fazendo o navegador
repassar os dados para um script PHP no servidor.
-
adicionando vida s suas pginas estticas
0 PBP uma linguagem de programaodo lado do serVidPT (serVe-side)
-pofs ele rpda em um serVidor Web.
O servidor retoma uma pgina de HTML puro, gerada pelo script
PHP.
0 sdript PttP v-oda no servidor!
Embora O nome da pagina aparea tom uma extenso fhp no navegador,
ela tfuro HTML, neste ponto.
O navegador exibe a pgina de confirmao.
Aliens Abducted Me - Report an AbductionYou were abducted last
Nororiberaod were gone for I bowsdescribe dicta Was Fau
-
o atributo action do formulrio
s tc t o YiOTnt oseu sflrip-l PHP-
O atributo action dos elementos do formulrio o que conecta este
ltimo ao script PHP, fazendo o script ser executado quando o
formulrio submetido.Os formulrios so criados usando-se a tag HTML
< f orm> e cada tag < f orm> possui um atributo action.
O arquivo cujo nome voc inclui com o atributo action usado pelo
servidor web para processar o formulrio quando este submetido.
Assim, se o script PHP de Owen se chamar report. php, ento a tag
para conect-lo ao formulrio se parecer com o seguinte:
< fo rm a c t i o n =s m e th o d = " p o s t M>
r e p o r t h t m l
Quando o usurio clica no boto Relatar Abduo formulrio faz o
script report. php ser executado para processamento dos dados.
e>Alie:1S Me - an Abduction
^ 2>^ lie?!.,AhdUCt6d Me " RePrt an Abduct ion
-
adicionando vida s suas pginas estticas
nty? existeniT e r g u n t a s i d P t c t s
T * * 0 que significa PHP?
PHP um acrnimo que originalmente significava Personal Home Pages
(Pginas Pessoais). De alguma forma, o acrnimo teve o seu
significado modificado para PHP: Hypertext Processor (Processador
de Hipertexto PHP). Este ltimo considerado um acrnimo recursivo,
porque ele referencia a si mesmo - um acrnimo (PHP) dentro do
acrnimo. Inteligente? Confuso? Voc decide!
* Mesmo que o meu navegador esteja mostrando que o nome da pgina
termina com .php, ela ainda puro HTML? Como possvel?
Isso possvel porque a pgina comea a sua vida como cdigo PHP no
servidor, mas transformada em cdigo HTML antes de ser enviada para
o navegador. Assim, o servidor executa o cdigo PHP e o converte em
HTML antes de envi-lo para ser visualizado no navegador. Isso
significa que, mesmo que o arquivo .php contenha cdigo PHP, o
navegador nunca v esse cdigo - ele v apenas o cdigo HTML, resultado
da execuo do cdigo PHP no servidor.
* Mas no verdade que toda pgina web se origina no servidor,
inclusive as pginas HTML puras, em arquivos .html?
Sim. Todos os arquivos que compem um site ficam armazenados no
servidor - . html, . c s s , . php, etc. Mas nem todos eles so
processados peio servidor. Os arquivos HTML e CSS, bem como
arquivos grficos, so enviados diretamente para o navegador do
cliente, sem preocupaes sobre o contedo deles. Os arquivos PHP so
diferentes porque contm cdigos que so processados e executados no
servidor web. No o cdigo PHP que enviado ao navegador, e sim os
resultados obtidos ao se executar o cdigo PHP, - esses resultados
so HTML e CSS puros.
voc est aqui 15
-
Use PHP para acessar os dados do formulrio
seu 1a script php
Ento, Owen precisa de um script PHP capaz de fazer com que as
informaes do formulrio cheguem a ele de forma mais confivel do que
atravs do e-mail. Vamos criar esse script.No se preocupe em
entender tudo agora - ns chegaremos l:
O.*riftsPHP M , a V i nwas doisas -ficafrequentemente
to * t tp * r * tc o & > - mi o w a ^ es. j X * bastante
. w ^ a
jjma HTML normal- do pWf5propriamente dito.ort an Abduction
Aliens Abducted Me
Aliens Abdus? d Me - Report an Abduction
per-feitamente normal um script PHP niluir ia^s c atributos HTML
normais.
J0 blodo de ddijo inteiro PHP o restante do strip t c HTML
normal-
j | fcsU pedao dc I PHP obtemos dados doformulrio, para
-
adicionando vida s suas pginas estticas
T f e f iT O R f V E
Modifique o formulrio de Owen de forma que ele use um script PHP
para processar os dados do formulrio.Crie um novo arquivo de texto
chamado r e p o r t . php e digite nele todo o cdigo da pgina
anterior. Esse o script que ir processar o formulrio web de Owen.O
script PHP ainda no est conectado ao formulrio; abra a pgina
report.html em um editor de textos e modifique a ao do formulrio
para report .php em vez de mailto.
:form action = method = "post":report.html p^ty
reportphp ar>g.jpgAbra a pgina r e p o r t . h tm l em um
navegador web, digite algumas informaes do seu caso de abduo no
formulrio e clique no boto Relatar Abduo.
Aliens Abducted Me - Report an AbductionShare y o o r s to iy o
f afiB abduction;
Dpersdeftd do seu havendo*-, voe podara ve*- uma p^ ih 'web Com
ww ie*to esquisito ou Possivelmente apenas o toi$o- fotvfce PttP do
sript report php.
First name:Last name:W hat is your email address?
W ien did it happen?
How Long -were you gone?
How many did vou see?
Dtsc-rEb them:W hat did they do to you? Have you seen my * *6
Fang?
5 Nadir >alfin*er*al|s ilasr Hov^'Der : il hre Aliens
Abducted Me - Report an Abduction3= ----------Y ouv, M ucd',
SwbeaJLhappewd". echo and w ere gone fo r .
5 iio w _ lo n g ; echo ^ ,:
-
colocando scripts php no servidor
Os scripts PHP precisam ficar em um servidor!A no ser que voc,
por acaso, tenha um servidor web rodando no seu se vt
tivercomputador local, o script r e p o r t .php no poder ser
executado ur* servidor webquando voc submeter o fo rm u l rio
Relatar uma Abduo. Lembre-se, o instalado lodalmetc, PHP uma
linguagem de programao e precisa de um ambiente onde e ele tiver
suporte apossa rodar. Esse ambiente um servidor web com suporte a
PHP. Scripts P^P> enta poderPHP e pginas web que dependem deles
precisam ser colocadas em um testar os stripts PHP servidor web
real, no basta apenas abrir um script diretamente a partir de
diretamente no seuum sistema de arquivos local. tomputador.
Os navegadores web no sabem nada sobre PHP e, portanto, no so
capazes de rodar scripts PHP.
$0 tontrrio de paginas HTML- podem ser abertas Totalmente em w*
navegador web, os stripts PttP sempre ser waberW atravs de um IXRLi
a partir de um servidor web
$e s trip t PHP representa apenas um monte de tdigo sem sentido
para o navegador web.
0 servidor web entende este tdigo PHP e e*etuta o stript!
Wma -forma ra>ida de saber se uma pagina web esta sendo
entregue por um servidor web c olhar se a U R L tometa tom wKttp:M.
Pginas web abertas tomo arquivos letais sempre iomeam tom
W-file'W
Os servidores web com suporte a PHP so equipados para rodar
scripts PHP e transform- los em pginas HTML que os navegadores
possam entender.
Os scripts PHP deVem ser eXecutadPS em um serVdPT W e b , o u e
n t o n a q u n c f n t o .
-
adicionando vida s suas pginas estticas
Coloque os seus scripts PHP no servidorE perfeitamente vlido
criar e editar scripts PHP no seu computador local. Porm, voc
precisa colocar os arquivos em um servidor web antes de execut-los.
Os arquivos PHP, frequentemente, so colocados junto com arquivos
HTML em um servidor. No h nada fora do comum em colocar scripts PHP
no servidor web - basta coloc-los em um lugar onde as suas pginas
web possam acess-los. Para fazer o upload (envio) dos arquivos para
o servidor, voc precisar da ajuda de um utilitrio, como por
exemplo, um programa de FTP (File Transfer Protocol ou Protocolo de
Transferncia de Arquivos).
A maioria dos sdripts PHP apareie junto domoutros arquivos, a
esma pasta, de*tro do servidor. so, 3*
vezs, armazet^ads Cm urtv pstprpria, par melhoror^nizaddo no
servidor... mas fido
_ este daso.style.css fang.jpg
jeralmente, ha pasta o servidor web onde a maioria, se no todos,
os arquivos sao armazenados.
Fazer o upload dos seus scripts PHP para um servidor web no o
suficiente - esse servidor tambm precisa ter o PHP instalado nele.
Alguns servidores incluem o PHP por padro, alguns no.
ne existemperguntas idptas
T * Como eu posso saber se o meu servidor web tem o PHP
instalado?
Voc pode perguntar ao seu administrador, ou sua empresa de
hospedagem de sites, ou ento pode realizar um pequeno teste, voc
mesmo. Crie um arquivo de texto chamado t e s t e .p h p e coloque
o seguinte cdigo nele:
ste ddi$o pede para o^ t in-formaoes sobre o PHP sejam mostradas
no
Agora, envie (upload) o teste.php para oS&tf&Widor, e
ento digite a sua URL em um navegador web. Se o PHP estiver
instalado no seu servidor, aparecero vrias informaes detalhadas
sobre o PHP, incluindo a sua verso. Bingo!
Se voc no tive r o P H P insta lado no seu se rv id o r web,
consulte
o Apndice ii.Nele, encontrar instrues para ter o PHP instalado e
operante no seu servidor.
Lembre-se de deietar o sdript phpmo guando estiver terminado,
desta -forma, nin^ uem mais tonse^ue ver isto
voc est aqui > 19
-
_ T J e s t O r i v e
test drive no seu script php
Faa o upload dos arquivos da pgina "Relatar uma Abduo e teste o
formulrio... novamente.Envie os arquivos report. html, report. php,
style . css efang.j pg para um servidor web que tenha o PHP
instalado. Digite a URL da pgina report, html no seu navegador,
preencha o formulrio com informaes do seu caso de abduo, e clique
no boto Relatar Ab