L I NGUAGE M DE PROGRAMAÇÃO PHP I NF ORMAÇÃOECOMUNI CAÇÃO Vi t orF a r i a sCor r e i a Autor Vitor Farias Correia Graduado em Sistemas de Informação pela FACITEC e especialista em desenvolvimento de jogos digitais, atua no mercado web a 6 anos trabalhando com PHP, MySQL, CSS e Javascript e a 3 anos na programação de cursos a distancia feitos em Flash. Revisão NT Editora e Figuramundo Projeto Gráfico NT Editora Editoração Eletrônica NT Editora e Figuramundo Capa NT Editora NT Editora, uma empresa do Grupo NT SCS Q2 - Bl. D - Salas 307 e 308 - Ed. Oscar Niemeyer CEP 70316-900 - Brasília - DF Fone: (61) 3421-9200 [email protected] www.nteditora.com.br e www.grupont.com.br Linguagem de Programação – PHP./ NT Editora. -- Brasília: 2014. 102p. : il. ; 21,0 X 29,7 cm. ISBN - 978-85-68004-78-4 1. Linguagem de Programação – PHP Copyright © 2014 por NT Editora. Nenhuma parte desta publicação poderá ser reproduzida por qualquer modo ou meio, seja eletrônico, fotográfico, mecânico ou outros, sem autorização prévia e escrita da NT Editora. LEGENDA ÍCONES Prezado(a) aluno(a), Ao longo dos seus estudos, você encontrará alguns ícones na coluna lateral do material didático. A presença desses ícones o(a) ajudará a compreender melhor o conteúdo abordado e também como fazer os exercícios propostos. Conheça os ícones logo abaixo: Saiba Mais Esse ícone apontará para informações complementares sobre o assunto que você está estudando. Serão curiosidades, temas afins ou exemplos do cotidiano que o ajudarão a fixar o conteúdo estudado. Importante O conteúdo indicado com esse ícone tem bastante importância para seus estudos. Leia com atenção e, tendo dúvida, pergunte ao seu tutor. Dicas Esse ícone apresenta dicas de estudo. Exercícios Toda vez que você vir o ícone de exercícios, responda às questões propostas. Exercícios Ao final das lições, você deverá responder aos exercícios no seu livro. Bons estudos! Sumário 1. FUNCIONAMENTO DAS PÁGINAS DINÂMICAS�������������������������������������������� 7 1.1 Conhecendo o PHP������������������������������������������������������������������������������������������������������������������ 8 1.2 Conhecendo o Javascript������������������������������������������������������������������������������������������������������ 9 1.3 Conhecendo o CSS����������������������������������������������������������������������������������������������������������������10 2. USANDO PHP PELA PRIMEIRA VEZ������������������������������������������������������������� 12 2.1 Sintaxe básica��������������������������������������������������������������������������������������������������������������������������12 2.2 Estrutura básica�����������������������������������������������������������������������������������������������������������������������17 2.3 Conhecendo funções úteis do PHP���������������������������������������������������������������������������������22 3. USANDO O JAVASCRIPT PELA PRIMEIRA VEZ������������������������������������������� 33 3.1 Sintaxe e estrutura básica e sua semelhança com o PHP����������������������������������������33 3.2 Janela do Javascript���������������������������������������������������������������������������������������������������������������35 3.3 Capturando elementos e manipulando seus atributos com DOM����������������������38 3.4 Trabalhando com eventos���������������������������������������������������������������������������������������������������42 3.5 Dicas úteis���������������������������������������������������������������������������������������������������������������������������������44 4. LENDO VALORES ENVIADOS POR FORMULÁRIOS������������������������������������ 49 4.1 Capturando valores do cliente������������������������������������������������������������������������������������������49 4.2 Validando dados inseridos em formulários������������������������������������������������������������������52 5. MANIPULANDO E OBTENDO CABEÇALHOS HTTP������������������������������������ 57 5.1 Lendo informações sobre o usuário��������������������������������������������������������������������������������57 5.2 Alterando o cabeçalho���������������������������������������������������������������������������������������������������������59 4 NT Editora 6. COOKIES E VARIÁVEIS DE SESSÃO�������������������������������������������������������������� 64 6.1 Introdução��������������������������������������������������������������������������������������������������������������������������������64 6.2 Conhecendo os cookies��������������������������������������������������������������������������������������������������������64 6.3 Criando e controlando cookies������������������������������������������������������������������������������������������65 6.4 Variáveis de sessão, uso, diferenças���������������������������������������������������������������������������������66 7. ENVIANDO E-MAIL���������������������������������������������������������������������������������������� 70 7.1 Enviando e-mails pelo PHP�������������������������������������������������������������������������������������������������70 7.2 Enviando páginas HTML via e-mail����������������������������������������������������������������������������������72 8. MANIPULANDO DADOS USANDO SQL������������������������������������������������������� 77 8.1 Conectando-se ao MySQL���������������������������������������������������������������������������������������������������77 8.2 Executando SQL em páginas dinâmicas������������������������������������������������������������������������79 9. PHP NA WEB 2.0�������������������������������������������������������������������������������������������� 84 9.1 Uso de XML para a web��������������������������������������������������������������������������������������������������������84 9.2 Requisições assíncronas com Ajax�����������������������������������������������������������������������������������86 9.3 Ampliando a interação da página combinando cliente e servidor����������������������89 10. MONTANDO UM SITE DINÂMICO�������������������������������������������������������������� 93 10.1 Criando um sistema de cadastro com login���������������������������������������������������������������93 10.2 Visualizando, editando e cadastrando itens��������������������������������������������������������������95 10.3 Criando um carrinho de compras����������������������������������������������������������������������������������97 BIBLIOGRAFIA������������������������������������������������������������������������������������������������� 101 Linguagem de Programação - PHP 5 1. FUNCIONAMENTO DAS PÁGINAS DINÂMICAS Atualmente cada vez mais recursos são usados em páginas web. Há uma grande diversidade e também uma grande necessidade de capacitação. O desenvolvedor que não conhecer pelo menos o básico desses recursos corre o risco de ficar fora do mercado de trabalho. Apesar das inovações, os recursos mais comuns não deixaram de ser utilizados. Afinal de contas, os recursos mais avançados não existiriam sem uma boa base. Mas, antes de tudo isso, veja o que possibilita o resultado final das páginas que acessamos. Reprodução proibida. Copyright © NT Editora. Todos os direitos reservados. A rede mundial de computadores é muito importante, mas sem os servidores nós nunca receberíamos o resultado final em nossos acessos. Na web existem diversos tipos de servidores diferentes. Cada um responsável por um tipo de aplicação web diferente, sejam elas banco de dados, servidor web ou interpretador de uma linguagem. Utilizaremos como linguagem o PHP, como servidor o Apache e o MySQL como banco de dados. Essas ferramentas estão sempre trabalhando por trás de tudo que exija um resultado final e imediato. Como, por exemplo, uma consulta a um banco de dados ou um upload de imagem e até mesmo para enviar um e-mail. As linguagens que trabalham dessa maneira são chamadas de linguagens server-side e as páginas que usam esse recurso, de páginas dinâmicas. Talvez você ainda não saiba, mas o PHP não é o responsável pelas grandes interatividades nas páginas web. Essas interações existem graças a linguagens que funcionam no navegador, ao contrário do PHP, que funciona no servidor. Tais linguagens são conhecidas como client-side, e as páginas que as usam são conhecidas como páginas interativas. SUMÁRIO Linguagem de Programação - PHP Upload: Ao contrário do download, o upload envia uma informação ou arquivo do computador para a internet. 7 Atenção: uma página interativa pode ser dinâmica, ou seja, ela pode ter recursos no lado servidor e no lado cliente ao mesmo tempo. Vamos entender melhor o que acontece sempre que acessamos um site na web. 1.1 Conhecendo o PHP No princípio criou-se o HTML e ele fez diversas pessoas felizes por dar a elas o poder de escrever coisas em um meio totalmente novo. Um tempo depois, somente o HTML não estava sendo suficiente, as pessoas queriam mais, queriam poder dar mais segurança a suas páginas, queriam poder atualizá-las de maneira mais rápida, queriam realizar uploads na internet e mostrar suas fotos para todos. Essa linguagem foi criada seguindo o padrão de seu pai, o C++, porém de uma maneira própria para a web. Claro que esta evolução resultou em diversas mudanças entre pai e filho, mas ainda assim são muito semelhantes. No começo, ela foi conhecida como Personal Home Page pelo seu foco maior em páginas pessoais. Mas com o tempo seu poder cresceu, assim como seus recursos, e seu foco ampliou-se. Assim houve uma mudança no seu nome para Hypertext Processor. Uma de suas grandes vantagens está no fato de que toda a linguagem e sua estrutura possui código aberto. Existe uma grande quantidade de sites na internet com pessoas dos mais diversos níveis que sempre estarão prontas para ajudar a tirar dúvidas. Além do próprio site oficial que fornece exemplos práticos e todos os seus comandos. A maneira de usar o PHP e a grande maioria das linguagens WEB vai ser um pouco diferente para pessoas acostumadas à programação voltada a desktops. 8 NT Editora SUMÁRIO Reprodução proibida. Copyright © NT Editora. Todos os direitos reservados. Eis que surgem as linguagens server-side que davam essa capacidade às pessoas, junto com elas, o PHP. Quando o servidor monta a página, ele procura em todo o arquivo PHP por tags que indicam o começo e o fim do código real. Afinal de contas o código PHP estará misturado com o HTML, por isso é necessário identificar o começo e o fim dele. Após reconhecer o conteúdo e o código, o servidor começa a escrever o código final que será entregue ao usuário. Claro que esses identificadores mudam de linguagem para linguagem. No PHP, eles são simbolizados pelas tags <?php para início e ?> para finalizar. Observação importante: as páginas que tiverem código PHP obrigatoriamente devem possuir uma extensão .php. Essa é uma extensão de arquivo que indica a existência de código PHP fazendo com que o servidor a interprete. Um dos recursos nativos da linguagem, e que facilita muito o trabalho dos desenvolvedores, é a capacidade de conversar com diversos bancos de dados diferentes. Sendo que com alguns ela tem mais recursos nativos, como é o caso do MySQL. Outra vantagem que facilita muito a vida do desenvolvedor é a portabilidade da linguagem. Graças a isso, o código funciona em diversas plataformas diferentes. O que é um grande alívio. Já que a grande maioria dos servidores PHP na web são Linux. E boa parte dos desenvolvedores trabalha com Windows. Em alguns casos, pelo fato da linguagem ser interpretada e possuir muitos recursos que podem ser desabilitados, os códigos podem não funcionar da maneira esperada em lugares diferentes. Reprodução proibida. Copyright © NT Editora. Todos os direitos reservados. Como por exemplo, há uma opção que faz com que o servidor aceite a tag <? para realizar o início do código em PHP. Mas como esse recurso pode estar desabilitado, deve-se evitar usá-lo. 1.2 Conhecendo o Javascript Como no princípio havia o HTML e um tempo depois houve o advento dos servidores mais inteligentes, muito mais poder foi colocado à disposição dos desenvolvedores. Mas isso não foi suficiente, os usuários sempre anseiam por inovações. Sendo assim, surgiram as linguagens client-side, dentre elas, o Javascript. Criado pela Netscape, foi utilizado no início para tarefas simples, como verificar se o usuário preencheu um formulário de maneira correta. Mas felizmente não se resumiu apenas a isso. Atualmente, sabendo utilizar essa linguagem, é possível realizar uma grande variedade de interações em um site. SUMÁRIO Linguagem de Programação - PHP 9 Esta é uma amostra bem simples do que pode ser feito com Javascript. Nesse caso, você teria que clicar em OK. Infelizmente junto com o seu grande crescimento vieram alguns problemas. Por ser uma linguagem interpretada pelo navegador do usuário, as empresas que criavam navegadores estavam seguindo maneiras diferentes de usar a linguagem. Devido a isso, a W3C veio para padronizar a bagunça que estava sendo criada. Hoje, basicamente, o desenvolvedor deve trabalhar pensando em dois navegadores: O Internet Explorer e o Mozilla Firefox. Os demais navegadores seguem o padrão do Firefox. Outro detalhe interessante está na sintaxe, assim como o PHP, o Javascript também se baseia em C++. O que é uma vantagem, pois assim há um único padrão, claro que uma linguagem não é igual à outra, mas elas possuem semelhanças. Um recurso interessante que iremos utilizar bastante do Javascript é o DOM. O DOM trata a página como se fosse uma árvore de elementos, de onde se pode capturá-los, editá-los ou até mesmo criar novos. Além de manipulação de página, você aprenderá também como fazer interações simples como um relógio dinâmico, por exemplo. Ou como criar caixas de texto com máscaras. E outras atividades que serão úteis no seu dia a dia. Outro recurso que será utilizado, mas não será aprofundado, já que ele não é o nosso foco, é o CSS. Porém, algumas implementações só serão possíveis de serem feitas ao combinar o Javascript com CSS. O CSS, Cascading Style Sheet, é uma linguagem de formatação que auxilia o HTML. Com ela, nós podemos criar padrões de formatação e assim ir além do que o HTML oferece. E se combinado com Javascript, será possível alterar as características dos elementos de maneira dinâmica e interativa. Infelizmente o CSS sofreu o mesmo problema do Javascript, por também ser interpretado no navegador. E felizmente a W3C também o padronizou, por isso, é necessário sempre pensar nos dois navegadores básicos, Internet Explorer e Mozilla Firefox. 10 NT Editora SUMÁRIO Reprodução proibida. Copyright © NT Editora. Todos os direitos reservados. 1.3 Conhecendo o CSS Exercícios Questão 01 – Marque a questão que possui os itens mais importantes para que seja possível o acesso a uma página da web. a) Mouse e Teclado. Parabéns, você finalizou esta lição! Agora responda às questões ao lado. b)Internet e monitor. c) Teclado e Internet. d)Internet e servidores web. Questão 02 – Marque a alternativa que apresenta uma linguagem de programação, um servidor web e um banco de dados. a) PHP, JavaScript e CSS. b)CSS, Internet Explorer e Microsoft Excel. c) PHP, Apache e MySQL. d)C++, PHP e Apache. Questão 03 – O PHP foi criado seguindo o padrão de outra linguagem, qual é essa linguagem? a)C++. b)C#. c)CSS. d)JSP. Questão 04 – Quais são as tags de início e fim de um código PHP? a) <php> e </php>. Reprodução proibida. Copyright © NT Editora. Todos os direitos reservados. b)[php] e [/php]. c) <?php e ?>. d)<?php e php?>. Questão 05 – Quais destas linguagens são client-side? a) JavaScript e CSS. b)JavaScript e PHP. c) PHP e CSS. d)Somente PHP. SUMÁRIO Linguagem de Programação - PHP 11