Web Interativa com Ajax e PHP

Documentos relacionados
Desenvolvendo Websites com PHP

Editor: Rubens Prates PY Editoração eletrônica: Carolina Kuwabata Revisão gramatical: Patrizia Zagni Capa: Edinei Gonçalves/Carolina Kuwabata

Ademir Cristiano Gabardo. Novatec

Criando Relatórios com PHP Pablo Dall Oglio

Desenvolvendo Websites com PHP

Copyright 2008, 2013 da Novatec Editora Ltda.

Juliano Niederauer. Novatec

Blender 3D jogos e animações interativas Allan Brito

Rodrigo de Barros Paes

Benjamin Bengfort Jenny Kim

Criando Aplicações PHP com. Zend e Dojo. Flávio Gomes da Silva Lisboa. Novatec

Pedro Monteiro da Silva Eleutério Marcio Pereira Machado. Novatec

Criando Aplicações Gráficas com PHP

Primeiros Passos com o Arduino

Desenvolvendo Websites com PHP

Jonathan Weber e a equipe da LunaMetrics

WordPress 3 Básico Stephanie Leary

Primeiros Passos com Sensores Kimmo Karvinen Tero Karvinen

Criando Relatórios com PHP

Guia Prático Richard E. Silverman

Simon Holmes. Novatec

Aravind Shenoy Anirudh Prabhu

Guia Mangá. Álgebra Linear. Shin Takahashi, Iroha Inoue e Trend-Pro Co., Ltd. novatec

Zend. Framework. Componentes Poderosos para PHP. Flávio Gomes da Silva Lisboa. Novatec

Desenvolvimento de Grandes Aplicações Web

Ademir C. Gabardo. Novatec

Expressões Regulares Cookbook Jan Goyvaerts Steven Levithan

Sumário. Capítulo 1 O que é o PHP? Capítulo 2 Instalação do PHP Capítulo 3 Noções básicas de programação... 25

Sumário. Capítulo 1 Revisão de PHP Capítulo 2 Melhorando o processamento de formulários... 46

2ª edição. Daniel Adorno Gomes. Novatec

Ricardo R. Lecheta. Novatec

Arduino Básico Michael McRoberts

JQuery. A Biblioteca do Programador JavaScript. 3ª Edição Revisada e ampliada. Maurício Samy Silva. Novatec

Sumário. Parte I JavaScript básica. 1 Introdução a JavaScript Estrutura léxica Tipos, valores e variáveis... 28

Desenvolvendo para. Windows 8. Aprenda a desenvolver aplicativos para Windows Phone 8 e Windows 8. Ricardo R. Lecheta. Novatec

Manipulação de Dados em PHP (Integração PHP e MySql) Parte 1

Guia Mangá Circuitos Eletrônicos

Novatec Editora Ltda

Jonathan Stark Brian Jepson

Introdução à Programação com Python

Introdução à Programação com Python

Jessey Bullock Jeff T. Parker

3 a edição. Walter Cybis Adriana Holtz Betiol Richard Faust. Novatec

Ricardo R. Lecheta. Novatec

Excel Avançado. 2ª Edição. Antonio Fernando Cinto Wilson Moraes Góes. Novatec

Aprenda a Programar com Minecraft

Pré-requisitos: Conhecimentos de informática gerencial e lógica de programação.

Introdução 1 PARTE I: A LINGUAGEM DA WEB 5

Novatec Editora Ltda. [2014].

Guia Mangá Motores elétricos

A Arte de Escrever Programas Legíveis

Primeiros Passos com o Raspberry Pi

Laboratórios de Tecnologias. Cisco. em Infraestrutura de Redes. Samuel Henrique Bucke Brito. Novatec

Christopher Duffy. Novatec

Lojas Virtuais com. Magento. André Nobrega Gugliotti. Novatec

2ª Edição Alexandre Keller

Rails 3 Básico Cloves Carneiro Jr. Rida Al Barazi

Como melhorar a performance de websites.net

Guia Mangá Circuitos Eletrônicos

Brandon Rhodes John Goerzen

Primeiros Passos com o Arduino Massimo Banzi

ADIANTI FRAMEWORK PARA PHP

Paulo Strelczuk. Novatec

jquery Cookbook Comunidade de Desenvolvedores jquery

Ademir C. Gabardo. Novatec

Hélio Engholm Jr. Novatec

Julia Elman e Mark Lavin. Novatec

Java para Desenvolvimento Web Carga Horária: 40 Horas.

