Tecnologia WEB III Prof. Erwin Alexander Uhlmann PHP e MySQL UHLMANN, Erwin Alexander. Introdução ao PHP. Instituto Siegen. Guarulhos, 2012. Prof. Erwin Alexander Uhlmann – www.institutosiegen.com.br Agradecimentos Agradeço à minha esposa Kátia por entender minha ausência, meus pais Mirtes e Günter por terem criado meu caminho, aos meus alunos que viabilizaram este trabalho e a todos os autores de livros e bibliotecas que consultei para que pudesse devidamente embasar este. Prof. Erwin Alexander Uhlmann – www.institutosiegen.com.br Sumário Introdução ........................................................................................................................ 1 Aula 1 .................................................................................................................................2 Pré-requisitos ................................................................................................................2 Fontes de referência ................................................................................................2 Software....................................................................................................................2 PHP ................................................................................................................................7 Exercício .................................................................................................................. 10 Aula 2 ................................................................................................................................11 Conexão, Busca e Impressão ......................................................................................11 conecta.php .............................................................................................................11 index.php .....................................................................................................................11 Exercício .................................................................................................................. 15 Aula 3 ............................................................................................................................... 16 Conteúdos das páginas .............................................................................................. 16 Exercício .................................................................................................................. 18 Aula 4............................................................................................................................... 19 Página Modelo ............................................................................................................ 19 Menu de navegação .................................................................................................. 20 Exercício .................................................................................................................. 21 Imagens ....................................................................................................................... 21 Exercício .................................................................................................................. 22 Aula 5 ...............................................................................................................................23 Inserção de Dados ......................................................................................................23 Exercício ................................................................................................................. 24 Upload de arquivos ............................................................................................... 24 Prof. Erwin Alexander Uhlmann – www.institutosiegen.com.br Exercício ..................................................................................................................25 Aula 6.............................................................................................................................. 26 Edição de dados ......................................................................................................... 26 adm_pag_editar.php ................................................................................................. 26 Exercício .................................................................................................................. 27 Aula 7 .............................................................................................................................. 28 Exclusão de dados ..................................................................................................... 28 Método de status ...................................................................................................... 28 Aula 8.............................................................................................................................. 30 Login ........................................................................................................................... 30 valida_sessao.php .................................................................................................. 31 logout.php .............................................................................................................. 31 Páginas protegidas .................................................................................................32 Aula 9...............................................................................................................................33 PDF ..............................................................................................................................33 pdf.php ....................................................................................................................33 Aula 10 .............................................................................................................................35 XML..............................................................................................................................35 Leitura do XML........................................................................................................35 Geração de arquivo XML ........................................................................................35 Inserir dados do XML no MySQL .......................................................................... 36 Aula 11 ..............................................................................................................................37 Aula 12..............................................................................................................................37 Aula 13 .............................................................................................................................37 Aula 14 .............................................................................................................................37 Aula 15 .............................................................................................................................37 Prof. Erwin Alexander Uhlmann – www.institutosiegen.com.br Respostas ........................................................................................................................37 Resposta do Exercício da Aula 1 ................................................................................37 Resposta do Exercício da Aula 2 ................................................................................37 Resposta do Exercício da Aula 3 ............................................................................... 38 Resposta do Exercício da Aula 4 ............................................................................... 39 Resposta do exercício 1 da aula 5. ............................................................................. 41 Resposta do exercício 2 da aula 5. ............................................................................ 43 Resposta do exercício da aula 6. .............................................................................. 43 Bibliografia ..................................................................................................................... 45 Índice de Figuras Figura 1 - PHPEditor ......................................................................................................... 3 Figura 2 - Dreamweaver .................................................................................................. 4 Figura 3 - Expression Web ............................................................................................... 5 Figura 4 - Propriedades do Windows para o Vertrigo ................................................... 6 Figura 5 - PHPMyAmin ......................................................................................................7 Figura 6 - PHPMyAdmin................................................................................................... 8 Figura 7 - Nomeação do BD ............................................................................................. 8 Figura 8 - Nomeação de tabela ....................................................................................... 8 Figura 9 - Nomeação dos campos, tipos e tamanhos.................................................... 9 Figura 10 - Modelo de Entidade Relacional .................................................................... 9 Figura 11 - A página deverá ter esta aparência .............................................................. 13 Figura 12 - Leitura estática e leitura dinâmica ............................................................... 17 Figura 13 - Tabela de todos os campos e registros ....................................................... 18 Figura 14 - Tabela de Páginas ......................................................................................... 19 Figura 15 - Tabela de Conteúdos .................................................................................... 19 Figura 16 - Tabela de Imagens ........................................................................................ 19 Figura 17 - Menu de navegação ..................................................................................... 20 Prof. Erwin Alexander Uhlmann – www.institutosiegen.com.br Figura 18 - Usando a função GET para envio de dados pela URL ................................. 21 Índice de scripts Script 1 - Conexão com o BD ...........................................................................................11 Script 2 - Inclusão da conexão na página index.php e estrutura html. ....................... 13 Script 3 - Query PHP MySQL ........................................................................................... 14 Script 4 - Leitura do campo e do registro ...................................................................... 14 Script 5 - Impressão dos dados ...................................................................................... 14 Script 6 - Para buscar, ler e imprimir.............................................................................. 14 Script 7 - Busca dos conteúdos ...................................................................................... 16 Script 8 - Leitura e impressão dos conteúdos ............................................................... 17 Script 9 - Menu de navegação....................................................................................... 20 Script 10 - Formulário para inserção de dados ............................................................. 24 Script 11 - Gravção de dados .......................................................................................... 24 Script 12 - script de upload e gravação ..........................................................................25 Script 13 - Formulário de edição de dados..................................................................... 27 Script 14 - Edição de dados ............................................................................................. 27 Script 15 - Exclusão de dados ........................................................................................ 28 Script 16 - Formulário de login ...................................................................................... 30 Script 17 - Página de login: recepção dos dados, criação da sessão e busca no BD ... 31 Script 18 - logout .............................................................................................................32 Script 19 - Proteger as páginas .......................................................................................32 Script 20 - Leitura do XML ..............................................................................................35 Script 21 - Geração de arquivo XML .............................................................................. 36 Script 22 - Inserir dados do XML no MySQL ................................................................. 36 Prof. Erwin Alexander Uhlmann – www.institutosiegen.com.br 1 Introdução O objetivo deste trabalho é introduzir as técnicas básicas de programação do PHP com o MySQL para a construção de um site gerenciável pelo cliente sem a necessidade de conhecimento de HTML e PHP. Prof. Erwin Alexander Uhlmann – www.institutosiegen.com.br 2 Aula 1 Pré-requisitos Fontes de referência http://php.net/manual/pt_BR/index.php Livros Software PHPEditor Este é um dos principais editores de PHP. Simples, rápido, prático e com um amplo suporte à linguagem. $ : Grátis. Avaliação: ☺☺☺☺☺ http://filestore.softwaredownloadwebsite.com/h92/743753phpeditor_setup_en.exe Prof. Erwin Alexander Uhlmann – www.institutosiegen.com.br 3 Figura 1 - PHPEditor Dreamweaver Este é o melhor! O problema é que é pago, e bem pago. Este editor da Adobe tem longa história de desenvolvimento. Atende diversas ferramentas que permitem até um usuário com pouco conhecimento criar uma página, além de suporte a diversas linguagens de programação e Banco de Dados. http://www.adobe.com/cfusion/tdrc/index.cfm?product=dreamweaver&loc=pt_br $: US$ 229,00 (13/12/2011) Avaliação: ☺☺☺☺☺ Prof. Erwin Alexander Uhlmann – www.institutosiegen.com.br 4 Figura 2 - Dreamweaver Expression Web A Microsoft definitivamente entrou para a briga dos editores web. Para encarar o Dreamweaver ela lançou o Expression Web 4, que pode ser avaliado como uma versão antiga, de uma ou duas gerações passadas, do software da Adobe. Pago mas com diversos recursos, segue a linha do principal concorrente. http://www.microsoft.com/expression/products/web_overview.aspx $: US$149,00 Avaliação: ☺☺☺☺☺ Prof. Erwin Alexander Uhlmann – www.institutosiegen.com.br 5 Figura 3 - Expression Web Existem diversos editores PHP, ao longo deste trabalho, iremos utilizar o PHPEditor, pois além de gratuito é a referência. O PHP necessita do compilador PHP. http://windows.php.net/download/ Como em breve iremos trabalhar em conjunto com MySQL, aproveite para baixa-lo. http://dev.mysql.com/downloads/ Além deles é fundamental um servidor, neste caso o Apache. http://httpd.apache.org/download.cgi Mas, você pode optar por baixar um suíte que já reúne todos os softwares. Existem vários, ao longo do curso iremos utilizar o Vertrigo. http://vertrigo.sourceforge.net/?lang=br No caso da opção pelo Vertrigo, observe a instalação: Para instalar é fácil e basta seguir os passos recomendados pelo programa. Inicie sempre o Vertrigo, antes de começar a trabalhar com o PHP. Caso ele não consiga iniciar e informe problemas com a porta 80, no Painel de Controle do Prof. Erwin Alexander Uhlmann – www.institutosiegen.com.br 6 Windows, em Ferramentas Administrativas, e em seguida em Serviços, interrompa os programas que utilizem esta porta. Na maioria dos casos são os softwares de comunicação como o Messenger, Skype, entre outros e também o servidor ISS, caso o tenha.Este modelo de relatório está completo com estilos para um sumário e um índice. Também é importante lembrar que nos sistemas operacionais Windows Vista e Windows 7 (Seven), ao instalar é necessário aplicar as permissões de segurança à pasta, em Propriedades, na guia Segurança. Figura 4 - Propriedades do Windows para o Vertrigo Prof. Erwin Alexander Uhlmann – www.institutosiegen.com.br 7 PHP O PHP é uma linguagem de programação simples e prática. Vamos trabalhar com ele em conjunto com o MySQL. Caso você não esteja muito familiarizado com esta linguagem, aproveite para baixar a apostila de PHP I. http://www.institutosiegen.com.br/is_professor_materia01.php?user_mat01=UnG%2 0-%20Ci%EAncia%20da%20Computa%E7%E3o%20-%20Tecnologia%20Web%20II Então vamos começar. Abra o PHPMyAdmin do Vertrigo (http://www.phpmyadmin.net/home_page/index.php) conforme figura 5. O usuário é root e a senha é vertrigo. Vamos criar um Banco de Dados para começarmos trabalhar. Figura 5 - PHPMyAmin Esta apostila foi produzida com o Vertrigo versão 2.25, que inclui o PHPMyAdmin versão 3.4.8 conforme figura 6. Prof. Erwin Alexander Uhlmann – www.institutosiegen.com.br 8 Figura 6 - PHPMyAdmin Atribua um nome ao BD. Nesta apostila iremos adotar volatil. Figura 7 - Nomeação do BD Agora vamos criar as tabelas no BD. Figura 8 - Nomeação de tabela Prof. Erwin Alexander Uhlmann – www.institutosiegen.com.br 9 Figura 9 - Nomeação dos campos, tipos e tamanhos O BD ficará conforme o modelo da figura 10: Figura 10 - Modelo de Entidade Relacional Após esta fase de criação do BD vamos começar a programar o PHP. Prof. Erwin Alexander Uhlmann – www.institutosiegen.com.br 10 Exercício Crie um novo BD e exporte como SQL, ANSI. Prof. Erwin Alexander Uhlmann – www.institutosiegen.com.br