Larry Ullman. Novatec



Documentos relacionados
Pramod J. Sadalage Martin Fowler

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

Ademir C. Gabardo. Novatec

Jonathan Stark Brian Jepson

Novatec Editora Ltda. [2014].

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

Crie Seu Próprio Site

David Hows Peter Membrey Eelco Plugge

Desenvolvimento de Grandes Aplicações Web

marketing ágil Utilização de Metodologias Ágeis em Projetos de Marketing Michelle Accardi-Petersen Novatec

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

Julia Elman e Mark Lavin. Novatec

Ricardo R. Lecheta. Novatec

Guia Definitivo de. . DJ Waldow Jason Falls. Tradução Aline Naomi Sassaki. Novatec

Padrões de Projeto em PHP

Novatec Editora Ltda

Desenvolvendo Websites com PHP

Google Analytics Justin Cutroni

Adrian Mejia. Novatec

PDF Explicado John Whitington

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

Design Centrado no Usuário

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

Copyright 2008, 2013 da Novatec Editora Ltda.

Aprendendo. Unix no OS X. Mountain Lion. Mergulhando no Terminal e no Shell. Dave Taylor. Novatec

Adail Henrique Spínola Horst Aécio dos Santos Pires André Luis Boni Déo. Novatec

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

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

Desenvolvendo Websites com PHP

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

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

Google Android para Tablets

A Arte de SEO. Eric Enge, Stephan Spencer, Jessie Stricchiola e Rand Fishkin Introdução de John Battelle. Novatec

PRINCIPAIS CARACTERÍSTICAS DA PLATAFORMA MAGENTO PARA COMÉRCIO ELETRÔNICO

2013 GVDASA Sistemas Administração dos Portais

Ricardo R. Lecheta. Novatec

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

Hélio Engholm Jr. Novatec

Luiz Carlos Querino Filho

Gerenciamento. de projetos. Bart Gerardi. Novatec. Como evitar problemas previsíveis para o sucesso do projeto

Dell Premier. Guia de Compras e Pedidos. Fazendo Login na sua Página Premier. Três formas de comprar

Pedido de Microfilmes

Brandon Rhodes John Goerzen

Primeiros Passos com o Raspberry Pi

apresentação iagente shop

Prévia Apresentação. A E-Assis atua no mercado há mais de 10 anos e conta com mais de clientes satisfeitos com as soluções web desenvolvidas.

MÓDULO MAGENTO. MANUAL DE INSTALAÇÃO v1.5

Paulo Strelczuk. Novatec

MARKETING DIGITAL NA ERA. Martha Gabriel CONCEITOS, PLATAFORMAS E ESTRATÉGIAS. Novatec

Opções técnicas para automatizar a mudança de status de transações pendentes

Perguntas e Respostas NOVO SITE PEDIDOSONLINE HERBALIFE NO MYHERBALIFE.COM.BR BRASIL, 2013.

Documentação. Programa de Evolução Contínua Versão 1.72

Proposta Loja Virtual. Schmitt Tricot

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

Harrison Kinsley Will McGugan

Service Desk Corporativo

Pete Goodliffe. Novatec

Defenda sua base com circuitos simples, Arduino e Raspberry Pi

Módulo e-rede OpenCart v1.0. Manual de. Instalação do Módulo. estamos todos ligados

Módulo GerenciaNet para WHMCS

2015 GVDASA Sistemas Administração dos Portais

Sumário. Vipexpress Plataforma web para intermediação de vendas online entre usuários

Marketplaces. Como usar o Moip em Marketplaces ou em aplicações com comissionamento

Tutorial do Usuário para utilização do Magento e commerce

Camila Porto. Novatec

Módulo e-rede Magento v1.0. Manual de. Instalação do Módulo. estamos todos ligados

Escrito por Sáb, 15 de Outubro de :19 - Última atualização Seg, 26 de Março de :32

Módulo e-rede OSCommerce v1.0. Manual de. Instalação do Módulo. estamos todos ligados

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

Documentação. Programa de Evolução Contínua Versão 1.76

Módulo e-rede VirtueMart v1.0. Manual de. Instalação do Módulo. estamos todos ligados

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