PDF Explicado John Whitington

CONTEÚDO PROGRAMÁTICO

Guia do Programador Joel Saade

A c c e s s. Data Lógica Informática. Ambiente Real Conhecimento de Verdade. Carga Horária (referencial): 30 horas. Pré-requisito: Windows

Crie Seu Próprio Site

Nesta disciplina aprenderemos. HTML CSS JavaScript Jquery PHP

Josh Pauli Revisão técnica Scott White. Novatec

Google Android para Tablets

Ricardo R. Lecheta. Novatec

Scrum em Ação. Gerenciamento e Desenvolvimento Ágil de Projetos de Software. Andrew Pham Phuong-Van Pham. Novatec

Aplicativo web para definição do modelo lógico no projeto de banco de dados relacional

Aprendendo Programação. ios. Alasdair Allan. Novatec

Padrões de Projeto em PHP

André Gugliotti. Novatec

Plano de Aula - Dreamweaver CS5 - cód Horas/Aula

Ricardo Kléber M. Galvão. Novatec

2ª EDIÇÃO. André Milani. Novatec

Luiz Carlos Querino Filho

Google Analytics Justin Cutroni

O CMS JOOMLA! UM GUIA PARA INICIANTES

David Hows Peter Membrey Eelco Plugge

Guia de Consulta Rápida. PHP com XML. Juliano Niederauer. Terceira Edição. Novatec

Desenvolvimento Web III. Prof. Felippe Scheidt

Keith Wood. Apresentação de Dave Methvin. Novatec

Transcrição:

Web Interativa com Ajax e PHP Juliano Niederauer Novatec

Copyright 2007, 2013 da Novatec Editora Ltda. Todos os direitos reservados e protegidos pela Lei 9.610 de 19/02/1998. É proibida a reprodução desta obra, mesmo parcial, por qualquer processo, sem prévia autorização, por escrito, do autor e da Editora. Editor: Rubens Prates Editoração eletrônica: Carolina Kuwabata Revisão gramatical: Gabriela de Andrade Fazioni Capa: Karine Hermes ISBN: 978-85-7522-327-7 Histórico de impressões: Julho/2013 Segunda edição Janeiro/2011 Segunda reimpressão Agosto/2008 Primeira reimpressão Abril/2007 Primeira edição (ISBN: 978-85-7522-126-6) Novatec Editora Ltda. Rua Luís Antônio dos Santos 110 02460-000 São Paulo, SP Brasil Tel.: +55 11 2959-6529 Fax: +55 11 2950-8869 Email: novatec@novatec.com.br Site: www.novatec.com.br Twitter: twitter.com/novateceditora Facebook: facebook.com/novatec LinkedIn: linkedin.com/in/novatec VC20130710

Sumário Sobre o autor... 11 Prefácio... 12 Quem deve ler este livro... 13 Como este livro está organizado... 13 Download do código-fonte do livro... 14 Capítulo 1 O que é Ajax?... 15 1.1 Modelo clica e espera versus modelo interativo...15 1.2 Exemplos de uso prático... 17 1.3 Características do Ajax...22 1.3.1 O navegador hospeda uma aplicação, não conteúdo...23 1.3.2 O servidor fornece dados, não conteúdo...25 1.3.3 Interação flexível entre usuário e aplicação...27 1.3.4 Disciplina na codificação...28 1.4 O contexto do Ajax na web...29 1.4.1 O Ajax não tem dono...29 1.4.2 Programação, acessibilidade e compatibilidade...30 1.4.3 Comparando Ajax com o Flash... 31 1.4.4 Onde entra o PHP nessa história?...32 1.4.5 Usar XML é interessante, mas não obrigatório...33 1.4.6 Quando não vale a pena usar Ajax...34 1.5 Ajax e a Web 2.0...34 1.6 Requisitos e instalações de softwares... 37 Capítulo 2 JavaScript e CSS: os pilares do Ajax... 38 2.1 Entendendo o JavaScript...38 2.1.1 Como escrever um programa JavaScript?...39 2.1.2 Variáveis...40 2.1.3 Operadores...42 2.1.4 Estruturas de controle...43 2.1.5 Funções...45 2.1.6 Interagindo com o usuário...46 7

