Editora Carlos A. J. Oliviero Faça um Site PHP 5.2 com MySQL 5.0 Comércio Eletrônico Orientado por Projeto 1a Edição 2 Reimpressão São Paulo 2011 Érica Ltda.
Noções Livrarse Preparação muitas muita Sumário Parte 1 sobre PHP 5.2 com Banco de Dados MySQL 5.0 Capítulo 1 Utilizar este Livro 22 O que é a série Faça um Site 22 O método orientado por projeto 22 obter sucesso nos estudos 23 Algumas dicas para um estudo eficaz 23 Planeje seu estudo 23 os livros estão estruturados 24 Informações muito importantes 24 Projeto didático 24 Direitos autorais do projeto 25 Bugs do projeto 25 Por que devo digitar as linhas de código das páginas? 25 Rotinas, comandos e páginas Refresh atenção em sua digitação 25 vezes pode resolver seu problema 25 Prérequisitos para o estudo deste livro 25 Objetivos deste livro 26 Capítulo 2 do Computador. 27 Objetivos 27 Etapas de estudo 27 Para início de conversa 27 Etapa 1 de instalações antigas do MySQL, Apache e PHP 27 Laboratório 2.1 identificar se o MySQL, o Apache ou o PHP já estão instalados em seu computador e removêlos 28 Etapa 20 Apache 2.2 28 Laboratório 2.2 baixar e instalar o Apache 2.2 29 Laboratório 2.3 configurar o Apache para trabalhar corretamente em seu computador 31 Laboratório 2.4 verificar se o Apache funciona corretamente 34 Etapa3OMySQL5.0 35 Laboratório 2.5 Laboratório 2.6 baixar e instalar o MySQL 5.0 35 copiar o banco de dados usado neste livro para a pasta "data" do MySQL 39 Etapa4OPHP5.2 39 Laboratório 2.7 Laboratório 2.8 baixar e instalar o PHP 5.2 39 verificar se o PHP 5.2 funciona corretamente 42 Laboratório 2.9 Verificação final 43 Síntese do capítulo 43 9
Variáveis Expressões Introdução Variáveis Variáveis, Entender Capítulo 3 ao PHP 5.2 44 Objetivos 44 Etapas de estudo 44 Para início de conversa 44 Etapa 1 Por que PHP 44 O que são scripts 45 Etapa 2 Introdução ao PHP 46 História 46 Laboratório 3.1 fazer uma página simples em PHP 47 Etapa 3 Noções preliminares para o estudo do PHP 51 Os delimitadores do PHP 51 Laboratório 3.2 o uso dos delimitadores 51 Laboratório 3.3 escrever blocos de instruções de script 52 Laboratório 3.4 Laboratório 3.5 Laboratório 3.6 Laboratório 3.7 Laboratório 3.8 inserir comentários em um script 53 exibir dados em um navegador por intermédio do PHP 54 mesclar tags do HTML com funções do PHP 54 inserir quebras de linhas com funções do PHP 55 enviar códigos HTML que contenham aspas 55 Laboratório 3.9 Juntando tudo 56 Síntese do capítulo 57 Tarefa mínima 58 Capítulo 4 Constantes e Tipo de Dados 59 Objetivos 59 Etapas de estudo 59 Para início de conversa 59 Etapa 1 e constantes 59 Variáveis 60 Constantes 62 Laboratório 4.1 Um simples exemplo em PHP usando variáveis 63 Etapa 2 matemáticas 64 Prioridade entre operações aritméticas 66 Laboratório 4.2 testar expressões aritméticas 66 Laboratório 4.3 trabalhar com variáveis e constantes 67 Laboratório 4.4 calcular a área de um quadrado 68 Etapa 3 alfanuméricas 68 Laboratório 4.5 concatenar strings 68 Funções caractere (strings) 69 Laboratório 4.6 Laboratório 4.7 trabalhar com strings 70 formatar a exibição de um CNPJ 71 Funções para manipulação de data e hora 72 Laboratório 4.8 trabalhar com datas 73 Laboratório 4.9 trabalhar com horas 75 Faça um Site PHP 5.2 com MySQL 5.0 Comércio Eletrônico
Processamento Desvio Desvio Estruturas Controle Vetores Loops Laboratório 4.10 calcular uma data "x" dias a partir da data atual 76 Timestamp 77 Função mktimeo 78 Bug do timestamp 78 Laboratório 4.11 calcular o timestamp da data atual do servidor 78 Laboratório 4.12 Laboratório 4.13 calcular uma data a partir de "x" dias de uma data qualquer 79 calcular o número de dias entre duas datas 80 Sintese do capítulo 81 Tarefa mínima 81 Capítulo 5 do Fluxo de um Programa 83 Objetivos 83 Etapas de estudo 83 Para início de conversa 83 Etapa 1 Etapa 2 sequencial 83 condicional simples 84 Laboratório 5.1 testar desvios condicionais simples 85 Operadores relacionais 86 Laboratório 5.2 Laboratório 5.3 Etapa 3 usar operadores relacionais (Parte 1) 86 usar operadores relacionais (Parte 2) 87 condicional composto 88 Laboratório 5.4 Laboratório 5.5 Laboratório 5.6 usar desvios condicionais compostos (Parte 1) 88 usar desvios condicionais compostos (Parte 2) 89 verificar se um número é par ou ímpar 90 Atividade complementar 5.1 verificar se um número é par ou ímpar 90 A expressão switch 91 Laboratório 5.7 Etapa 4 testar vários valores com a expressão switch 91 de controle de repetição 92 Laboratório 5.8 Laboratório 5.9 construir uma tabela de uma coluna e 15 linhas 92 construir uma tabela de uma coluna e 20 linhas zebradas 94 Incremento de valores diferentes de 1 95 Laboratório 5.10 Laboratório 5.11 com incrementos diferentes de 1 95 gerar uma tabela de cores seguras para a web 96 Um pouco sobre a teoria das cores 96 O código RGB numérico 96 Cores seguras da web 97 Solução do problema proposto neste laboratório 97 Síntese do capítulo 100 Tarefa mínima 100 Capítulo 6 102 Objetivos 102 Etapas de estudo 102 11
Vetores Criação Campos Coleta Total Criação Comércio Para início de conversa 102 Laboratório 6.1 usar variáveis para construir uma página que exiba o dia da semana por extenso 102 Etapa 1 103 Laboratório 6.2 Laboratório 6.3 Laboratório 6.4 Laboratório 6.5 Laboratório 6.6 usar vetores para construir a página que exibe o dia da semana 104 usar vetores para construir a página "Prato do Dia" 105 usar loops para trabalhar com vetores 106 de vendas por vendedor 107 aprimorar a exibição dos dados do laboratório 6.5 108 Síntese do capítulo 109 Tarefa mínima 110 Capítulo 7 Formulários 111 Objetivos 111 Etapas de estudo 111 Para início de conversa 111 Etapa 1 de formulários 111 Atributo ACTION Hl Atributo METHOD H2 Etapa 2 de entrada de dados 112 Caixa de texto de uma linha (Text) 112 Laboratório 7.1 usar o elemento "Caixa de Texto" 113 Caixa de texto de rolagem (TextArea) 113 Laboratório 7.2 usar o elemento "Caixa de texto de rolagem" 114 Caixa de seleção (CheckBox) 114 Laboratório 7.3 usar o elemento "Caixa de seleção" 115 Botão de opção (radio) 115 Laboratório 7.4 usar o elemento "Botão de opção (radio)" 116 Menu suspenso (Select e Option) 117 Laboratório 7.5 usar o elemento "Menu suspenso" 117 Botão de envio 118 Campo de dados escondido 118 Laboratório 7.6 Etapa 3 de um formulário exemplo 118 de dados 119 Laboratório 7.6R Laboratório 7.7 recuperar dados com a superglobal $_POST 119 impedir que certos campos fiquem em branco 120 Síntese do capítulo 122 Tarefa mínima 122 Capítulo 8 Funções 123 Objetivos 123 Etapas de estudo 123 Para início de conversa 123 12 Faça um Site PHP 5.2 com MySQL 5.0 Eletrônico
Conceitos Bibliotecas Instrução PHP Etapa 1 básicos 123 Funções 124 Laboratório 8.1 criar sua primeira função 125 Laboratório 8.2 converter todos os caracteres de um campo de formulário em maiúsculas 126 Laboratório 8.3 Algoritmo Etapa 2 verificar se um CPF está correto. 128 129 de funções 132 Laboratório 8.4 Laboratório 8.5 criar sua própria biblioteca de funções 132 criar uma página para executar as funções da biblioteca 133 Síntese do capítulo 134 Tarefa mínima 134 Capítulo 9 5.2 com Banco de Dados MySQL 5.0 135 Objetivos 135 Etapas de estudo 135 Para início de conversa 135 Etapa 1 Conceitos básicos 136 O que é banco de dados 136 Linguagem SQL 140 Laboratório 9.1 Laboratório 9.2 Laboratório 9.3 exibir o primeiro registro da tabela "miniaturas" 142 exibir todos os registros da tabela "miniaturas" 143 exibir registros no formato de uma tabela 144 Armazenar informações de conexão em um arquivo separado 146 Laboratório 9.4 criar um arquivo de inclusão para se conectar a um banco de dados 146 Etapa 20 banco de dados do projeto proposto no livro 147 Tabelas que compõem o banco de dados do projeto 147 Síntese do capítulo 149 Capítulo 10 Linguagem SQL Instrução SELECT 150 Objetivos 150 Etapas de estudo 150 Para início de conversa 150 Etapa 1 Laboratório 10.1 SELECT 150 usar a instrução SELECT para retornar alguns campos e todos os registros de uma tabela 151 A cláusula WHERE 154 Laboratório 10.2 Laboratório 10.3 usar a cláusula WHERE com o operador igual 155 usar o operador lógico AND 157 Operador BETWEEN 157 Laboratório 10.4 usar o operador BETWEEN 158 Operador IN 158 13
Pesquisa Criação ON ON Comércio Laboratório 10.5 usar o operador IN 158 Operador LIKE 159 Laboratório 10.6 Laboratório 10.7 usar o operador LIKE (Parte 1) 159 usar o operador LIKE (Parte 2) 160 A cláusula ORDER BY 160 Laboratório 10.8 Laboratório 10.9 Laboratório 10.10 colocar registros em ordem crescente 161 dispor registros em ordem decrescente 161 ordenar registros por mais de um campo 162 Funções agregadas 162 Laboratório 10.11 calcular a média aritmética de um campo numérico 163 Laboratório 10.12 retomar o maior número armazenado em um campo numérico 164 Laboratório 10.13 retornar o menor número armazenado em um campo numérico 164 Laboratório 10.14 retornar a soma dos números armazenados em um campo numérico 165 Laboratório 10.15 retornar o total de registros de uma pesquisa 165 Agrupamento de registros 165 Laboratório 10.16 usar a cláusula GROUP BY 166 Cláusula HAVING 167 Laboratório 10.17 usar a cláusula HAVING 167 A cláusula INNER JOIN ON... 168 Laboratório 10.18 usar INNER JOIN... 168 Laboratório 10.19 usar INNER JOIN... com um filtro 169 Etapa 2 de dados com formulários 170 Laboratório 10.20 Laboratório 10.21 criar um formulário de pesquisa 170 criar a página para exibir a consulta efetuada pelo laboratório 10.20 172 Laboratório 10.22 Laboratório 10.23 exibir as imagens das miniaturas 174 exibir as imagens das miniaturas em duas colunas 176 Síntese do capítulo 180 Tarefa mínima 180 Capítulo 11 Inclusão de Dados (Instrução INSERT) 181 Objetivos 181 Etapa de estudo 181 Para início de conversa 181 Etapa 1 A instrução INSERT da linguagem SQL 181 Laboratório 11.1 criar uma página simples para inclusão de registros em uma tabela 182 Laboratório 11.2 Laboratório 11.3 da página de inclusão de dados 183 determinar o preenchimento de campos obrigatórios 186 14 Faça um Site PHP 5.2 com MySQL 5.0 Eletrônico
Projeto Definição Conceitos Quesitos Sites Alteração Exclusão Noções O Exclusão Laboratório 11.4 números inteiros Laboratório 11.5 validar campos numéricos para aceitar somente 1SQ validar campos decimais para aceitar somente pontos na separação de suas casas decimais 192 Síntese do capítulo Capítulo 12 Objetivos de Dados (Instrução UPDATE) 196 Etapas de estudo 196 Para início de conversa 196 Etapa 1 A instrução UPDATE da linguagem SQL 196 Laboratório 12.1 Laboratório 12.2 Alteração de todos os registros de uma tabela 197 Alteração de um determinado registro 198 Síntese do capítulo 206 107 195 196 Capítulo 13 de Registros (Instrução DELETE) 207 Objetivos 207 Etapa de estudo 207 Para início de conversa 207 Etapa 1 A instrução DELETE da linguagem SQL 207 Laboratório 13.1 de um determinado registro 207 Síntese do capítulo 210 Parte 2 do Site de Comércio Eletrônico da Faça um Site Miniaturas Capítulo 14 de Comércio Eletrônico 212 Objetivos 212 Etapas de estudo 212 Para início de conversa 212 Etapa 1 Etapa 2 Etapa 3 Etapa 4 212 preliminares 213 mínimos para um site de ecommerce 214 seguros 215 Síntese do capítulo 216 Capítulo 15 Site da Faça um Site Miniaturas 217 Objetivos 217 Para início de conversa 217 será seu projeto 217 Síntese do capítulo 228 15
Página Página O O O Comércio Capítulo 16 Arquivos de Inclusão 229 Objetivos 229 Para início de conversa 229 Laboratório 16.1 arquivo inc_menu_superior.php 229 Laboratório 16.20 arquivo inc_menu_categorias.php 233 Laboratório 16.3 arquivo tnc_rodape.php 235 Laboratório 16.40 arquivo inc_dbconexao.php 236 Síntese do capítulo 236 Capítulo 17 A Home Page do Site 237 Objetivos 237 Para início de conversa 237 Laboratório 17.1 construir a home page do site 237 Síntese do capítulo 243 Capítulo 18 Ampliação das Miniaturas 244 Objetivos 244 Para início de conversa 244 Laboratório 18.1 construir a página de ampliação das miniaturas 244 Síntese do capitulo 246 Capítulo 19 de Categorias 247 Objetivos 247 Para início de conversa 247 Laboratório 19.1 construir a página de categorias 247 Síntese do capítulo 253 Capítulo 20 de Pesquisa 254 Objetivos 254 Para início de conversa 254 Laboratório 20.1 construir a página de pesquisa 254 Síntese do capítulo 258 Capítulo 21 Página de Detalhes de uma Miniatura 259 Objetivos 259 Para início de conversa 259 Laboratório 21.1 construir a página de detalhes 259 Síntese do capítulo 265 Capítulo 22 Carrinho de Compras 266 Objetivos 266 Para início de conversa 266 Laboratório 22.1 construir a página do carrinho de compras 266 Síntese do capítulo 274 16 Faça um Site PHP 5.2 com MySQL 5,0 Eletrônico
Página Página Usuários Pagamento Capítulo 23 Objetivos de Login 275 07c i/j Para início de conversa 275 Laboratório 23.1 construir a página de login 276 Síntese do capítulo 280 Capítulo 24 de Cadastro 281 Objetivos 281 Para início de conversa 281 Laboratório 24.1 construir a página de cadastro 281 Laboratório 24.2 construir a página de gravação dos dados cadastrais 295 Síntese do capítulo 300 Capítulo 25 já Cadastrados 301 Objetivos 301 Para início de conversa 301 Laboratório 25.1 construir a página loginl.php 301 Síntese do capítulo 305 Capítulo 26 Formas de Pagamento 306 Objetivos 306 Para início de conversa 306 Laboratório 26.1 construir a página para definir a forma de pagamento de uma compra 306 Laboratório 26.2 construir a página pagamento 1.php 315 Síntese do capítulo 316 Capítulo 27 Pagamento com Cartão de Crédito 317 Objetivos 317 Para início de conversa 317 Envio de emails com o php 317 Laboratório 27.1 construir a página para pagamento de uma compra com cartão de crédito 318 Síntese do capítulo 325 Capítulo 28 com Boleto Bancário 326 Objetivos 326 Para início de conversa 326 Laboratório 28.1 construir a página para pagamento com boleto bancário 327 Síntese do capítulo 334 Capítulo 29 Código de Barras e Boleto Bancário 335 Objetivos 335 Para início de conversa 335
Visualização Envio Página Comércio Noções básicas de código de barras 335 Boletos bancários 340 Layout do código de barras 346 Síntese do capítulo 353 Capítulo 30 Emissão do Boleto Bancário 354 Objetivos 354 Para início de conversa 354 Laboratório 30.1 construir a página para emissão do boleto bancário 354 Síntese do capítulo 378 Capítulo 31 dos Meus Pedidos 379 Objetivos 379 Para início de conversa 379 Síntese do capítulo 390 Capítulo 32 de Senha do Usuário por EMail 391 Objetivos 391 Para início de conversa 391 Síntese do capítulo 396 Parte 3 Administração do Site Capítulo 33 de Administração do Site 398 Objetivos 398 Para início de conversa 398 será o projeto 398 Manutenção cadastral 401 Síntese do capítulo 406 Bibliografia 407 Índice Remissivo 409 18 Faça um Site PHP 5.2 com MySQL 5.0 Eletrônico