Anote aqui as informações necessárias:

Há 15 anos, a Bertholdo é uma empresa especializada em soluções de tecnologia da informação e comunicação.

Módulo e-rede OSCommerce v1.0. Manual de. Instalação do Módulo. estamos todos ligados

Curso Avançado Sistema EMBI

Módulo e-rede OpenCart v1.0. Manual de. Instalação do Módulo. estamos todos ligados

Você sabia que... O pagamento numa loja virtual. Guia #6 Como as formas de pagamento podem interferir nas minhas vendas

Módulo e-rede VirtueMart v1.0. Manual de. Instalação do Módulo. estamos todos ligados

Departamento de Tecnologia da Informação DTI Coordenadoria de Relacionamento com o Cliente CRC. Treinamento Básico do Correio Eletrônico

Ricardo Lino Olonca. Novatec

Cursos de Magento Gugliotti Consulting

Sorocaba 05 de Agosto de Para: 015. A/C: Cliente Referente: Desenvolvimento Loja Virtual. Prezado(a) Sr(a)

Como acessar. Pelo portal de sua instituição de ensino. Pelo endereço personalizado (URL) Existem duas maneiras distintas de acesso:

Desenvolvimento de Sistema WEB com orçamento ajustável

Software Web para: Empresas, Governo, Organizações, Entidades de Classe, Sindicatos, ONG's e Profissionais Liberais

João Eriberto Mota Filho

Faça um Site PHP 5.2 com MySQL 5.0 Comércio Eletrônico

"Manual de Acesso ao Moodle - Discente" 2014

Construindo Aplicações Node com MongoDB e Backbone Mike Wilson

Módulo e-rede Prestashop v1.0. Manual de. Instalação do Módulo. estamos todos ligados

2ª Edição Alexandre Keller

Facebook Instruções de integração com PayPal

Layout : Este layout desenvolvido com html5 e css3 e compatível com qualquer dispositivo, ou seja, ele se molda para qualquer resolução, tablet,

Ricardo Kléber M. Galvão. Novatec

RELEASE F-STORE v

Wilson Moraes Góes. Novatec

Cobre Bem Tecnologia

Transcrição:

Larry Ullman Novatec

Authorized translation from the English language edition, entitled EFFORTLESS E-COMMERCE WITH PHP AND MYSQL, 2nd Edition, 0321949366 by ULLMAN, LARRY, published by Pearson Education, Inc, publishing as New Riders, Copyright 2014 by Pearson Education. All rights reserved. No part of this book may be reproduced or transmitted in any form or by any means, electronic or mechanical, including photocopying, recording or by any information storage retrieval system, without permission from Pearson Education, Inc. PORTUGUESE language edition published by NOVATEC EDITORA LTDA., Copyright 2014. Tradução autorizada da edição original em inglês, intitulada EFFORTLESS E-COMMERCE WITH PHP AND MYSQL, 2nd Edition, 0321949366 por ULLMAN, LARRY, publicada pela Pearson Education, Inc, publicando como New Riders, Copyright 2014 pela Pearson Education. Todos os direitos reservados. Nenhuma parte deste livro pode ser reproduzida ou transmitida por qualquer forma ou meio, eletrônica ou mecânica, incluindo fotocópia, gravação ou qualquer sistema de armazenamento de informação, sem a permissão da Pearson Education, Inc. Edição em Português publicada pela NOVATEC EDITORA LTDA., Copyright 2014. 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 Tradução: Lúcia Kinoshita Revisão gramatical: Marta Almeida de Sá Editoração eletrônica: Carolina Kuwabata ISBN: 978-85-7522-397-0 Histórico de impressões: Novembro/2014 Novatec Editora Ltda. Rua Luís Antônio dos Santos 110 02460-000 São Paulo, SP Brasil Tel.: +55 11 2959-6529 E-mail: novatec@novatec.com.br Site: www.novatec.com.br Twitter: twitter.com/novateceditora Facebook: facebook.com/novatec LinkedIn: linkedin.com/in/novatec PR20141110 Primeira edição