8 Web Interativa com Ajax e PHP 2.2 Interagindo com a página HTML...48 2.2.1 Abrindo janelas popup...48 2.2.2 Campos de texto...49 2.2.3 Caixas de checagem (checkbox)...50 2.2.4 Botões radio... 51 2.2.5 Listas de seleção... 52 2.3 Melhorando a experiência do usuário com CSS...53 Capítulo 3 Manipulando XML com JavaScript... 63 3.1 Entendendo o modelo DOM...63 3.2 Interface do documento (Document)...66 3.2.1 Atributos...66 3.2.2 Métodos...67 3.3 Interface dos nodos (Node)...70 3.3.1 Atributos...70 3.3.2 Métodos... 74 3.4 Outras inferfaces DOM...76 3.5 A classe XMLDocument...77 3.6 Entendendo XMLHttpRequest...80 3.6.1 Métodos de XMLHttpRequest...82 3.6.2 Propriedades de XMLHttpRequest...84 Capítulo 4 O lado servidor: relembrando PHP... 86 4.1 Como escrever um programa PHP...86 4.2 Variáveis...87 4.3 Arrays...88 4.4 Operadores...89 4.5 Estruturas de controle... 91 4.6 Definição de funções...96 4.7 Dados de formulários HTML...97 4.8 Conexão com banco de dados...98 Capítulo 5 Ajax passo a passo... 100 5.1 Iniciando o XMLHttpRequest...101 5.2 Enviando dados ao servidor... 102 5.3 Criando sua própria biblioteca para o XMLHttpRequest... 106 5.4 Obtendo a resposta como string... 109 5.5 Recebendo dados como XML...113 5.6 Tratando resultados numéricos... 120 5.7 Manipulando erros... 125 5.8 Analisando a resposta HTTP... 127 5.9 Gerando dinamicamente uma mensagem com CSS... 129

Sumário Capítulo 6 Reaprendendo a tratar formulários web... 135 6.1 Manipulando os elementos do formulário... 135 6.1.1 Enviando valores de campos de texto sem refresh... 135 6.1.2 Exibindo os dados do servidor em campos de texto... 139 6.1.3 Enviando valores de listas de seleção ao servidor... 142 6.1.4 Gerando uma lista de seleção dinâmica... 150 6.1.5 Enviando valores de checkbox ao servidor... 155 6.1.6 Gerando um novo grupo de checkbox... 159 6.2 Validando informações... 163 6.2.1 Validando campos de texto... 164 6.2.2 Validando a sintaxe de e-mails... 165 6.2.3 Usando Ajax para validar usuários/e-mails únicos... 168 9 Capítulo 7 Uma aplicação completa com Ajax... 172 7.1 Definindo a base de dados... 172 7.2 Página inicial? Não, a página é permanente!... 176 7.3 Bibliotecas JavaScript e estilos CSS... 180 7.4 Listando produtos... 184 7.5 Obtendo os detalhes do produto no servidor... 187 7.6 Carrinho de compras e cálculo do frete... 188 7.7 Cadastrando os clientes... 194 7.8 Inserindo o pedido no banco de dados... 198 Capítulo 8 Técnicas e estudos de caso sobre Ajax... 201 8.1 Sua aplicação mais eficiente...201 8.1.1 Consertando o botão Voltar do browser...201 8.1.2 Definindo um tempo limite para a requisição HTTP...209 8.1.3 Unindo os arquivos JavaScript em um único arquivo... 211 8.1.4 Protegendo o código da aplicação Ajax...213 8.2 Estudos de caso: aplicações com Ajax e PHP... 216 8.2.1 Chat de atendimento... 216 8.2.2 Tabela de dados (data grid)... 230 8.2.3 Sistema de sugestões... 243 8.3 Ajax Frameworks... 252 Apêndice A Comandos gerais do PHP... 255 A.1 Arrays... 255 A.2 Classes e objetos... 258 A.3 Data e hora... 259 A.4 Diretórios... 259 A.5 FTP...260 A.6 Funções... 261 A.7 Imagens... 262

10 Web Interativa com Ajax e PHP A.8 Matemática...265 A.9 Opções e informações do PHP... 267 A.10 PDF...269 A.11 Rede... 273 A.12 Sessões... 274 A.13 Sistema de arquivos (Filesystem)... 275 A.14 Strings...277 A.15 URL...280 A.16 Variáveis... 281 Apêndice B Funções PHP/bancos de dados... 282 B.1 MySQL...282 B.2 MySQLi...284 B.3 PostgreSQL...287 B.4 SQLite...290 B.5 InterBase / Firebird... 292 B.6 dbx...294 B.7 Microsoft SQL Server...295 B.8 Oracle...296 B.9 OCI8...296 B.10 ODBC...299