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