Sumário Um milhão de agradecimentos a... 17 Introdução... 18 O que é e-commerce?... 18 Sobre este livro... 19 Tecnologias usadas... 20 O que há de novo nesta edição...21 Para obter ajuda... 22 De que você precisará... 22 Algumas habilidades fundamentais... 22 Um servidor web... 23 E um pouco mais... 23 Parte I Fundamentos do e-commerce... 24 Capítulo 1 Introdução ao e-commerce... 25 Identificando os objetivos de seu negócio... 26 Fazendo pesquisas sobre questões legais... 28 Leis nacionais e internacionais... 28 Conformidade com o PCI... 30 Selecionando as tecnologias web...31 Selecionando um web host... 33 Opções de hospedagem... 33 Minha recomendação para a hospedagem... 37 Encontrando um bom host...38 Usando um sistema de pagamentos...40 Processadores de pagamentos...40 Gateways de pagamento...41 A solução intermediária... 43 Qual deles você deve usar?...44 O processo de desenvolvimento...46 Planejamento do site... 47 7

8 E-Commerce com PHP e MySQL Design HTML... 47 Design do banco de dados... 49 Programação... 50 Testes... 52 Ativação do site... 55 Manutenção... 55 Melhorias...56 Capítulo 2 Fundamentos de segurança... 57 Teoria associada à segurança... 57 Nenhum site é seguro... 58 Segurança máxima não é o objetivo... 59 Segurança para os clientes...61 Requisitos de PCI... 63 Segurança do servidor...66 Implicações quanto à hospedagem...66 PHP e a segurança web... 67 Segurança do banco de dados...71 Transações seguras... 73 Vulnerabilidades comuns...77 Protegendo as informações... 78 Protegendo o usuário... 79 Protegendo o site...81 Parte II Vendendo produtos virtuais... 86 Capítulo 3 Primeiro site: estrutura e design... 87 Design do banco de dados...88 Organização do servidor... 93 Conexão com o banco de dados... 97 Arquivo config...99 Template HTML... 105 Criando o cabeçalho...107 Adicionando funcionalidades dinâmicas ao cabeçalho... 108 Criando o rodapé... 113 Criando a página inicial... 114 Definindo funções auxiliares... 116 Redirecionando o navegador... 116 Criando as entradas dos formulários... 118

Sumário 9 Capítulo 4 Contas de usuários... 125 Protegendo as senhas...125 Inscrição...128 Criando a estrutura básica...129 Criando o formulário...130 Processando o formulário... 131 Login...140 Processando o formulário...140 Criando o formulário...144 Logout...146 Administrando as senhas...147 Recuperando senhas...147 Alterando as senhas...152 Melhorando o nível de segurança...155 Capítulo 5 Administrando o conteúdo do site... 158 Criando um administrador... 158 Adicionando páginas... 160 Criando o script básico... 160 Adicionando um editor WYSIWYG... 166 Apresentando o conteúdo das páginas...169 Criando category.php...170 Criando page.php... 174 Adicionando PDFs...177 Configurando o servidor...178 Criando o script PHP... 180 Apresentando o conteúdo dos PDFs... 188 Criando pdfs.php...189 Criando view_pdf.php... 190 Capítulo 6 Usando o PayPal... 195 Sobre o PayPal...195 Soluções para pagamento...198 Botões para pagamento... 200 Testando o PayPal...201 Cadastrando-se junto ao PayPal... 202 Criando contas de cliente para testes... 205 Criando um botão... 207 Integrando o PayPal...210 Atualizando a página de inscrição... 211 Criando thanks.php...212 Criando cancel.php... 214

10 E-Commerce com PHP e MySQL Testando o site...215 Usando o IPN...218 Habilitando o IPN...218 Atualizando o script de inscrição...219 Criando o script IPN...221 Atualizando o script de agradecimento... 230 Renovando as contas... 231 Ativando o site...232 Parte III Vendendo produtos físicos... 234 Capítulo 7 Segundo site: estrutura e design... 235 Sobre o site... 236 O que está sendo vendido... 236 Sem cadastramento dos clientes... 238 Implementando o MVC... 238 Nível de segurança mais elevado... 240 Design do banco de dados... 241 Tabelas de produtos... 241 Tabelas de clientes... 243 SQL... 245 Configuração do servidor... 248 Organização do servidor... 249 Personalizando o comportamento do servidor... 250 Arquivos auxiliares... 260 Conectando-se ao banco de dados... 260 O arquivo de configuração...261 Template HTML... 263 Cabeçalho HTML... 264 Rodapé HTML... 265 Ajustando suas referências... 266 Criando constantes para o HTML... 266 Tirando o máximo de proveito do MySQL... 268 Prepared statements... 268 Stored procedures...271 Capítulo 8 Criando um catálogo... 276 Preparando o banco de dados... 276 Preenchendo as tabelas usando o SQL... 277 Analisando as queries das stored procedures... 280 Criando as stored procedures... 287

Sumário 11 Compras por categoria... 292 Criando o script PHP... 293 Criando os arquivos de view... 294 Listando os produtos... 299 Criando o script PHP... 299 Criando os arquivos de view...301 Criando a lista de cafés... 304 Criando a view No Products... 305 Informando a disponibilidade... 306 Mostrando os preços de promoção... 308 Atualizando a stored procedure... 309 Atualizando product_functions.inc.php...313 Atualizando list_goodies.html... 314 Atualizando list_coffees.html...315 Destacando as promoções...315 Criando a página inicial... 317 Criando a página de promoções... 319 Capítulo 9 Implementando um carrinho de compras... 322 Definindo as procedures... 322 Adicionando produtos...323 Removendo produtos...324 Atualizando o carrinho de compras...325 Acessando o conteúdo do carrinho... 326 Definindo as funções auxiliares... 327 Criando um carrinho de compras... 329 Criando o script PHP... 329 Criando as views... 334 Criando uma lista de desejos...339 Criando o script PHP...339 Criando as views... 340 Calculando o frete... 343 Capítulo 10 Efetuando o checkout... 345 Sobre o Authorize.net... 345 Criando uma conta de testes...347 Preparando o site... 349 O novo template HTML... 349 A função auxiliar... 351 Criando as procedures... 356 Obtendo as informações para o envio dos produtos... 365 Criando o script PHP... 365 Criando os arquivos de view...374

12 E-Commerce com PHP e MySQL Obtendo as informações de cobrança... 383 Criando o script PHP básico... 383 Criando o arquivo de view... 385 Validando os dados do formulário... 390 Processando cartões de crédito... 396 Instalando o SDK... 397 Usando o SDK... 398 Analisando a resposta do servidor... 400 Atualizando billing.php...401 Finalizando o pedido... 406 Criando o script PHP... 407 Criando o arquivo de view... 408 Testando o site... 409 Ativando o site...410 Capítulo 11 Administração do site... 412 Configurando o servidor...412 Exigindo autenticação...413 Criando um template...413 Atualizando create_form_input()...417 Adicionando produtos...418 Adicionando produtos diferentes de café...419 Adicionando cafés... 428 Adicionando itens ao estoque... 434 Criando promoções... 439 Visualizando os pedidos... 444 Listando todos os pedidos... 444 Visualizando um pedido... 447 Processando pagamentos... 454 Parte IV Toques extras... 459 Capítulo 12 Estendendo o primeiro site... 460 Novos recursos do lado público...461 Registrando o histórico...461 Registrando os favoritos... 463 Classificando o conteúdo...466 Fazendo anotações... 467 Melhorias na área de segurança...472 Usando prepared statements...472 Reiniciando as senhas de modo mais seguro...475

Sumário 13 Alterações administrativas... 483 Fazendo recomendações... 484 Colocando conteúdo HTML em várias categorias... 485 Permitindo rascunhos de conteúdo... 487 Suportando vários tipos de administradores... 488 Implementando o PDT do PayPal... 490 Habilitando o PDT...491 Usando o PDT... 492 Capítulo 13 Estendendo o segundo site... 499 Sugestões para o lado público... 500 Criando uma página de recibo... 500 Enviando recibos por email... 506 Instalando o Zend Framework... 508 Criando o script PHP... 512 Incluindo paginação no catálogo...516 Dando destaque a novos produtos... 518 Fazendo recomendações... 518 Acrescentando avaliações dos clientes... 519 Criando links Add to Wish List...527 Melhorando a apresentação do carrinho de compras...527 Verificando o status do pedido online... 528 Sugestões administrativas... 528 Acréscimos à página inicial... 528 Alternativas para o frete...529 Visualizando os clientes... 530 Enviando pedidos parciais... 530 Visualizando pedidos incompletos... 531 Alterações estruturais...532 Usando prepared statements...532 Ajustando o banco de dados...535 Capítulo 14 Adicionando JavaScript e Ajax... 538 Adicionando a jquery...539 Evitando pedidos duplicados... 540 Usando o Superfish... 543 Adicionando um calendário... 547 Paginação e ordenação de tabela... 550 Aplicando o Ajax...552 Trabalhando com favoritos... 554 Criando o recurso do lado do servidor...555 Criando o lado do cliente... 558

14 E-Commerce com PHP e MySQL Registrando anotações... 563 Criando notes.php... 563 Criando o código do lado do cliente... 565 Melhor administração do carrinho de compras... 569 Recebendo feedback dos clientes... 570 Submetendo avaliações... 570 Marcando as avaliações como úteis...571 Capítulo 15 Usando o Stripe para pagamentos... 574 Sobre o Stripe...574 Por que o Stripe?... 577 Por que não usar o Stripe?... 579 Criando uma conta... 580 Realizando cobranças únicas... 582 Criando o formulário... 584 Adicionando o JavaScript... 586 Implementando billing.js... 587 Alterações no banco de dados... 594 Implementando o código PHP... 595 Testando o Stripe... 603 Ativando o site... 605 Capturando pagamentos... 608 Efetuando cobranças recorrentes...610 Apêndice A Integração com Moip Pagamentos... 613 Sobre Moip...613 Soluções de pagamento... 614 Passo a passo para usar o Moip... 614 Utilizando as ferramentas da Conta Moip...615 Recebendo pagamentos por meio da API do Moip...617 Autenticando...617 Cobrando a primeira transação...618 APIs de pagamento: criando um pedido...619 Cobrando um pedido com cartão de crédito... 620 Cobrando um pedido com boleto... 620 Débito online...621 Reembolsando um pedido... 622 Implementando a compra por 1 clique... 623 APIs de Assinaturas... 623 Autenticando...624 Criando planos...624 Criando assinaturas... 625

Sumário 15 Configurando retentativas de pagamento... 627 Mudando o plano de uma assinatura (upgrade e downgrade)... 628 APIs de marketplace... 629 Visão geral... 629 Registrando seu aplicativo... 629 Conectando com a Conta Moip dos usuários vendedores... 630 Começando a transacionar... 630 Cobrando a sua taxa de serviço... 630 Criando pedidos com mais de um lojista... 633 Moip connect... 634 Auxiliando o cadastro de uma nova Conta Moip... 634 Conectando a Conta Moip ao seu aplicativo... 636 Moip conciliação online... 636 Obtendo o fluxo de caixa previsto... 637 Obtendo o fluxo de caixa realizado... 637 Conciliando as transferências bancárias... 638 Webhooks... 638 Cadastrando URL de notificação... 639 Recursos disponíveis... 639 Orders... 639 Payments... 639 Refunds... 640 Entries... 640 Transfers... 640 Plans (assinaturas)...641 Customers (assinaturas)...641 Subscriptions (assinaturas)...641 Invoices (assinaturas)...641 Payments (assinaturas)...641 Apêndice B Integração com o PagSeguro... 642 Usando o PagSeguro... 642 Vantagens do PagSeguro... 642 Maior flexibilidade de pagamento... 643 Parcelamento... 643 Agilidade no pagamento com a carteira virtual... 643 Envio Fácil de produtos... 644 Divulgação dos produtos... 644 Proteção contra fraude... 644 Disputa resolução de problemas entre vendedor e comprador... 645 Recuperação de carrinho... 645 Criando o cadastro no PagSeguro... 647

16 E-Commerce com PHP e MySQL Configurando e personalizando a sua conta no PagSeguro... 649 Configuração de email... 649 Preferências de frete... 649 Opções de checkout do PagSeguro... 650 Integrando o site ao PagSeguro...652 Botões de pagamento... 653 Formulários HTML... 654 Integração por meio da API... 656