Home
Sumário
Contents
1. os valores sao combinados e retornado os jogos iniciam agora lt br gt dstatemento Sa gt So o de Sa icpr 1 2 print statement 13 14 15 16 o o Jose N o o lt on A N H H H N HO 2 0 FORMULARIOS outra variacao iniciam os jogos agora Scomnand gt Se ada Po b o a Sda o print command gt 2 6 Formul rios O que torna o PHP uma linguagem para web sua caracter stica pr pria de receber entradas do usu rio a partir de um formul rio de uma p gina web e converter os dados passados em vari veis O uso de formul rios a maneira mais natural e simples de interagir com p ginas web pois realizam a intera o entre clientes e servidores atrav s de todo tipo de aplica es bastante conhecida na web Aplica es de com rcio eletr nico e transa es banc rias s o alguns dos exemplos t picos na qual os de formul rios para passam informa es O PHP bastante gil no recebimento das informa es passadas pelos clientes navegadores e as processa no servidor web A populariza o da internet tornou os navegadores a ferramenta mais pr tica para os usu rios interagirem com as aplica es disponibilizadas pelas empresas e institui es Tamb m flexibilizou o acesso aos aplicativos dispensando a necessidade de distribui o de arquivos execut veis j que as aplica es est o dispon veis em sites A manuten o centralizada tirando do usu rio o trabalho d
2. Vamos estudar agora algumas particularidades do c digo fonte exibido na figura Inicialmente vamos atentar para o fato de que esse mesmo c digo respons vel em gerar as telas das figuras e O controle efetuado por meio da vari vel PHP mes Quando algum valor atribu do a ela por meio do select de escolha do m s os dados s o capturados no banco de acordo com o n mero 4 6 REMOVER RECEITAS E DESPESAS correspondente Essa informa o transmitida ao script por meio do evento onclick configurado nas op es do select Quando nenhum valor est contido em mes significa que nenhum m s foi escolhido portanto apenas o select inicial apresentado 4 8 Remover receitas e despesas Ao selecionar esta op o na p gina principal o usu rio deve ser direcionado para uma p gina onde ele possa selecionar e remover receitas e despesas cadastradas Com base no que foi exposto nas se es anteriores tente construir o documento excluirReceitasDespesas php para realizar esta atividade Atente para a forma de organiza o dos dados Lembre se que o usu rio deve conseguir selecionar de forma simples e precisa o registro que deseja remover Utilize os fontes anteriores como exemplo e m os obra 4 9 Administra o dos usu rios Esta a o restrita apenas para usu rios cujo perfil est definido como administrador Nesta parte do sistema o usu rio pode tanto adicionar novos usu rios como deletar existentes Fundam
3. lt php medta Php a CET no taii Sn2 POST nobazi media ni n2 2 printf A media das notas e hs media gt Sobre o exerc cio anterior responda e A vari vel media do tipo inteiro int ou ponto flutuante float e Como modificar a exibi o do valor da m dia para apenas uma casa decimal e Fa a as adequa es necess rias para utilizar o m todo POST Para calcular a rea de um ret ngulo basta multiplicar o valor da base b pela altura h Crie um arquivo em HTML que contenha um formul rio que solicite ao usu rio os valores de base e altura de um ret ngulo e um bot o de envio Em seguida escreva um script para calcular a rea do ret ngulo Lembrete O formul rio deve apontar para o script que realizar o processamento Repita o exerc cio anterior acrescentando o c lculo do per metro do ret ngulo ou seja a soma da medida de todos os lados 2 Elabore uma aplica o formul rio e script que solicite ao usu rio o valor do raio de uma circunfer ncia e exiba o valor da rea Dado o c digo em PHP a seguir fa a o que se pede e Pesquise o que fazem as fun es substr O e strlen e Execute o script e verifique a resposta apresentada e Refa a o script utilizando um while ao inv s do for Figura 2 22 countchar php lt php text Bem vindo ao desenvolvimento em PHP searchchar e count 0 N for i 0 i lt strlen
4. medion SESSTON E formato lE circulari print Cheiitols 4226 gt Supondo que o c digo em executado corretamente o que seria exibido ap s a execu o do seguinte c digo Figura 3 12 Continua o de exemplo de uso de sess es lt php inicia a sessao session start exibe as variaveis da sessao a atribuicao e feita na pagina anterior echo VA core VE SISESSTON Econ sr echo O tamanho e WS SESSION tamanho i Sisbrd echo O0 formato e SESSION formato lt br gt 8 gt 3 6 EXERCICIOS 37 VS o 400 JU A A OO NH H H H H H R N H O 15 16 17 18 19 20 Retirando as linhas 5 6 e 7 do c digo e acrescentando print r SESSION o que exibido como sa da Como alterar os valores das vari veis de sess o do c digo 3 12 cor tamanho e formato para vermelho grande e retangular Escreva as linhas de c digo Explique em detalhes qual a rela o entre as fun es unset e destroy O script a seguir exemplifica como realizar a entrada de dados na tabela Contatos citada em 3 4 2 A primeira parte trata da conex o ao MySQL propriamente dita Em seguida o comando SQL query escrita e repassada ao MySQL Sobre este script responda e O fun o mysql connect poderia ser substitu da pela fun o mysql pconnect O Qual a diferen a b sica entre elas e Qual o papel da fun o mysql query O Qual a sa da do script em caso de inser o corr
5. define as variaveis name Neo 13 14 15 16 17 18 19 20 21 22 S O UU OU NH e N 2 4 VARIAVEIS rank Anomalia serialNumber 1 imprime saida echo Neo Eu sou lt b gt name lt b gt o lt b gt rank lt b gt Qual meu numero de serie lt b gt serialNumber lt b gt gt lt body gt lt html gt Para atribuir valor a uma vari vel basta utilizar o sinal a direita do nome da vari vel seguido do valor que deseja se atribuir conforme mostrado a seguir Figura 2 5 Atribui o em PHP lt php old 1 age old 15 anglei angle2 angle3 60 gt Os principais tipos de vari veis dispon veis em PHP s o Booleano bool Inteiro int Ponto flutuante float e String e Vetores arrays Para especificar uma vari vel como boolena basta atribuir as palavras chave TRUE ou FALSE o tipo de dado mais simples Expressa um valor verdade Tamb m s o considerados falsos o valor 0 inteiro 0 0 ponto flutuante string vazia e um array sem elementos Os n meros inteiros s o compostos pelo conjunto Z 2 1 0 1 2 Podem ser especi ficados em base decimal hexadecimal ou octal Em octal necess rio preceder o n mero com 0 J em hexadecimal necess rio preceder por Ox Os n meros em ponto flutuante s o os chamados n meros reais Utiliza se o ponto para separar a parte inteira da parte n o int
6. returna true desde que as variaveis tenham mesmo valor e tipo anotherInt 10 result anotherInt S int print resultado e result 8 gt Tamb m est o dispon veis no PHP os operadores l gicos AND OR XOR e NOT O uso destes operadores ilustrado no c digo Figura 2 13 Operadores l gicos em PHP lt php definicao de variaveis auth 1 status 1 role 4 AND logico returna true se todas as condicoes sao true returna true result auth 1 amp amp status 0 print resultado e result lt br gt OR logico returna true se alguma condicao e true returna true result status 1 role lt 2 print resultado e result lt br gt NOT logico returna true se a condicao e false e vice versa returna false result I status 1 print result is result lt br gt XOR logico returna true se nenhuma das duas condicoes sao true ou returna false se ambas condicoes sao true result status 1 xor auth 1 print resultado e result lt br gt lt oa e N p o o y Ana A UOU N H H e H hH hH H H HK H lt QA U A UU N H O OV o 40 UU A OW N I H H H H H H H H O R N H O 20 AULA 2 COME ANDO EM PHP 2 8 Controle de fluxo Em PHP a forma simples de controle de fluxo atrav s da declara o if Seu argumento uma express o condicional ou seja que r
7. 42 gt Como podemos observar a extens o dada para este arquivo inc Isto acontece porque este documento ser inclu do em outros v rios arquivos para verificar se o usu rio est autenticado da a padroniza o No entanto como estudado o seu conte do n o passa de c digos PHP Observe nas linhas 20 e 21 30 e 31 37 e 38 que se a senha fornecida estiver errada o login n o estiver cadastrado na base de dados ou se o login ou a senha n o existirem na sess o o usu rio gt e N a AULA 4 ESTUDO DE CASO CONTROLE DE FINAN AS EMPRESARIAL convidado a ir para p gina inicial do sistema 4 4 3 Logout O procedimento de logout consiste em o usu rio deixar o sistema apagando todas as suas informa es gravadas na sess o Este processo bastante importante para evitar acessos indevidos e opera es n o autorizadas Muitas vezes n s usu rios esquecemos de sair corretamente do nosso email ou do sistema de compra virtual que est vamos acessado e caso algu m mal intencionado use o computador logo em seguinda isso pode trazer muitas dores de cabe a Nosso sistema deve oferecer aos nossos usu rios a op o de efetuar o logout de forma apropriada Para isso foi elaborado o c digo Vamos estuda lo agora Figura 4 9 logout php lt php session start O SESSION array session destroy header Location index html gt O script logout php n o faz nada mais que destru
8. lt html gt lt head gt lt head gt o o Joana 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 2 8 CONTROLE DE FLUXO lt body gt lt php pega selecao do formulario day GEN day checa a opcao e escolhe o item apropriado if day 1 special Frango ao molho gt elseif day 2 special Sopa francesa gt elseif day 3 special Pure de batata e carne gt else special Peixe e batatas gt gt lt h2 gt 0 cardapio de hoje e lt h2 gt lt php echo special gt lt body gt lt html gt Os chamados loops tamb m est o dispon veis no PHP O mais simples deles o while que executa a es repetidas vezes at que a condi o contida no argumento seja v lida TRUE A condi o avaliada no in cio de cada intera o Dois exemplos simples e que produzem a mesma sa da s o mostrados a seguir Figura 2 18 Um loop simples o o N1 aoan A O N H H e e e H H H a e N e O lt php exemplo 1 go D while i lt 10 echo i exemplo 2 i 1 while i lt 10 echo i i endwhile gt O loop mais complexo o for Seu funcionamento semelhante ao hom nimo na linguagem C Comp e se de tr s express es A primeira a inicializa o da vari vel de controle do la o A segunda a condi o de parada Enquanto esta condi o for v lida os comandos co
9. bom um exemplo para demonstrar o uso dos atributos Na figura 1 2 V o s Oa A OW Hm nom gt R N H lt oa 6 AULA 1 INTRODU AO AO HTML observa se que mesmo utilizando as folhas de estilo CSS citadas anteriormente o resultado obtido o mesmo Figura 1 2 Exemplo de utiliza o da tag lt font gt lt p gt lt font size 5 face arial color red gt Este paragrafo esta em Arial tamanho 5 e cor vermelha lt font gt lt p gt lt p gt lt font size 3 face verdana color blue gt Este paragrafo esta em Arial tamanho 3 e cor azul lt font gt lt p gt Figura 1 3 Exemplo de formata o de com CSS lt p style font family arial color red font size 20px gt Este paragrafo usa fonte Arial tamanho 20 pixels e cor vermelha lt font gt lt p gt lt p style font family verdana color amp 10A030 font si Este paragrafo usa fonte Verdana tamanho 30 pixels lt font gt lt p gt Z e 30px gt cor especificada em RGB 1 4 Hiperlinks imagens e tabelas Dificilmente encontraremos um site na Internet por mais simples que seja sem encontrar hiperlinks que a ess ncia do HTML As imagens tamb m est o sempre presentes e as tabelas s o fundamentais para organizar e dar uma melhor organiza o ao conte do Dominar o uso destas tags fundamental para o desenvolvimento de p ginas de qualquer tipo Os conhecidos hiperlinks s o palavras ou imag
10. deste material Vamos verificar na pr tica a cria o de formul rios manuten o de informa es em cookies e se es autentica o transa es com banco de dados dentre outros assuntos Dessa forma espera se que voc s possam praticar os conhecimentos adquiridos tornando se aptos a desenvolver sistemas pr prios para as mais diversas aplica es Antes de iniciar a constru o do sistema o bom programador sempre dedica um per odo para estudo e planejamento das atividades a serem desenvolvidas Nesta etapa interessante que se entenda bem todas as funcionalidades do sistema e que eventuais questionamentos sejam discutidos O objetivo desta etapa que n o existam d vidas e consequentemente todos os requisitos apontados durante a fase de modelagem sejam cumpridos A ideia b sica do sistema que vamos desenvolver controlar o or amento mensal de uma em presa permitindo ao administrador cadastrar o dinheiro que recebe receitas e o dinheiro que gasta despesas O sistema deve exibir tamb m o saldo de cada m s ou seja a diferen a entre as receitas e despesas Dessa forma esta ferramenta permitir ao administrador visualizar melhor quanto sobra no caixa da empresa no final do m s ou se ela est gastando mais do que ganha saldo negativo Podemos classificar as receitas e as despesas em FIXAS e VARI VEIS de acordo com o seu tipo Para entender melhor essa divis o vejamos a seguir o significado e alguns exemplos s
11. gt 2 9 Fun es Durante o desenvolvimento de uma determinada aplica o ou mesmo dentro de um mesmo script comum haver a necessidade de repeti o de partes do c digo Esta tarefa cansativa e dificulta a manuten o do c digo de aplica es mais extensas As linguagens de programa o modernas disponibilizam formas de realizar o reaproveitamento de c digo Uma maneira de fazer isso utilizando fun es De maneira simplificada pode se dizer que uma fun o um subprograma que executa diversas instru es sempre que chamada Uma fun o pode ou n o retornar valores A cria o defini o de uma fun o em PHP bastante simples conforme mostrado a seguir function nomefuncao arg1 arg2 arg3 comandos O nome da fun o n o pode coincidir com nenhuma palavra reservada do PHP como nomes de fun es j existentes na linguagem A defini o de fun es pode estar em qualquer parte do script mesmo ap s a sua chamada Abaixo temos um exemplo simples de uma fun o do usu rio que mostra o quadrado dos n meros de 1 a 10 o 0 lt An A O NH H o o o N1 oaan R N I H o o o 4400 U R N H H H N e o 2 10 RESUMO 23 lt php echo FUNCAO DO USUARIO quadrado echo VEIM function quadrado for i 0 i lt 10 i echo Un quadrado den da e GS rata 5 gt V dy gt O fragmento de c digo 2 9 mostra a defini o e o uso da fun
12. o desejada ou por n o existir o devido campo no formul rio ou por simplesmente o usu rio n o haver preenchido comumente o nosso trabalho era prejudicado Da sempre vinha em mente a ang stia por n o ter colocado esse campo ou n o ter obrigado o usu rio a preench lo Em sistemas computacionais a preocupa o de se projetar o sistema para que exista um pro cessamento de dados com organiza o e desempenho adequados deve ser um dos pilares da boa programa o Imagine o trabalho e a lentid o que seria para uma secret ria obter informa es de um aluno em centenas de formul rios de papel cujos dados dos professores estivessem misturados com os dos alunos sem qualquer ordem Com certeza isso tornaria o sistema lento e com total desagrado aos usu rios efici ncia do sistema seja computacional ou manual est diretamente relacionada forma que a informa o est organizada e para realizar isso de forma coerente o primeiro passo identificar as entidades principais do nosso sistema Claramente podemos observar que o nosso sistema ter usu rios Da vem a quest o quem ser o os usu rios Qualquer pessoa que acesse o site pela internet Ou vamos tornar o acesso restrito apenas a pessoas cadastradas Quem poder cadastrar outros usu rios No nosso caso vamos considerar que o sistema ser restrito a pessoas cadastradas e quem poder cadastrar ser somente o usu rio administrador Ent o identificamos a nossa primeir
13. t case 1 tipo receita break case 2 tipo despesa break MN gt gt lt html gt lt head gt lt title gt Controle de Finanas lt title gt lt head gt lt body gt lt center gt lt img src coins jpg width 154h gt lt hi gt Sistema de Controle de Finanas Empresarial lt h1 gt lt hr width 700px gt lt br gt Formulrio para cadastro de lt php echo tipo gt x 0brigatrio lt br gt lt br gt lt form method post action gravar php name fCadRecDes gt lt table gt lt tr gt lt td width 130px gt Nome lt td gt 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 vi 72 73 74 75 76 TT 78 79 80 81 82 83 84 85 86 88 89 90 92 AULA 4 ESTUDO DE CASO CONTROLE DE FINAN AS EMPRESARIAL lt td lt tr gt lt tr gt lt td lt td width 200px gt lt input type radio lt input type radio lt td gt lt tr gt lt tr gt lt td lt td width 200px gt width 200px gt lt input size 80 width 130px gt Classe width 130px gt Ms de refernciax type text name nome gt lt td gt lt td gt name classe value 1 checked gt Varivel name classe value 2 onclick gt Fixa lt td gt lt select name mesRef gt lt option lt option lt option lt option lt option lt option lt option lt option
14. text i i 1 if substr text i 1 searchchar count count t1 10 11 12 13 10 11 12 AULA 2 COME ANDO EM PHP gt echo count gt Modifique o c digo mostrado em de forma que caso n o sejam passados os valores das vari veis nome e idade seja exibida uma mensagem explicativa ao usu rio Caso contr rio a mensagem informando o nome e a idade mostrada Fa a uma pesquisa para determinar a utilidade da fun o phpinfo O Em seguida escreva um script que utilize esta fun o execute o e veja o resultado Na quest o anterior o que acontece quando o valor passado em nome ana silva ao inv s de ana Como evitar o truncamento dos dados ao utilizar query strings Crie um script que exiba informa es sobre a m quina em que est sendo executado o sistema como nome do servidor endere o IP a porta do servidor web Sugest o Pesquise sobre o container SERVER semelhante a GET e _POST Aula 3 Aprofundando em PHP Educai as crian as para que n o seja necess rio punir os homens Pit goras Objetivos e Compreender e aplicar o conceito de cookies e Compreender e aplicar o conceito de sess es e Conhecer exemplos de aplica o de cookies e sess es em conjunto com banco de dados MySQL 3 1 Por que usar cookies ou sess es No cap tulo anterior foi feita uma apresenta o geral da linguagem PHP e sua din mica b sica de funcionamento atrav s do
15. 00000 4 0 44444444 321 Enviandocookies 20 00 0000 a 3 2 2 Mais um superglobal su sa psy a pe e a pe DE a le GA RTR GE ES 3 2 3 Autenticando cccccl a 3 3 Sess es cccccl A 3 3 1 Registrando VARIAVEIS su ses mo ela EA SEE E SEE SE 3 4 Bancos de Dados 0 0 020000 0 0 0 0 0 0 0 000000000 3 4 1 Criando tabelas ccccccc a a S RNE a B R a B E E ES O SN E a N H ND o pai SE Juan isa EP ME PRR NS ES E a qui E E E S P Di RS DE ER a E E a 3 6 Exerc cios 0 0 000000 4 Estudo de caso controle de finan as empresarial E RR 224 VAT a a a RO a ago a 42 Criando a base de dados csspsvreca dig a a SERA RSRS E 4 3 Include de acesso ao banco de dados O oO O 11 11 12 13 16 17 18 18 19 20 22 23 25 27 27 28 28 29 29 32 33 33 34 34 35 36 SUMARIO 4 4 Autentica o do usu rio com sess es o oo oa e a 44 AAT o cirrrpisirpsserE Asgard 45 4 4 2 Autentica 0 spas ds de dd algo do dd BD Ro o E Lodo qdo BD e o 47 ES MD ars Aa TED E RR o a RE SET Cnc 48 4 5 Pagina principal s ce x a x snes ad Geant Goa pd SSIS 8 A d Goa pd SA 48 4 6 Cadastro de Receitas e Despesas aooaa a a a a a 50 a a a e a a a pasa asa a 55 2 L ce E Ba 3 E o a Sp Do AA t ateS 59 4 9 Administra o dos usu rios ooa 59 Pref cio Este material foi produzido para servir de apoio a disciplina Novas Tecnologias Web e Internet do curso t cni
16. 1 Mais um acr nimo Os iniciantes em desenvolvimento para web ou em tecnologia da informa o n o devem se assustar com a quantidade de acr nimos siglas existentes ASP CGI SOAP XML e HTTP s o alguns deles A lista pode ser acrescida de v rios outros tens e pode parecer intermin vel assustando os menos experientes no assunto Para uma forma o completa em desenvolvimento de sites de qualidade e principalmente com funcionalidade indispens vel acrescentar na lista a linguagem de scripts PHP O PHP uma linguagem de programa o voltada para web bastante conhecida Trata se da nica linguagem de scripts baseada em servidor que possui c digo aberto bastante flex vel e f cil de aprender Pesquisas mostram que milh es de websites utilizam a linguagem PHP como base para suas aplica es raz o para isso a grande capacidade do PHP pois uma linguagem poderosa f cil de usar e aprender Al m de ser extremamente robusta e escal vel a linguagem PHP pode ser utlizada em aplica es de alta demanda com boas respostas Possui suporte a diversos bancos de dados a XML permite a cria o de frameworks do pr prio programador e ainda excelente documenta o Como se todas estas vantagens n o fossem suficientes ainda gratuita 2 2 O ambiente de desenvolvimento Para que o PHP funcione necess rio combin lo com um servidor web tipicamente o Apache As requisi es a scripts s o feitas pelo usu rio ou pel
17. 3 9 RESUMO Para entender melhor a cria o de tabelas vejamos a listagem exemplifica a utiliza o da linguagem SQL Structured Query Language Os comandos necess rios para cria o da tabela contatos segundo os campos mostrados na tabela 3 2 s o mostrados Logo na linha 1 utilizado o comando CREATE TABLE que informa ao MySQL que a query a seguir para cria o de uma tabela e seu nome ser contatos Entre par nteses temos a lista dos campos que ir o compor a tabela seguidos dos respectivos tipos de dados interessante notar que no campo id linha 3 al m da diretiva NOT NULL que informa que n o ser o aceitos registros com esse campo sem um valor temos a diretiva AUTO INCREMENT que automaticamente incrementa o valor deste campo para novos registros Na linha 8 informado ainda qual o campo que ser utilizado como chave prim ria da tabela ou seja o campo de valor nico que utilizado pelo MySQL para otimiza o e busca de dados Figura 3 9 contatos sql CREATE TABLE contatos id int 6 NOT NULL AUTO INCREMENT nome VARCHAR 15 NOT NULL fone VARCHAR 10 NOT NULL email VARCHAR 25 NOT NULL nascimento DATE NOT NULL PRIMARY KEY id 3 5 Resumo O foco desta aula foi a abordagem dos conceitos de persist ncia de dados cookies sess es e bancos de dados em conjunto com a linguagem PHP Na se o 3 1 mostrada a import ncia do uso de cookies ou sess es Na se o 3 2 feito o aprofund
18. gt A senha est incorreta lt p gt echo lt p align N centerlN gt lt a href W index htmlN gt Voltar lt a gt lt p gt echo lt body gt lt html gt d else usurio e senha corretos Vamos gravar as informaes na sesso id mysql result resultado O id d do usuario perfil mysql result resultado O perfil perfil do usuario Iniciar Sesso session start O SESSION nome usuario username SESSION senha usuario senha SESSION perfil usuario perfil SESSION id usuario id direciona para a pgina inicial do sistema header Location principal php gt JE Encerrar amp conexo com o banco de dados mysql close con gt Vamos observar o que acontece nas linhas 3 e 5 Nestas linhas os dados referentes ao login e a senha fornecidos pelo usu rio s o capturadas pelo nosso script Como o m todo utilizado foi o POST ent o os dados temos que utilizar o array superglobal POST No entanto se analisarmos atentamente as duas linhas vamos perceber a presen a de uma fun o chamada md5 sendo aplicada na informa o de senha O que isso significa Calma n o se assustem Essa fun o realiza um processamento necess rio para esconder a senha do cliente que como voc s sabem tem que ser protegida Por meio dessa fun o cria se uma palavra c digo relacionada a senha Por exemplo se a senha do usu rio for 123456 ela ser tratad
19. hl gt Hello World lt h1 gt lt p gt Ola Mundo lt p gt lt body gt lt html gt Este pequeno documento de exemplo composto por 4 tags lt html gt lt body gt lt h1 gt e lt p gt As marca es do documento HTML s o colocadas mescladas ao conte do Cada marca o interpretada pelo navegador para exibir o conte do para o usu rio da maneira indicada A primeira tag lt html gt inicia e finaliza qualquer documento HTML Todas as outras tags devem estar entre tags lt html gt lt html gt Praticamente todas as tags necessitam ser fechadas com uma tag de mesmo nome acrescida de no in cio O que est entre lt body gt e lt body gt delimita o que chamado de corpo do documento a parte vis vel ao usu rio Apenas o que est entre tags lt body gt exibido na tela do navegador ao usu rio A tag lt h1 gt formata o texto Hello World como um cabe alho de n vel 1 heading H ainda outros cinco n veis formando os cabe alhos lt h2 gt lt h3 gt lt h4 gt lt h5 gt e lt h6 gt Sendo lt h1 gt o de maior destaque e lt h6 gt o menos destacado Por fim a tag lt p gt delimita um par grafo do conte do O fechamento desta tag opcional Assim pode se remover o lt p gt sem nenhum preju zo exibi o 1 2 Ferramentas Para visualizar arquivos simples em HTML n o preciso nenhum software espec fico Basta um editor de texto simples e o navegador para visualizar o resultad
20. l gica implementada Assim para cada formul rio submetido a um script 1 2 3 18 AULA 2 COME ANDO EM PHP PHP os pares valor vari vel est o dispon veis para uso no script atrav s de uma vari vel container especial _POST Obviamente o PHP tamb m suporta o m todo GET No formul rio basta alterar o atributo method para GET ao inv s de POST E para acessar o valor utilizar o container _GET 2 6 1 M todos HTTP O HyperText Transfer Protocol Protocolo de transfer ncia de hipertexto HTTP o protocolo de comunica o utilizado para a troca de dados entre um navegador e um servidor web Ele acionado quando o usu rio clica em um endere o no seu navegador A troca de informa es entre os dois processos cliente e servidor feita por algum m todo disponibilizado pelo HTTP Os principais m todos associados transfer ncia de dados de formul rios s o o m todo GET e o m todo POST GET O m todo GET acionado por meio de um formul rio HTML atrav s do atributo method get inclu da em uma tag lt form gt Por meio desse m todo os dados constantes no formul rio s o primei ramente transmitidos ao processo servidor e este por sua vez armazena os dados temporariamente numa vari vel de contexto denominada QUERY STRING ver se o 2 6 2 Quando um formul rio HTML utiliza o m todo GET o fluxo de dados separado do endere o URL que chama o script atrav s de um ponto de interroga o Esta form
21. lt option lt option lt option lt option lt select gt lt td gt lt tr gt lt tr gt lt td width 130px gt Valor R lt td width 200px gt San putas aize ion lt td gt lt tr gt lt tr gt lt td width 130px gt Descrio lt td width 200px gt lt textarea rows 7 lt td gt lt tr gt lt tr gt lt td width 130px gt lt input type button type text cols G69 value 1 gt Janeiro lt option gt value 2 gt Fevereiro lt option gt value 3 gt Maro lt option gt value 4 gt Abril lt option gt value 5 gt Maio lt option gt value 6 gt Junho lt option gt value 7 gt Julho lt option gt value 8 gt Agosto lt option gt value 9 gt Setembro lt option gt value 10 gt 0utubro lt option gt value 11 gt Novembro lt option gt value 12 gt Dezembro lt option gt lt td gt name valor gt formato xx xx lt td gt name descricao gt lt textarea gt value Voltar name voltar onclick javascript history back gt lt td gt lt td width 200px gt lt input type reseti lt input type submit lt input type hidden value lt php echo lt td gt lt tr gt lt table gt lt form gt lt center gt lt body gt lt html gt value Limpar gt value Salvar gt name t ESTE US A linha 10 do c digo apresentado na figura 4 11 atribui a uma vari vel PHP t o valor transmitido por meio da URL Nas li
22. o quadrado criada pelo desen volvedor interessante observar que n o passado nenhum valor argumento para a fun o ou seja nenhuma informa o entre par nteses Outro detalhe que deve ser observado que esta fun o n o retorna valores ou seja na chamada da fun o simplesmente o c digo executado e o resultado substitu do no local do script onde a fun o foi chamada Em muitas situa es necess rio enviar um ou mais valores para uso da fun o Assim uma fun o pode n o ter argumentos como no exemplo anterior ou ter v rios argumentos declarados para uso Para isso basta informar quais os argumentos na declara o da fun o conforme exemplo lt php function area b h area b h printf Area do quadrado e hs m2 area echo Area do Retangulo area 2 4 echo VEEM gt A fun o area recebe dois argumentos b e h que representam a base e a altura de um ret ngulo A fun o recebe esses argumentos e os utiliza para calcular a rea do ret ngulo que o objetivo da fun o Para criar fun es que retornem valores basta utilizar a fun o return conforme mostrado em 2 9 lt php function area b h a b h return a Ji echo Area do Retangulo base 2 altura 3 area area base altura printf A area do retangulo de base f e altura hf e f base altura area gt 2 10 Resumo Nesta aula foram apresentad
23. operadores suportados pelo PHP Figura 2 7 Principais operadores em PHP lt html gt lt head gt lt head gt lt body gt lt php atribui valor a quantity quantity 1000 Z atrvbaio valor a preco Ton ginal e preco connentie origPrice 100 currPrice 25 calcula a diferenca de precos diffPrice currPrice S origPrice calcula a percetagem diffPricePercent currPrice origPrice 100 origPrice ALE gt lt table border 21v cellpadding 0o cellspacing 0 gt lt tr gt lt td gt Quantidade lt td gt lt td gt Preco de custo lt td gt lt td gt Preco atual lt td gt lt td gt Alteracao absoluta lt td gt lt td gt Alteracao percentual lt td gt lt tr gt lt tr gt lt td gt lt php echo quantity gt lt td gt lt td gt lt php echo origPrice gt lt td gt lt td gt lt php echo currPrice gt lt td gt lt td gt lt php echo S diffPrice gt lt td gt lt td gt lt php echo S diffPricePercent gt Percentual lt td gt lt tr gt lt table gt lt body gt lt html gt O PHP tamb m disponibiliza operadores bastante teis para realizar opera es com strings A concatena o de strings feita com o operador O c digo 2 8 exemplifica a concatena o utilizando esse operador Figura 2 8 Outros operadores teis em PHP lt php algumas strings a 2087 Sb jogos Sc innicaiamil d agora
24. se o sess es s o mecanismos que permitem que informa es sejam registradas e utilizadas por v rias p ginas Elas permitem armazenar tipos de dados mais complexos que os cookies e al m disso h quem defenda que s o mais seguras pois os dados ficam armazenados no servidor e s o destru dos quando o navegador fechado A primeira p gina de nosso sistema ser a de identifica o do usu rio Ela ser formada por um formul rio HTML com os campos Usu rio e Senha conforme apresentado na figura Para construirmos a tela mostrada na figura 4 4 podemos utilizar o c digo HTML exibido em 4 6 Figura 4 6 index html lt html gt lt head gt lt title gt Controle de Finan amp ccedil as lt title gt lt head gt lt body gt lt form method POST action login php gt lt center gt lt img src receita despesa jpg width 30 height 30 gt lt h1 gt Sistema de Controle de Financas lt h1 gt lt hr width 700px gt lt br gt Favor entre com os dados de identificacao para acessar o sistema lt br gt lt br gt lt table gt lt tr gt lt td width 150px gt Usuario lt td gt lt td width 200px gt lt input type text name username size 20 gt lt td gt lt tr gt LT 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 4 4 AUTENTICA AO DO USUARIO COM SESSOES Figura 4 4 Tela de identifica o dos usu rios login e00 Controle de Finan as Empr
25. seu id utilizado como identificador da sess o Para utilizar os dados armazenados em uma sess o necess rio conhecer esse n mero O compartilhamento deste valor pode ser feito atrav s de cookies ou atrav s da pr pria URL O primeiro m todo s poder ser utilizado se os cookies estiverem habilitados na m quina Como nem sempre isto acontece o segundo m todo pode ser utilizado O uso da URL mais sofisticado A partir da vers o 4 2 0 do PHP est habilitada a op o enable trans sid que permite que a identifica o da sess o seja enviada transparentemente para as p ginas n o sendo necess rio o uso de query strings A principal fun o utilizada para o uso de sess es em PHP session_start Serve tanto para criar uma nova sess o quanto para ter acesso s vari veis de uma sess o existente 3 3 1 Registrando vari veis Registrar uma vari vel em uma sess o significa disponibilizar esta vari vel para qualquer p gina enquanto a sess o for v lida A maneira mais segura de registrar vari veis utilizando o array superglobal _SESSION Na listagem 3 7 mostrado um exemplo de como realizar a inicializa o e o registro de algumas vari veis J na listagem 3 8 os dados registrados na listagem anterior s o lidos A primeira fun o utilizada em ambas as p ginas session start Depois as vari veis de sess o nome sobrenome e idade s o inicializadas e um link para a p gina seguinte mostrado para o
26. tabela Utilize a tag lt table gt e demais tags relacionadas lt tr gt lt td gt etc Tabela 1 1 Lista de pre os tem descri o quantidade 1 Notebook 2 2 Processador 10 3 Mouse 5 4 Monitor 11 As tabelas podem ser utilizadas para organizar informa es em uma p gina como pedido no exerc cio 5 Outra utilidade das tabelas que permitem organizar a disposi o dos elementos de uma p gina O c digo HTML mostrado na figura 1 7 exemplifica essa id ia Salve o c digo em um arquivo e visualize o resultado no navegador Figura 1 7 Exemplo do uso de tabelas para organizar os elementos da p gina lt html gt lt head gt lt title gt Machado de Assis lt title gt lt head gt lt body gt o o q Q 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 10 AULA 1 INTRODU AO AO HTML lt hl gt Machado de Assis lt hl gt lt table gt lt tr gt lt td gt lt img src figs machado jpg width 200 height 246 gt lt td gt lt td gt lt p gt lt b gt Joaquim Maria Machado de Assis lt b gt nascido no Rio de Janeiro em 21 de Junho de 1839 lt br gt Considerado o grande nome da literatura nacional lt p gt lt p gt Nascido no morro do Livramento no Rio de Janeiro de familia pobre estudou em escolas publicas e nunca frequentou a universidade lt p gt lt td gt lt tr gt lt tr gt lt td gt amp nbsp lt td gt lt td gt lt h3 g
27. usu rio Na p gina seguinte os dados s o restaurados com session start e os valores das vari veis s o acessados com o array SESSION Figura 3 7 writes php lt php session start O echo Escrevendo os dados da sessao SESSION nome Anal SESSIONI sobrenome Maria SESS LON I rdade i 28 printf echo lt br gt lt a href readses php SID gt Nova pagina lt a gt Es Figura 3 8 reads php lt php session start O nome amp SESSION nome sobrenome SESSION sobrenome idade SESSIONI idade printf Ola sou hs hs e tenho Jd anos de idade lt br gt nome sobrenome idade gt Quando uma vari vel n o mais til pode se elimin la com a fun o unset SESSION nome Assim a vari vel de sess o especificada deixa de existir 3 4 Bancos de Dados A grande maioria das aplica es necessita de persist ncia dos dados ou seja mesmo depois que o sistema desligado os dados devem permanecer at que o sistema seja religado Entretanto sabe se que depois que um processo finalizado todas as vari veis e demais informa es relacionadas a ele s o removidas da mem ria Da vem a necessidade de se utilizar arquivos para garantir a persist ncia dos dados AULA 5 APROFUNDANDO EM PHP No caso de aplica es que compartilham informa es apenas o uso de arquivos certamente acarre tar em inconsist ncia
28. 2 4 5 PAGINA PRINCIPAL outra corresponde ao seu perfil Vamos lembrar que no in cio de nossa aula colocamos que o nosso sistema ter dois perfis diferente de usu rios Voc s lembram Isso mesmo administrador e padr o No caso mostrado que o usu rio Daniel Silva Ferreira possui seu perfil definido como padr o No entanto se observamos a tela apresentada pela figura vamos verificar que novas op es surgem quando o usu rio em quest o possui perfil administrador Figura 4 6 Arquivo principal php Tela principal do sistema para usu rios administradores ane Controle de Finan as F Controle de Finan as C gt http localhost apostila principal php v J Google a iAl D Sistema de Controle de Finan as Empresarial Ol Sr Administrador Padr o Perfil Administrador Sair Favor escolha a op o desejada Incluir Receitas Despesas Visualizar Saldos Mensais Planilha Excluir Receitas e Despesas Administra o Adicionar usu rios Excluir usu rios As atividades de gerenciamento de usu rios restrita apenas a administradores do sistema e portanto usu rios padr o n o podem execut la Caso algum usu rio esperto que n o esteja definido como administrador tende acessar diretamente as p ginas para gerenciamento de usu rios o script valida sessao php ir bloque lo O c digo fonte apresentado em 4 10 correspondente p gina principa
29. 4 VARIAVEIS 13 Figura 2 1 Intera o entre cliente e servidor web com suporte a PHP Acessa o arquivo Servidor Web C digo PHP Internet Interpretado lt HTML gt lt B gt Hel lo B gt lt HTML gt Requisi o http page Resposta do servidor Fonte Autores da pr pria internet conhecido como um ambiente de produ o O que quer dizer que os elementos est o interagindo em um sistema real em pleno funcionamento Em oposi o a um sistema de produ o temos os sitemas de teste ou desenvolvimento em que normalmente todos os elementos citados anteriormente funcionam em uma nica m quina conforme ilustrado na figura 2 2 Estes sistemas s o utilizados para testar modifica es antes de serem colocadas em funcionamento no servidor de produ o e tamb m para aprendizagem e estudos Na figura 2 2 s o mostrados dois processos o cliente navegador e o servidor web A troca de informa es entre eles se d atrav s da interface de rede local ao inv s da internet que normalmente usada em um sistema de produ o Desta maneira n o necess rio um servidor externo para aprendizagem ou testes pois todos os processos envolvidos navegador e servidor web est o rodando na mesma m quina Para inserir coment rios ao longo do c digo fonte em PHP existem duas op es coment rios de apenas uma linha ou coment rios de v rias linhas Para coment rios de uma linha basta acr
30. ABLE usuarios username varchar 10 NOT NULL senha varchar 10 NOT NULL nome varchar 80 NOT NULL email varchar 80 NOT NULL primary key username J INSERT INTO usuarios values ana v teste 2 Ana Silva anaQdominio com br Para facilitar o entendimento do c digo a listagem mostra um arquivo de include arquivo com c digo em PHP para ser anexado em outras p ginas para realizar a conex o com o servidor de banco de dados MySQL Sempre que for realizado algum acesso ao banco de dados ser necess rio chamar este include conecta mysql inc Esses s o os elementos fundamentais para ter acesso ao MySQL a tabela e o script de conex o A primeira armazena os dados dos usu rios que se pretende acessar e o script realiza a conex o com o MySQL Qualquer aplica o web a ser desenvolvida necessitar destes elementos Figura 3 2 conecta mysql sal lt php configuracoes do banco de dados Sservidor localhost usuario bd ana senha bd 123456 banco bd con mysql connect servidor S usuario bd senha bd mysql select db banco AVE gt Login Passando a parte da autentica o propriamente dita necess rio criar um formul rio inicial que ser exibido ao usu rio solicitando seu username e senha As informa es s o verificadas e no caso de estarem corretas os respectivos cookies s o criados Nessa etapa temos a cria o de apenas dois arquivos login html e
31. Casado 3 Separado 12 4 Daivoreiados 5 Vi uvo 6 Uniao estavel 13 funcao empresa VARCHAR 40 NOT NULL 14 email VARCHAR 50 NOT NULL 15 telefone VARCHAR 8 NOT NULL COMMENT Apenas numeros 16 perfil INT NOT NULL COMMENT 1 Padrao 2 Administrador 17 cad usuario INT NOT NULL COMMENT Id do usuario que efetuou o cadastro 18 cad datahora DATETIME NOT NULL COMMENT Data e hora de efetivacao do cadastro 19 UNIQUE login identidade cpf 20 Ao executar o c digo podemos observar que a tabela criada sem qualquer registro No entanto necess rio que o sistema tenha pelo menos um usu rio Dessa forma vamos inserir um usu rio chamado admin com perfil administrador e senha admin Ser este usu rio que efetuar o primeiro acesso e ser respons vel por iniciar o funcionamento do sistema Por se tratar de uma senha padr o recomendado que o usu rio administrador a substitua no primeiro processo de login Figura 4 3 c digo SQL para inserir o primeiro usu rio do sistema 1 INSERT INTO exemplo ntwi usuarios 2 3 id login senha nome sexo identidade cpf nascimento 4 estado civil funcao empresa email telefone perfil cad usuario 5 cad datahora 6 7 VALUES 8 9 NULL admin admin Administrador Padrao 2 NULL 10 200000000000 2011 08 09 1 Administracao adminOminhaempresa com br 11 0000000085 or 2 QU 08 09 RIAA 4 12 DE Segu
32. Sum rio Pref cio 1 Introdu o ao HTML LI Paginas web s sos pps pe DE PL DE BD Berg E Bog a SE Bo selado 46 Ta 1 2 Ferramentas o me soais das ata d a a aa E ul a a a E aa L a T3 Atributos lt cpi mas ico aah dd qdo DE E n E ee E a e RE o DA EE o aa E o E eo e ria Sd E E E 15 Formul rios gt a e ss soe e a 08 808 8 RE ARLE R a r taau E R a Caa 0 8 e a 4 E ig gre GIR cd oc denha A E gera DE e DOTE q d B e q E qd DRE ANN R 253721416 at a ame alo ae AO ag A ene Aa q e ae deee Cn e 2 Come ando em PHP o be p o da a E o e a a e 68 ea a a aaa a aa GE Rasa a a E o a 2 SE a E dE a e E pl E a ao e A E E PS QUA a O E E ND OD E aa 2A E Ta e A S Eae o clas ste o qUNS cl a AURA A a URNGR a 2 RUDE a o o Elo A dio E AR d o 68 las E o ne So di no Di NM a pa O UE A S a a 2 0 Pormul rios cuspir dos ERAS 8 P 8 A EC N DIE 40 8 6 B n RE 2 6 1 M todosHITP 0 0 02000000020 0 00 0000 20 2 _ QUETY EC IDE PR E E i Vii 1808 a as 1054 a Eo 1058 a o 12 7 A 2 7_ CompatandO s roe saan pego dg Sd je da al Ab e cdna SE dtg e SO jd a SH i cdte 28 Controledefluxo 0 2797 EUNCOES es a pre E qd E G q E S E E e E E RE E L e E E pra 2 10 Resumo s ecs enia p Lena DST D ena A SA SER LESS RS SS E DJ Exercigdos e e e r eae e eaae a ae a eae ea a a ka oa g a ag Es 3 Aprofundando em PHP 4 3 1 Por que usar cookies OUSeESSOCST ER E SR e E A 3 2 Cookies 0 0 0 000000 1
33. VISUALIZA AO DOS DADOS onclick javascript document fmes submit gt submit gt submit gt lt option value 8 Agosto lt option gt lt option value 9 onclick javascript document fmes submit Q gt Setembro lt option gt lt option value 10 onclick javascript document fmes Outubro lt option gt lt option value 11 onclick javascript document fmes Novembro lt option gt lt option value 12 onclick javascript document fmes Dezembro lt option gt lt select gt lt p gt lt php if isset mes gt submit O gt lt b gt Lista de RECEITAS Mes de lt php echo meses mes 1 gt lt b gt lt br gt lt br gt Fixas lt hr width 700px gt lt table width 700px border 0px gt lt th gt Nome lt th gt lt th gt Data e Hora de Cadastro lt th gt lt th gt Valor R lt th gt lt php while linha mysql fetch array resRecFix MYSQL ASSOC echo Uetr gt l echo lt td align left width 33 gt linha nome sab d gt echo lt td align center width 334 gt 1linha datahora lt t echo lt td align right width 334 gt 1linha valor l lt td gt echo lt tr gt Incrementar o valor total recFixTotal recFixTotal linhal valor gt lt tr gt lt td width 334 gt lt td gt lt td align right width 334 gt lt b gt Total lt b gt lt t lt tr gt lt table gt lt br gt Variaveis lt hr width 700px gt lt t
34. a aplica o s o recebidas pelo servidor web e manipuladas pelo interpretador PHP O resultado obtido depois da execu o devolvido ao servidor web que transmite a informa o para o cliente navegador O script o programa propriamente dito 11 UL R NH o o 40 U R ON I H 12 AULA 2 COME ANDO EM PHP onde est escrito o c digo da aplica o que funciona na internet Nele poss vel fazer c lculos processar entradas do usu rio interagir com bancos de dados ler e escrever em arquivos e tudo mais que uma linguagem de programa o capaz de realizar As atividades propostas neste material foram implementadas utilizando o PHP juntamente com o servidor web Apache no sistema operacional Linux Essa a combina o de ferramentas mais comum para utilizar o PHP Entretanto existem vers es tanto do PHP quanto do Apache para outros sistemas operacionais como Windows e MacOS Instru es detalhadas sobre a instala o e prepara o do ambiente de desenvolvimento para cada plataforma podem ser encontradas no manual do PHP dispon vel no endere o http www php net manual pt BR install php 2 3 Iniciando A maneira mais simples de programar em PHP embutir o c digo da linguagem dentro de um arquivo contendo tags HTML O c digo embutido nas p ginas executado quando a p gina carregada Os comandos da linguagem PHP devem estar sempre entre tags espec ficas indicando ao Apache que os comandos entr
35. a de endere amento e separa o pode ser observada no campo de endere os do navegador do usu rio logo ap s o formul rio ter sido enviado como mostrado a seguir http www meusite com meuscript cgi nome Maria amp id 123 POST O m todo POST selecionado de forma similar ao GET no formul rio atrav s do atributo method O POST faz com que os dados do formul rio sejam diretamente transmitidos ao endere o que constar no atributo action Um script chamado por action precisa extrair os dados atrav s da entrada padr o standart input para poder obter os dados transmitidos pelo formul rio O conte do das vari veis do formul rio n o fica exposto no campo de endere o do navegador o que considerado uma forma insegura de trocar informa es na internet por exemplo Normalmente as aplica es web utilizam este m todo para trafegar os dados justamente devido a esse fragilidade do m todo GET 2 6 2 Query string Uma maneira alternativa de passar dados de uma p gina para outra atrav s do pr prio campo de endere o do navegador URL Esta forma de passar dados entre as p ginas conhecida como Querystring Est estruturada da seguinte forma http servidor pagina html vari dadol amp var2 dado2 amp var3 dado3 Ap s o sinal de inicia se a sequ ncia de nomes de vari veis seguido do sinal de e os respectivos valores das vari veis N o pode haver espa o em branco nesta sequ ncia Para valores de strings que
36. a entidade usu rios Precisamos ter informa es sobre os usu rios Pensando no que seria til ao nosso sistema seguem alguns dados sobre os usu rios que devem ser armazenados e Nome de usu rio para acesso ao sistema conhecido por login e Senha para acesso ao sistema e Nome completo e Sexo e Identidade e CPF e Data de nascimento e Estado civil e Fun o que exerce na empresa e Email 4 2 CRIANDO A BASE DE DADOS e Telefone para contato e Perfil padr o administrador Observe que todos os itens listados acima s o referentes aos usu rios N o faz sentido algum misturarmos com dados de outras entidades como por exemplo despesas Se estiv ssemos elaborando um formul rio de papel para cadastramento dessas informa es de usu rios ele seria semelhante ao expresso na figura Figura 4 1 Exemplo de ficha para cadastramento de usu rios CADASTRAMENTO DE USU RIOS Dados Pessoais Campos Obrigat rios Nome completo CPF Identidade Sexo Feminino Masculino Data de Nascimento dd mm aaaa Solteiro Casado Separado Divorciado Vi vo Estado civil Uni o Est vel Fun o que exerce na empresa E mail Telefone para contato Administrativo Perfil Padr o Administrador Usu rio administrador Data e hora de cadastro Analisando o formul rio da figura 4 1 podemos perceber que todos os campos exceto identidade est o sinalizados
37. a onde as informa es digitadas nas telas da figura s o enviadas Trata se do script gravar php apresentado na figura 4 12 O estudo cuidadoso deste script muito importante para entendimento de nosso sistema Observem as quest es de valida o fun es de data e hora do PHP e c digo SQL necess rio para efetuar a escrita Figura 4 12 gravar php lt php include valida sessao inc include conecta mysql inc Obtem o usuario que efetuou o Login nome usuario SESSIONI nome usuario Obtem informacoes digitadas CT EHS POSTE nome _POST nome classe POST classe mesRef POST mesRef valor POSTI valor 2 descricao POSTI descricao Validacao dos campos nome e valor if empty nome or empty valor erro 1 msg Por favor preencha todos os campos obrigatorios Jelgeif substr count valor 5D lE or lis nuneric Svalor JA erro 1 msg Digitar o campo valor apenas com numeros e no formato xx xx else Tratamento da Descricao if empty descricao descricao NULL Id do usuario que efetuou o login resultado mysql query SELECT id FROM usuarios WHERE login nome usuario idUsuario mysql result resultado O id Data e Hora datahora date Y m d H i s Formatar o valor para duas casas decimais yvalor number format Suador 2 a E Comandos SQL para insercao na base de dados comandoSQL insert i
38. a por nosso sistema e armazenada na base de dados como ser visto adiante como 81de9bdb52d04dc20036dbd8313ed055 Ou seja bem diferente da senha original garantindo por consequ ncia melhores condi es de seguran a A linha 7 realiza a inclus o do c digo fonte 4 5 Logo ap s a conex o realiza se as opera es para obter as informa es necess rias para autentica o na tabela de usu rios Caso a linha 8 retorne algum registro significa que o login do usu rio em quest o foi encontrado e o procedimento de autentica o discutido no cap tulo 3 pode ser iniciado Ent o compara se por meio da linha 19 a senha fornecida com a senha armazenada na base de dados e caso sejam iguais as informa es 4 4 AUTENTICA O DO USUARIO COM SESSOES de login nome senha e c digo do usu rio id podem ser armazenados na sess o Com o sucesso do procedimento de autentica o a linha 37 direciona para a p gina principal do sistema Caso o login ou a senha fornecida n o estejam corretos o c digo HTML das linhas 12 a 15 e 21 a 24 s o devolvidos para o navegador 4 4 2 Autentica o Cada vez que uma p gina restrita do seu sistema tiver que ser acessada necess rio passar por um processo chamado de autentica o O objetivo desse procedimento evitar que qualquer usu rio esperto digite no campo de endere o do navegador a URL de uma p gina restrita sem antes ter efetuado o login O c digo chamado valida sessao inc va
39. able width 700px border 0px gt lt php while linha mysql_fetch_array resRecVar MYSQL ASSOC echo lt tr gt echo lt td align left width 33 gt linha nome lt td gt echo lt td align center width 334 gt linha datahora lt t echo lt td align right width 33 gt linhalt valon Wic td gt echo lt tr gt Incrementar o valor total recVarTotal recVarTotal S linhal valor gt lt tr gt lt td width 334 gt lt td gt lt td align right width 334 gt lt b gt Total lt b gt lt t lt tr gt lt table gt lt br gt lt b gt Lista de DESPESAS Mes de lt php echo meses mes 1 gt lt b gt lt br gt lt br gt Fixas lt hr width 700px gt lt table width 700px border 0px gt lt th gt Nome lt th gt lt th gt Data e Hora de Cadastro lt th gt lt th gt Valor R lt th gt lt php while linha mysql_fetch_array resDesFix MYSQL_ASSOC echo Ustrol echo lt td align left width 334 gt 1linha nome Nica d gt echo lt td align center width 334 gt 1linha datahora lt Tt AULA 4 ESTUDO DE CASO CONTROLE DE FINAN AS EMPRESARIAL echo lt td align right width 334 gt 1linha valor W lt td gt echo lt tr gt Incrementar o valor total desFixTotal desFixTotal linhal valor gt lt tr gt lt td width 334 gt lt td gt lt td align right width 334 gt lt b gt Total lt b gt lt t lt tr gt l
40. ada nas p ginas restritas e P gina de logout para excluir os cookies criados inicialmente Para realizar a autentica o dos usu rios necess rio ainda uma ferramenta auxiliar para arma zenamento dos dados dos usu rios que ter o acesso ao site tais como nome senha email endere o e qualquer outra informa o que se queira armazenar Para isso o mais recomendado a utiliza o de um servidor de banco de dados Para exemplificar utilizaremos o MySQL bastante popular e adequado para as necessidades desta disciplina N o co q Q e N S JN oa 10 lt O UU R OW N 30 AULA 3 APROFUNDANDO EM PHP SGBD Os bancos de dados s o fundamentais para as aplica es web pois s o respons veis pelo arma zenamento de todo tipo de informa o de maneira persistente Para utilizar um SGBD Sistema Gerenciador de Bancos de Dados o primeiro passo a ser dado a cria o das tabelas que ser o utilizadas Na se o o uso dos bancos de dados ser abordado em mais detalhes Para o caso da autentica o do usu rio apenas uma tabela necess ria que dever armazenar no m nimo o nome do usu rio e a senha Os demais dados s o opcionais e dependem da complexidade e do n vel de seguran a exigido pela aplica o A listagem exibe o arquivo em liguagem SQL Structured Query Language que cria a tabela usuarios e o comando insert para inserir um registro na tabela Figura 3 1 usuarios sql CREATE T
41. al em m quinas que s o utilizadas por v rios usu rios A principal a o deste script destruir os cookies criados durante o login e direcionar o usu rio para a p gina de login novamente A listagem exemplifica estas a es Basicamente s o utilizadas as fun es setcookie que serve tanto para criar como para destruir cookies e a fun o header para direcionar o usu rio para a p gina login html Figura 3 6 logout php lt php setcookie nome usuario setcookie senha usuario header Location login html g gt 3 3 Sess es Uma sess o o tempo na qual o usu rio permanece navegando em um determinado site Ao iniciar a navega o uma sess o aberta e diversas vari veis podem ser registradas e acessadas durante o tempo de dura o da sess o ou seja enquanto a sess o estiver aberta ou ainda a sess o for v lida Da mesma forma que os cookies as sess es permitem que os dados armazenados nas vari veis sejam compartilhados entre as p ginas Por m existem algumas diferen as entre cookies e sess es Os primeiros armazenam dados na pr pria m quina do usu rio podendo continuar existindo mesmo e N a o s O e V N 3 4 BANCOS DE DADOS 33 quando a navega o finalizada J as vari veis de sess o s o armazenadas no servidor e s o des tru das ao sair do site ou quando o navegador fechado A primeira informa o importante relacionada a uma sess o justamente o
42. amento deste recurso Na se o 3 2 1 o uso dos cookies exemplificado Na se o 3 2 2 os principais arrays superglobais disponibilizados pela linguagem s o apresentados As sess es s o apresentadas na se o 3 3 e a integra o com o banco de dados MySQL na se o 3 6 s O A OO N e o Jo a e N p H o V o 1 QO a A OO NH AULA 3 APROFUNDANDO EM PHP Exerc cios Quais as principais diferen as entre cookies e sess es S o funcionalidades equivalentes Qual a informa o repassada pelos arrays conhecidos como super globais mais utilizados pela linguagem PHP e SERVER e GET e POST SESSION e ENV O que seria exibido como sa da do fragmento de c digo 3 10P Modifique o c digo para obter o mesmo resultado utilizando o array superglobal ENV ao inv s da fun o getenv Figura 3 10 Exemplo de uso da fun o getenv O lt php exemplo de uso da funcao getenv do PHP usuario getenv USER host getenv HOSTNAME ip getenv REMOTE ADDR printf Bom dia hs S usuario printf Voce esta conectado ao host hs de IP Ys host ip gt Dado o fragmento de c digo a seguir explique o que executado em cada linha de c digo mostrada Figura 3 11 Exemplo de uso de sess es lt php ZY inicia a sessao session start O atribui valor as variaveis de sessao SESSIONI cor azuil SESSIONI tamanho
43. as lt title gt lt head gt 25 lt body gt 26 lt form method GET name fmes action saldosMensaisPlan php gt 27 lt center gt 28 lt img src coins jpg width 154 gt 29 lt hi gt Sistema de Controle de Finanas Empresarial lt h1 gt 30 lt hr width 700px gt lt br gt 31 lt p gt Favor escolha o mes que deseja visualizar 32 lt select mname mes gt 33 lt option value 1 onclick javascript document fmes 34 Janeiro lt option gt 35 lt option value 2 onclick javascript document fmes 36 Fevereiro lt option gt 37 lt option value 3 onclick javascript document fmes 38 Marco lt option gt 39 lt option value 4 onclick javascript document fmes 40 Abril lt option gt 41 lt option value 5 onclick javascript document fmes 42 Maio lt option gt 43 lt option value 6 onclick javascript document fmes 44 Junho lt option gt 45 lt option value 7 onclick javascript document fmes 46 Julho lt option gt array Janeiro UPevereiro cMarov UAbril Mago Junho Julho 0 submit Q submit submit submit O SRE O submit submit gt gt gt gt gt gt gt 47 48 49 50 51 52 53 54 55 56 57 58 60 61 62 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 104 105 106 107 109 110 111 4 7
44. co a dist ncia em Inform tica da diretoria de educa o a dist ncia do IFCE Seu principal objetivo ser um guia que cont m todo o conte do que ser abordado durante a disciplina mas que necessita ser complementado com outros materiais como v deo aulas livros sites indicados al m dos mecanismos de aprendizagem dispon veis na ferramenta email f rum etc bem como os tutores a dist ncia e formadores respons veis da disciplina Esperamos que todos os estudantes possam aproveitar ao m ximo o conte do abordado e tenham bom aproveitamento durante a disciplina Um grande abra o a todos Todos os direitos reservados aos autores Aula 1 Introdu o ao HTML Triste poca mais f cil desintegrar um tomo do que um preconceito Albert Einstein Objetivos e Identificar as principais tags utilizadas no HTML mmm lt mine e Conhecer a estrutura b sica de uma p gina e Aplicar tags em p ginas web b sicas e Construir p ginas web com formul rios e Conhecer a estrutura b sica de uma p gina e Aplicar tags em p ginas web b sicas e Construir p ginas web com formul rios gt r45 1 1 P ginas web Antes de come ar o estudo sobre qualquer linguagem de programa o para web necess rio entender o funcionamento de um navegador Os browsers como Internet Explorer Mozilla Firefox Safari e outros nada mais s o do que visualizadores de documentos HTML ou seja recebem arquivos HTML provenie
45. com um asterisco Isso significa que seu conte do algo indispens vel para o funcionamento coerente do sistema e consequentemente o usu rio obrigado a preench lo A infor ma o relacionada identidade tem a fun o apenas de complementar o cadastro Quando falamos de registros armazenados em bancos de dados eletr nicos tamb m podemos obrigar o preenchimento de campos sendo de responsabilidade do analista decidir o que informa o fundamental ou n o Ainda analisando a figura podemos observar a exist ncia de campos com teor puramente administrativo Trata se de informa es que o usu rio n o deve preencher mas sim o sistema No caso de formul rios de papel algum respons vel ir cadastrar esses campos sinalizando o perfil do novo usu rio data e hora de cadastro e o usu rio que o atendeu Essas informa es s o teis em caso de problemas como cadastramentos ilegais dentre outros O campo perfil em nosso caso tamb m ter um papel bastante importante por informar se o novo usu rio ter permiss es para cadastrar outros novos usu rios Na constru o de nosso sistema PHP cada entidade identificada dever ser convertida em uma tabela do banco de dados MySQL No caso dos usu rios vamos ter uma tabela como descrita a seguir Como discutido anteriormente o campo identidade aparece na figura 4 2 representado por uma circunfer ncia sem preenchimento Isso mostra que esse campo foi pensado pelo analista com
46. contenham espa os em branco necess rio substitu los pelo sinal Os pares vari vel valor s o separados amp A listagem 2 11 exemplifica o uso de querystring Salve o conte do em um arquivo PHP de nome qse php no diret rio padr o do Apache e digite no campo de endere o do navegador a seguinte URL http localhost qse php nome ana amp idade 12 Figura 2 11 Exemplo de script que utiliza query string lt php nome _REQUEST nome idade REQUEST idade S 0 JO R NH H HHEH H H H H hK H o o y1 oU R OU N H O o 0 400 JU R N H N N NONI NIN H HHH HIHH HH H G F N H OONO R WW N H O 2 7 COMPARANDO echo nome tem idade anos de idade gt 2 7 Comparando Para agregar um pouco de intelig ncia aos scripts necess rio utilizar declara es condicionais ou seja fazer com que o script desempenhe a es baseadas no resultado de um teste de compara o Alguns operadores espec ficos para compara o podem ser utilizados No c digo s o mos trados alguns deles Figura 2 12 Operadores de compara o lt php define duas variaveis PSE UIQ int 10 retorna true desde que ambas contenham o mesmo valor result str int print resultado e result lt br gt retorna false desde que as variaveis nao sejam do mesmo tipo mesmo contendo o mesmo result str S int print resultado e result lt br gt o
47. da o sistema pode simplesmente travar ou aparecer uma mensagem t pica de erro do banco MySQL nada elegante para o usu rio 4 7 Visualiza o dos dados Ao acessar a op o planilha da p gina principal figura 4 5 o usu rio ser encaminhado para a tela de visualiza o das receitas e despesas cadastradas No entanto inicialmente necess rio escolher o m s de refer ncia desses dados Lembre se que esta informa o faz sentido somente para as receitas e despesas vari veis pois as fixas s o contabilizadas independente do m s Ent o por meio da tela exibida na figura 4 8 podemos escolher o m s do qual queremos acessar os dados Vamos analisar Figura 4 8 Arquivo saldosMensaisPlan php 8048 Controle de Finan as C Controle de Finan as A 4 http localhost apostila saldosMensaisPlan php v e 1 Google ajal D Sistema de Controle de Finan as Empresarial Favor escolha o m s que deseja visualizar Janeiro 18 Uma vez selecionado o m s o usu rio ser encaminhado para a visualiza o dos dados correspon dentes ao m s escolhido Esta tela est organizada em forma de planilha e s o mostradas tanto as despesas fixas e vari veis quanto as receitas No final da p gina podemos observar um resumo do m s onde observamos o saldo diferen a entre o total de receitas e total de despesas Por quest es de apresenta o a tela de visualiza o dos dados exemplificada pelo m s d
48. dos dados por isso necess rio utilizar uma ferramenta auxiliar um SGBD Trata se de um conjunto de aplicativos respons veis pelo gerenciamento das informa es em uma base de dados O principal objetivo livrar a aplica o cliente da responsabilidade de gerenciar o acesso manipula o e organiza o dos dados O SGBD disponibiliza uma interface para que os seus clientes possam incluir alterar ou consultar dados Exitem diversos gerenciadores de bancos de dados alguns mais famosos e voltados para grandes volumes de dados como o ORACLE H ainda alternativas mais populares para aplica es menores como SQL Server PostgreSQL e MySQL Praticamente todos os gerenciadores de bancos de dados citados possuem vers es para a web ou foram criados especificamente para esta finalidade como o MySQL As informa es em uma base de dados est o distrib das em tabelas Cada uma das tabelas possui um nome pelo qual ela referenciada e diversos campos colunas Na listagem 3 1 temos os comandos da linguagem SQL que criam a tabela de nome usuarios com quatro campos username senha nome e email Cada campo armazenar as informa es associadas ao nome do campo Uma base pode conter diversas tabelas para armazenar os dados De acordo com o tamanho e a complexidade da aplica o uma base de dados pode conter outros elementos mais sofisticados que facilitam o uso e melhoram o desempenho Para a grande maioria das aplica es gerenciadores com
49. e atualizar o software instalado em sua m quina A seguir temos o primeiro exemplo de uma aplica o em que s o passados dados atrav s de um formul rio para ser processado por um script em PHP O exemplo composto basicamente de dois scripts o primeiro cont m o formul rio HTML form html e o segundo cont m a l gica de processamento message php Figura 2 9 form html lt html gt lt head gt lt head gt lt body gt lt form action message php method post gt Entre sua mensagem lt input type text name msg size 30 gt lt input type submit value Enviar gt lt form gt lt body gt lt html gt O atributo action da tag lt form gt especifica o nome do script do lado do servidor server side script que ser utilizado no processamento dos dados passados no formul rio O segundo atributo method especifica a maneira como os dados ser o passados O HTTP disp e basicamente de dois m todos b sicos para trocar informa es com formul rios GET e POST Mais detalhes sobre esses m todos s o apresentados na se o Figura 2 10 message php lt html gt lt head gt lt head gt lt body gt lt php recebe dados do formulario input _POST msg usa os dados echo Voce disse lt i gt input lt i gt gt lt body gt lt html gt 8 Quando os dados s o passados submetidos atrav s de form html o script message php l e exibe os dados segundo a
50. e estas tags devem ser processados pelo interpretador PHP como pode ser observado no c digo Figura 2 1 Tags da linguagem PHP lt php comandos PHP gt Um exemplo simples de como os comandos PHP s o colocados junto com HTML mostrado em Na linha 7 a tag lt b gt lt b gt utilizada diretamente no corpo do documento J na linha 12 a sa da de echo j cont m a mesma tag lt b gt lt b gt com a mesma funcionalidade descrita na linha 7 por m misturando PHP e HTML Figura 2 2 C digo PHP e HTML mesclados lt html gt lt head gt lt title gt Matrix lt title gt lt head gt lt body gt lt b gt Agente lt b gt Quem voce pensa que e lt br gt lt php saida mostrada echo lt b gt Neo lt b gt Eu sou Neo mas me chamam de o escolhido gt lt body gt lt html gt Executando se o c digo mostrado em 2 2Je abrindo o c digo HTML lido pelo navegador poss vel observar que as tags PHP n o est o presentes O que aconteceu Quando a p gina requisitada ao servidor web Apache pelo cliente web navegador esta interpretada pelo interpretador PHP presente no servidor que por sua vez repassa o resultado na forma de um arquivo HTML que visualizado pelo navegador Este processo est ilustrado na figura importante notar que a figura ilustra o caso t pico de um servidor que est sendo acessado atrav s de uma rede interna ou y O U A U N 2
51. e novembro foi dividida nas figuras e Observe que a organiza o dos dados em forma de planilha fornece condi es claras para interpre ta o dos dados O c digo necess rio para gera o desta p gina est descrito na figura 4 13 Observe que a gera o das tabelas ocorre de forma din mica com base nos resultados da execu o das query SQL Para facilitar o entendimento foram realizadas quatro consultas independentes ao banco de dados que podem ser estudadas nas linhas 9 a 18 Que tal o desafio de tentar fazer a mesma planilha com apenas uma nica query Divirtam se AULA 4 ESTUDO DE CASO CONTROLE DE FINAN AS EMPRESARIAL Figura 4 9 saldosMensaisPlan php Parte superior a Parte superior b Parte inferior Controle de Finan as Controla de Finan as amp y Controle de rinan as he flocainost apostia saldosmensaisPlan pnp mes 11 Vari veis Loca o de Im vel A Loca o de Im vel Mans o Praia B 2011 11 29 01 14 45 2011 11 29 01 15 32 Total Lista de DESPESAS M s de Novembro Fixas Sistema de Controle de Finan as Empresarial Nome Pagamento Funcion rios Servi os B sicos gua Energia e Favor escolta o m s que deseja visualizar Ja 18 Telefone Combust vel Viaruras Data c Hora de Cadastro 2011 11 29 01 17 41 2011 11 29 01 18 54 Lista de RECEITAS M s de Novembro 2011 11 29 01 20 18 ec Agde i 2011 11 29 01 25 24 Fixas do Site ai To
52. eceitas e despesas receitas despesas vid int enome varchar 50 Ex conta de telefone etipo int 1 1 receita 2 despesa eclasse int 1 1 vari vel 2 fixo omes referencia int 2 Exemplo 1 janeiro 2 fevereiro edatahora datetime evalor float susuario int id do usu rio a quem pertence odescricao text Coment rios adicionais Para que possamos dar in cio a cria o de nossas tabelas necess rio inicialmente realizarmos a cria o da base de dados exemplo ntwi na qual as informa es ser o armazenadas No MySQL podemos realizar este procedimento por meio do seu utilit rio como vemos na seguinte instru o Figura 4 1 c digo SQL para cria o da base de dados exemplo ntwi 1 CREATE DATABASE exemplo ntwi A tabela que ir armazenar os usu rios do sistema mostrada na figura pode ser criada da seguinte forma Figura 4 2 c digo SQL para cria o da tabela usuarios 1 CREATE TABLE exemplo ntwi usuarios 4 2 CRIANDO A BASE DE DADOS 43 2 3 id INT NOT NULL AUTO INCREMENT PRIMARY KEY COMMENT Chave primaria 4 login VARCHAR 30 NOT NULL 5 senha VARCHAR 30 NOT NULL 6 nome VARCHAR 50 NOT NULL 7 sexo INT NOT NULL COMMENT 1 Feminino 2 Masculino 8 identidade VARCHAR 20 NULL COMMENT Apenas numeros 9 cpf VARCHAR 11 NOT NULL COMMENT Apenas numeros 10 nascimento DATE NOT NULL 11 estado civil INT NOT NULL COMMENT 1 Solteiro 2
53. eira a 1 234 Tamb m pode se utilizar a nota o cient fica a 1 23e4 ou b 7E 10 Uma string especificada utilizando se aspas simples nome maria ou aspas duplas palavra word Por m no caso de aspas duplas se uma vari vel colocada entre as aspas o seu valor substitu do Um array em PHP considerado um mapa ordenado ou seja um tipo que relaciona valores para chaves Este tipo otimizado de v rias maneiras assim poss vel us lo como um array real ou uma lista vetor hashtable que uma implementa o de mapa dicion rio cole o pilha fila e provavelmente o que mais a criatividade do programador alcan ar Um array cont m um certo n mero de pares separados por v rgula chave gt valor A chave pode ser tanto um inteiro quanto uma string No c digo 2 6 mostrado um exemplo de utiliza o deste tipo Figura 2 6 Atribui o de arrays em PHP lt php arr array foo gt bar 12 gt true echo S arr foo bar o o N1 oU A O NH w N N NI NI NI NI NI N N I N H HIH HI H H H H H H R D F O lt O UGU F N H O lt 080 UU R WV N H O o o N1 oana AUO NBE H re H N Ho AULA 2 COME ANDO EM PHP echo Sarr 12 LAT gt 2 5 Operadores A melhor maneira de se familiarizar com os operadores dispon veis em uma linguagem utilizando os A seguir seguem exemplos de utiliza o de diversos
54. ens que ao serem clicadas levam a uma nova p gina ou a uma nova se o da mesma p gina Ao mover o ponteiro do mouse sobre um link o ponteiro se altera indicando a presen a de um hiperlink A tag lt a gt utilizada para cria o de links em uma p gina O formato b sico lt a href url gt Texto do link lt a gt O atributo href especifica o destino do link Apenas o texto entre as tags exibido no navegador Outro atributo bastante utilizado target O exemplo a seguir abre a p gina em uma nova janela lt a href http www google com target blank gt Buscador lt a gt Para utilizar imagens nas p ginas web necess rio utilizar a tag lt img gt que n o necessita ser fechada O atributo src utilizado para indicar o caminho para o arquivo que ser exibido Caso o arquivo esteja no mesmo diret rio da p gina basta indicar o nome Os principais formatos utilizados s o JPG GIF e PNG O valor do atributo alt exibido quando o mouse passa sobre a figura Abaixo mostrado um exemplo do uso de lt img gt lt img src boat gif alt Imagem de um barco gt Tamb m poss vel alterar o tamanho de exibi o da imagem no navegador atrav s dos atributos heigth e width conforme exemplo a seguir Caso estes atributos n o sejam atribu dos a imagem mostrada em seu tamanho real sem amplia es ou redu es lt img src pulpit jpg alt Pulpit rock width 304 height 228 1 5 FORMULARIOS T Para u
55. entado nas quest es discutidas anteriormente e na modelagem da base de dados exposta no in cio da aula desenvolva os documentos addUsuarios php e delUsuarios php agregando ao sistema Tente seguir o mesmo layout adotado Utilize os fontes j estudados como exemplos e n o esque am que em programa o praticar essencial para o aprendizado
56. esarial w Controle de Finan as Empresarial m http localhost apostila v c 38 Google aj mz Sistema de Controle de Finan as Empresarial Favor entre com os dados de identifica o para acessar o sistema Usu rio Senha Enviar Caso tenha problemas para acessar o sistema favor mandar email para administrador minhaempresa com br lt tr gt lt td width 150px gt Senha lt td gt lt td width 200px gt lt input type password name senha size 20 gt lt td gt lt tr gt lt tr gt lt td gt lt br gt lt input type submit value Enviar name enviar gt lt td gt lt tr gt lt table gt lt br gt lt hr width 700px gt lt br gt lt p gt Caso tenha problemas para acessar o sistema favor enviar email para administradorOminhaempresa com br lt p gt lt center gt lt form gt lt body gt lt html gt Conforme estudado na aula 3 deste material um sistema de usu rio senha formado por tr s partes b sicas e Login entrada do usu rio no site Nessa etapa pode ser registrada uma sess es ou armazenados os dados do usu rio em cookies e Autentica o verifica o da exist ncia e validade da sess o ou cookies e Logout sa da do sistema Nessa etapa a sess o destru da ou os cookies s o exclu dos 4 4 1 Login Por meio do c digo HTML da p gina index php podemos notar que ao preencher os campos ne cess r
57. escentar J os coment rios de v rias linhas s o iniciados com e finalizados com As linhas em branco s o ignoradas assim como qualquer caractere fora das tags Os coment rios seguem o mesmo padr o da linguagem C que ali s a base do PHP Nos exemplos mostrados neste material pode se observar muitas semelhan as entre a sintaxe utilizada em ambas as linguagens Figura 2 3 Coment rios em PHP lt php comentario de linha unica comentario de multiplas Linhas gt 2 4 Vari veis Assim como qualquer outra linguagem de programa o o PHP tamb m utiliza se de vari veis para armazenar dados durante a execu o de um script Seu conte do pode mudar ao longo da execu o o o sN aoan AUO N e 14 AULA 2 COME ANDO EM PHP Figura 2 2 Sistema de desenvolvimento t pico utilizando apenas uma m quina M quina do Usu rio Processo Processo Cliente Servidor C digo PHP Interpretado http page php N lt HTML gt N lt HTML gt lt HTML gt Acessa arquivo lt HTML gt Resposta do servidor Resposta Requisi o Requisi o do cliente Fonte Autores do script As vari veis podem ser comparadas e o resultado das compara es pode ser utilizado para disparar a es espec ficas como em qualquer outra linguagem O PHP suporta uma grande quantidade de tipos de vari veis inteiros ponto flutuante strings e matrizes Na grande maioria das linguage
58. esse array Por exemplo se o cookie chamado nome definido setcookie nome Ana Na pr xima requisi o de p gina o valor poderia ser acessado atribuindo se o valor do cookie para uma vari vel como mostrado a seguir var COOKIE nome Outra maneira de acessar o valor de um cookie atrav s da ativa o diretiva register_globals no arquivo de configura o do PHP php ini Nesse caso o pr prio nome do cookie convertido em uma vari vel No exemplo anterior o valor do cookie estaria acess vel atrav s da vari vel nome Apesar da facilidade esta pr tica n o mais recomendada pelos desenvolvedores desde a vers o 4 2 0 do PHP O uso desta configura o permite que c digos inseguros sejam interpretados pelo PHP O que obviamente n o desej vel Em Usando a diretiva Register Globals mostrado os riscos que o uso desta diretiva trazem Tanto que a partir da vers o 6 0 0 ela ser totalmente abolida 3 2 3 Autenticando Uma utiliza o bastante comum dos cookies a autentica o de usu rios A autentica o uma maneira de se certificar de que somente usu rios autorizados por senha possam acessar determinadas reas de um site ou mesmo todo o site A autentica o com cookies pode ser dividida em tr s etapas e P gina de login para receber os dados do usu rio verificar o cadastro e criar os cookies que permitem a utiliza o da p gina e Rotina de valida o para ser utiliz
59. eta dos dados e Explique em que circunst ncia a linha 16 executada Figura 3 13 Exemplo de c digo para inserir dados em uma tabela lt php usuario para conexao com banco username username senha para conexao com banco password password nome da base de dados database agenda conexao com o aplicativo servidor de banco de dados mysql pconnect localhost username password seleciona o banco de dados Gmysql select db database or die Impossivel selecionar a base query query INSERT INTO contacts VALUES Joao 01234567890 joaosilvaQ0net com 1976 11 06 tratamento de erro if result mysql query query echo mysql error else echo mysql affected rows result dados inseridos com sucesso gt Aula 4 Estudo de caso controle de finan as empresarial A vida uma pe a de teatro que n o permite ensaios Por isso cante ria dance chore e viva intensamente cada momento de sua vida antes que a cortina se feche e a pe a termine sem aplausos Charles Chaplin Objetivos e Conhecer uma aplica o web completa e Ter uma refer ncia para o desenvolvimento de outras aplica es de mesmo porte 4 1 Determinando os objetivos da aplica o Neste cap tulo vamos aprender a criar um sistema para controle de finan as de uma empresa Este sistema ser desenvolvido em PHP a partir dos diversos conte dos que foram abordados ao longo
60. etorna TRUE ou FALSE O exemplo a seguir mostra o uso de if juntamente com um formul rio que ir realizar o processamento de acordo com a idade do usu rio Figura 2 14 exemplo de if lt html gt lt head gt lt head gt lt body gt lt form action ageist php method post gt Digite sua idade lt input name age size 2 gt lt form gt lt body gt lt html gt O c digo 2 15 mostra o script que processa o formul rio anterior Figura 2 15 ageist php lt html gt lt head gt lt head gt lt body gt lt php retrieve form data age POST age verificacao do valor if age gt 18 echo voce pode tirar carterra de motorasta J if age lt 18 echo voce nao pode tentar tirar carteira de motorista ainda gt lt body gt lt html gt Al m da estrutura tradicional if else o PHP disp e ainda de uma estrutura especial if elseif else As listagens e exemplificam seu uso Figura 2 16 Formul rio lt html gt lt head gt lt head gt lt body gt lt h2 gt Today s Special lt h2 gt lt p gt lt form method get action cooking php gt lt select name day gt lt option value 1 gt Segunda Quarta lt option value 2 gt Terca Quinta lt option value 3 gt Sexta Domingo lt option value 4 gt Sabado lt select gt lt input type submit value Enviar gt lt form gt lt body gt lt html gt Figura 2 17 cooking php
61. go como Este seu acesso n mero 2 Outro exemplo que pode ser citado quando s o feitas buscas em um site O termo pesquisado pode ser armazenado em um cookie de forma que em acessos futuros o termo pesquisado j seja preenchido no campo do formul rio Os cookies tamb m possuem uma caracter stica interessante chamada de validade ou seja o tempo que permanecer armazenado na m quina do usu rio A validade de um cookie pode chegar a dias ou pode ser configurado para ter tempo de vida de apenas alguns minutos Existe uma discuss o em rela o falta de privacidade dos cookies Isso ocorre porque muitas vezes o usu rio pode estar tendo informa es gravadas em cookies e estas informa es serem uti lizadas por empresas para rastrear os sites pela qual o usu rio navegou por exemplo Por isso os navegadores permitem ao usu rio habilitar ou desabilitar o armazenamento de cookies na m quina Entretanto ao desabilitar este recurso dificilmente pode se obter os mesmos recursos disponibiliza dos pelo site Provalmente n o ser poss vel realizar o login ou registrar a cidade em que o usu rio se encontra e coisas do tipo 3 2 1 Enviando cookies O PHP disponibiliza a fun o setcookie para enviar cookies para a m quina do usu rio Esta fun o possui dupla funcionalidade tanto serve para definir como para excluir um cookie A sintaxe b sica da fun o a seguinte bool setcookie string nome string valor in
62. html gt lt body gt echo lt p align N centerl gt A senha esta incorreta lt p gt echo lt p align N centerl gt lt a href N login htmlN gt Voltar lt a gt lt p gt echo U lt body gt lt html gt else usuario e senha corretos Criando os cookies setcookie nome_usuario username setcookie senha_usuario senha direciona para a pagina inicial dos usuarios cadastrados header Location index php gt gt mysql close con gt Valida o Depois de efetuado procedimento de login autentica o do usu rio os cookies j encontram se arma zenados na m quina do cliente e dispon veis para uso A cada nova requisi o de p gina necess rio fazer a valida o ou seja verificar se os cookies ainda s o v lidos e se as informa es do usu rio ainda est o corretas Isso deve ser feito para evitar que um usu rio mal intencionado e que n o tem acesso a determinadas reas do site digite o endere o diretamente no navegador e tenha acesso a p gina Para isso basta criar um include valida cookies inc que deve ser chamado pelas p ginas protegidas Figura 3 5 valida cookies inc lt php if IsSet COOKIE nome usuario nome usuario COOKIE nome usuario if IsSet COOKIE senha usuario senha usuario COOKIE senha usuario if empty gnome usuario OR empty senha usuario include conecta mysql inc resultado mysql query SELECT FROM
63. indo os mesmos procedimentos empregados para cria o da tabela de usuarios podemos construir a tabela receitas despesas mostrada na figura 4 3 por meio do seguinte c digo SQL Figura 4 4 C digo SQL para cria o da tabela receitas despesas 1 CREATE TABLE exemplo ntwi receitas despesas 2 3 id INT NOT NULL AUTO INCREMENT PRIMARY KEY COMMENT Chave primaria 4 nome VARCHAR 50 NOT NULL COMMENT Ex conta de telefone 5 tipo INT 1 NOT NULL COMMENT 1 Receita 2 Despesa 6 classe INT 1 NOT NULL COMMENT 1 variavel 2 Fixo 7 datahora DATETIME NOT NULL 8 valor FLOAT NOT NULL 9 usuario INT NOT NULL COMMENT Id do usuario a quem pertence 10 descricao TEXT NULL COMMENT Comentarios adicionais i DE O aplicativo PhpMyAdmin representa uma ferramenta bastante interessante para cria o e geren ciamento de base de dados MySQL Por meio do uso deste aplicativo podemos criar visualmente bases de dados tabelas bem como realizar opera es de inser o exclus o dentre outras R N S o N Q A 10 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 AULA 4 ESTUDO DE CASO CONTROLE DE FINAN AS EMPRESARIAL 4 3 Include de acesso ao banco de dados Para que se possa trocar informa es com a base de dados necess rio primeiramente estabelecer uma comunica o com o banco Como em v rias p ginas haver essa necessidade o ideal seria criarmos um include de acesso a
64. ios e clicar no bot o Enviar os dados dos usu rios s o submetidos a um programa chamado login php Esse algoritmo ir obter os dados enviados acessando o array superglobal _POST con forme estudado no cap tulo 2 Em seguida uma conex o com a base de dados deve ser aberta para o o s ona RA UNBE w v W vovv NNN NNNNNNN Be e e Bae e H H H H H o s O a N e O O ONON A O NBE O IO 40 IU RA ON H O AULA 4 ESTUDO DE CASO CONTROLE DE FINAN AS EMPRESARIAL verificar a exist ncia do usu rio e a validade da senha Veremos portanto como seria o c digo do programa login php na Listagem 4 7 Figura 4 7 login php lt php amp obtm os valores digitados username POST username md5 evitar que a senha do usuario seja armazenada Limpa no banco senha md5 POST senha acesso ao banco de dados include Vconeicitalmyisgi inc resultado mysql query SELECT FROM usuarios where login username linhas mysql num rows resultado if linhas 0 testa se a consulta retornou algum registro echo lt htmi gt lt body gt echo lt p align N centerl gt Usurio no encontrado lt p gt echo lt p align N centerl gt lt a href Y index htmlN gt Voltar lt a gt lt p gt echo lt body gt lt html gt else if senha mysql result resultado O senha J confere senha echo lt html gt lt body gt echo lt p align N centerN
65. ir a sess o constru da pelo script login php Como os dados deixam de existir quando o usu rio tenta acessar p ginas que possuem conte do restrito o arquivo valida sessao php detecta e direciona o usu rio para a p gina inicial do sistema 4 5 P gina principal Vamos agora apresentar a tela principal de nosso sistema Lembrando que esta tela restrita apenas para os usu rios cadastrados e que se todos os procedimentos detalhados anteriormente tiverem sido executados usu rios n o autenticados n o poder o acess la A figura 4 5 exibe como essa interface est constru da apresentando todas suas fun es Vamos portanto cuidadosamente estud la Figura 4 5 Arquivo principal php Tela principal do sistema para usu rios comuns e ene Controle de Finan as Empresarial w Controle de Finan as Empresarial 4 http localhost apostila v C IK Google Q Sistema de Controle de Finan as Empresarial Favor entre com os dados de identifica o para acessar o sistema Usu rio Senha Enviar Caso tenha problemas para acessar o sistema favor mandar email para administrador minhaempresa com br Observando a parte superior da tela podemos observar duas informa es sobre o usu rio que est acessando A primeira o nome completo do usu rio cadastrado durante sua inscri o no site A So s aoan A UU NBE H o 11 12 13 14 15 16 17 18 19 20 21 2
66. iza o de p ginas em geral S o as chamadas p ginas din micas Diferentemente das p ginas est ticas que utilizam puramente o HTML ou seja o mesmo conte do sempre exibido para qualquer usu rio que requisite a p gina 27 28 AULA 5 APROFUNDANDO EM PHP Tabela 3 1 Principais par metros dos cookies Par metro Descri o nome Indica o nome que ser usado como refer ncia valor Valor atribu do ao cookie Se vazio o cookie exclu do validade Define o tempo de validade do cookie no formato de tempo UNIX caminho Caminho no servidor para o qual o cookie estar dispon vel dom nio Dom nio para o qual o cookie est dispon vel seguro Valor 0 ou 1 que indica se o cookie seguro 3 2 Cookies Cookies s o apenas arquivos texto armazenados localmente na m quina do cliente web para posteri ormente serem recuperados pelo servidor S o compostos por um nome que serve como refer ncia e um valor associado a esse nome Qualquer aplica o que necessite compartilhar dados entre diferentes p ginas pode ser implementada utilizando os cookies Um exemplo muito simples do uso de cookies a contagem de acessos Supondo que um usu rio acesse um site pela primeira vez e que este site tenha um cookie definido com o nome numero acessos e valor inicial 1 no pr ximo acesso o valor incrementado Assim a cada acesso o servidor resgata esse valor na m quina do cliente e pode utilizar a informa o para exibir al
67. l de nosso sistema Figura 4 10 principal php lt php include valida sessao inc include conecta mysql inc nome usuario SESSION nome usuario perfil usuario SESSION perfil usuario resultado mysql query SELECT FROM usuarios WHERE login nome usuario sexo mysql result resultado 0 sexo nome mysql result resultado 0 nome mysql close con switch sexo case 1 geand Us giiisra a nome break case 2 saudi a0 Sr u nome break switch perfil usuario AULA 4 ESTUDO DE CASO CONTROLE DE FINAN AS EMPRESARIAL 23 case 1 24 perfil Padro 25 break 26 case 2 27 perfil Administrador 28 break 29 30 gt 31 lt html gt 32 lt head gt lt title gt Controle de Finanas lt title gt lt head gt 33 lt body gt 34 lt form method POST action login php gt 35 lt center gt 36 lt img sre coins pe width 15 4 gt 37 lt hi gt Sistema de Controle de Finanas Empresarial lt h1 gt 38 lt br width 700px gt lt br gt 39 lt php echo dsaud Mv Perfil vodSpertil VIa an gt lt a href logout php gt Sair lt a gt 40 lt hr width 700px gt lt p gt Favor escolha a opo desejada lt p gt lt b gt Incluir lt b gt lt br gt lt a href receitas despesas php t 1 gt Receitas lt a gt lt br gt a H a R N lt a href receitas_despesas php t 2 gt De
68. lida a exist ncia coerente da sess o e empregado em nossa aplica o para a realiza o desta atividade Figura 4 8 valida sessao inc 1 lt php 2 session start O 3 4 if isset SESSION nome usuario 5 nome usuario SESSION nome usuario 6 if isset SESSION senha usuario 7 senha usuario _ SESSION senha usuario 8 9 if empty nome usuario OR empty senha usuario 10 11 include conecta mysql inc 12 resultado mysql query SELECT FROM usuarios WHERE login nome usuario 13 if mysql num rows resultado 1 14 15 if senha usuario mysql result resultado 0 senha 16 17 unset _SESSION nome_usuario 18 unset _SESSION senha_usuario 19 unset _SESSION perfil_usuario 20 echo Voce nao efetuou o LOGIN lt br gt 21 echo lt p align center gt lt a href index html gt Voltar lt a gt lt p gt 22 exit 23 J 24 25 else 26 27 unset _SESSION nome_usuario 28 unset _SESSION senha_usuario 29 unset SESSION perfil usuario 30 echo Voce nao efetuou o LOGIN 31 echo lt p align N centerl gt lt a href NW index htmlN gt Voltar lt a gt lt p gt 32 exit 33 J 34 35 else 36 37 echo Voce nao efetuou o LOGEN IU 38 echo lt p align N centerl gt lt a href NWV index htmlN gt Voltar lt a gt lt p gt 39 exit 40 1 mysql close con
69. login php O primeiro cont m o formul rio inicial que ser exibido para o usu rio e o segundo realiza a l gica da autentica o Figura 3 3 conecta mysql sdl lt html gt lt body gt lt form method PUST action lt Toginphp gt lt p align center gt Nome de usuario lt input type text name username size 10 gt lt p align center gt Senha lt input type password name senha saize 10 gt lt p align center gt lt input type submit value Enviar name enviar gt lt form gt o o oU R OW Hm O N NNN o DER o RR o RR NONNE H H H H H H H H H O N e O O NOAUA A O N I H O IO 4 0 IU N H O VS o 40 UU A OW NBE H HH o 3 2 COOKIES 31 lt body gt lt html gt Figura 3 4 login php lt php obtem os valores digitados username POST username senha _POST senha acesso ao banco de dados include conecta mysql inc resultado mysql query SELECT FROM usuarios where username username linhas mysql num rows resultado if linhas 0 testa se a consulta retornou algum registro echo lt htni gt lt body gt echo lt p align center gt Usuario nao encontrado lt p gt echo lt p align N centerl gt lt a href NV login htmlN gt Voltar lt a gt lt p gt echo lt body gt lt html gt J else if senha mysql result resultado O senha confere senha 1 echo lt
70. m o usu rio digitar n meros com v rgula ou ponto Por exemplo 200 12 ou 200 12 Voc pode construir o sistema para receber valores das duas formas Se isto for feito voc torna o seu site mais robusto e mais c modo ao usu rio Tamb m devemos tomar cuidados com os n meros que eventualmente s o colocados sem casas decimais como por exemplo 200 No nosso caso vamos construir essa verifica o da forma mais simples ou seja todos os valores tem que ser obrigatoriamente digitados com duas casas decimais e com ponto Para validar isso a instru o da linha 18 executada A fun o substr count verificar se o n mero digitado possui uma ocorr ncia do car cter ponto A instru o complementada pela fun o is numeric respons vel em analisar se o conte do digitado de fato correspondente a um n mero Ambas fun es est o ligadas por meio do operador l gico and significando que a express o ser verdadeira somente se as ambas fun es forem verdadeiras Se algum erro ocorrer nas verifica es descritas anteriormente uma mensagem emitida para o usu rio Em caso de sucesso nosso script pode formular o c digo SQL e finalmente efetuar a escrita dos dados na base Este procedimento ocorre entre as linhas 22 e 35 Estudando a linha 22 inicialmente veremos que o valor NULL atribu do a descri o caso o usu rio n o tenha preenchido no formul rio A linha 28 obt m a data e hora do sistema no momento da exec
71. na figura 4 10 direciona o usu rio para o arquivo receitas despesas php com uma vari vel t configurada com valor 1 Essa vari vel ser respons vel em informar ao script receitas despesas php que a opera o de cadastro ser referente a uma receita Caso o usu rio deseje cadastrar uma despesa a linha 44 do c digo da p gina principal ir direcionar o usu rio para o mesmo arquivo receitas despesas php com a diferen a da vari vel t enviada ser de valor 2 Ent o voc s podem se perguntar por que n o s o constru das duas p ginas diferentes de cadastro uma para receita e outra para despesa A res posta simples Imagine como seria o c digo fonte dessas duas p ginas Se voc tiver imaginado corretamente ver que seus fontes ser o bastante iguais Ou seja eles ir o possuir c digos fontes semelhantes e uma mesma organiza o Dessa forma prefer vel economizar c digos fazendo ape nas um documento e alterando entre as particularidades de cada a o por meio da linguagem de programa o As vantagens disso que com apenas um documento fica mais f cil administrar os S o 1 080 A OW NH H o 11 12 13 14 15 16 17 18 19 20 21 22 23 24 26 27 28 29 30 31 32 33 4 6 CADASTRO DE RECEITAS E DESPESAS c digos ficam sem redund ncia e consequentemente tornar o processo de manuten o mais simples Figura 4 7 Arquivo receitas despesas php a Formul rio para cadastr
72. name gt lt br gt 3 Sobrenome lt input type text name lastname gt 4 lt input type radio name sex value masculino gt Masculino lt br gt 5 lt input type radio name sex value feminino gt Feminino lt br gt 6 Meios de Transporte que Utiliza lt br gt 7 lt input type checkbox name vehicle value Bicicleta gt Bicicleta lt br gt 8 lt input type checkbox name vehicle value Carro gt Carro 9 lt form gt No exemplo anterior o formul rio definido com o nome pesquisa conforme o atributo presente na tag lt form gt Em seguida est o presentes 6 elementos sendo duas caixas de texto dois bot es de r dio e dois checkboxes respectivamente Nas caixas de texto o usu rio pode inserir texto livremente Os bot es de r dio servem para escolher uma op o entre v rias dispon veis J o checkbox deve ser utilizado para selecionar uma op o nica dentre v rias dispon veis O formul rio da figura l 5ainda est incompleto Faltam alguns elementos para torn lo funcional Para que isto aconte a necess rio que seja utilizado o atributo action da tag lt form gt Este atributo indica o arquivo ou script que ir processar os dados passados pelo formul rio Normalmente os scripts s o processados no lado do servidor O cliente navegador apenas envia as informa es para um servidor na Internet ou localmente para que este realize todo o processamento c lculos armazenamento otimiza o e
73. nhas 12 a 19 existe o tratamento desta vari vel Neste procedimento a vari vel tipo configurada como receita ou despesa dependendo do valor Esta informa o a nica que muda entre os dois casos o que justifica a exist ncia de uma p gina para esta atividade Imagine o volume de c digos replicados que ir amos ter tiv ssemos dois arquivos para realizar esse cadastro OV o q QO ana A O N H R e e O R E e A W W W OW W OW OW N NNNNNNNN N Be reae e EH H H H H H H s O UU O N e O O NOAA A N HO OONO RA N HO I O o N o I UPB ON H O 4 6 CADASTRO DE RECEITAS E DESPESAS 93 Outro detalhe importante est colocado nas linhas 82 e 83 Observe que existe um input do tipo hidden type hidden Este tipo significa que este bot o n o ser vis vel ao usu rio Da vem aquela perguntinha se o bot o invis vel entende se que ele n o ter utilidade para o usu rio logo para que ele foi definido A quest o bem simples Apesar de n o aparecer ele muito til para o sistema por meio dele que vamos enviar a informa o de tipo receita ou despesa para ser gravada no banco de dados Como aprendemos na aula 3 os dados do formul rio HTML s o transmitidos para um script PHP que ir registrar na base Neste caso se n o utiliz ssemos este recurso ficaria muito complicado enviar esta informa o receita ou despesa para o script de grava o Vamos agora conhecer par
74. ns fundamental especificar o tipo de vari vel que est sendo utilizada logo no in cio do programa O que conhecido como declara o de vari veis No caso da linguagem PHP o pr prio interpretador determina o tipo de vari vel atrav s do contexto em que utilizada Inclusive uma vari vel pode ser tratada inicialmente como inteiro e durante a execu o passar a ser tratada como string Isto traz bastante flexibilidade no uso de vari veis e conforto para o programador j que ele n o precisa preocupar se com a declara o das vari veis Cada vari vel deve ser identificada por um nome O nome de uma vari vel precedido por e seguido por uma letra ou _ S o exemplos de nomes de vari veis v lidos popeye one e INCOME J os nomes 48hrs e 123 n o s o v lidos Os nomes tamb m s o sens veis ao caso logo me diferente de ME No c digo mostrado um exemplo simples de utiliza o de vari veis em PHP As vari veis name rank e serialNumber s o definidas como string e como n mero mas s o utilizadas como string na chamada da fun o echo Assim como printf echo utilizada para exibir dados na sa da padr o Na chamada da fun o echo ainda foram inclu das tags HTML que ser o processadas pelo navegador Figura 2 4 Vari veis em PHP lt html gt lt head gt lt title gt Matrix lt title gt lt head gt lt body gt Agente Quem voce pensa que e lt br gt lt php
75. ntes de um servidor web interpretam e exibem o resultado para o usu rio na forma de hipertexto imagens e tudo mais que pode ser visualizado atrav s dos navegadores O HTML Hypertext Markup Language exatamente a maneira como as p ginas web s o des critas uma pseudo linguagem pois trata se apenas de uma linguagem de marca es tamb m chamadas de tags colocadas ao longo do conte do do documento Estas marca es nada mais s o do que formata es sobre a forma como o conte do ser exibido pelo navegador tais como fontes cores tamanho tabelas e demais elementos presentes na p gina Um site um conjunto de p ginas web que por sua vez s o apenas arquivos HTML Cada p gina cont m diversas tags que s o interpretadas pelos navegadores que exibem o conte do da maneira usual Os navegadores n o exibem o conte do do documento HTML fonte diretamente mas sim sua interpreta o visual Caso o usu rio solicite o c digo fonte da p gina pode ser exibido pelo navegador Para o Firefox ou Internet Explorer basta selecionar Exibir Codifica o que mostrado o c digo fonte da p gina ao e N H on 1 2 FERRAMENTAS 5 Abaixo temos o primeiro exemplo de arquivo em HTML Para visualiz lo basta salvar o con te do mostrado na figura em um arquivo com a extens o htm ou html e abrir com qualquer navegador instalado no computador Figura 1 1 Hello world na vers o HTML lt html gt lt body gt lt
76. ntidos no for se repetem A terceira o incremento da vari vel de controle para o pr ximo ciclo A c digo 2 19 ilustra a utiliza o do for atrav s de v rios exemplos Figura 2 19 Exemplos de la os for lt php exemplo 1 for i 1 i lt 10 i o o Joia R N H H o echo i exemplo 2 for i 1 i 4 if Gi gt O break gt echo i 12 13 14 15 16 LT 18 19 20 21 22 23 24 25 o o y ona A UOU NBE H e H N HO 22 AULA 2 COME ANDO EM PHP exemplo 3 i 1 tor DR CSA gt O break echo i i 12 exemplo 4 Tor 91 1 Sj 0 1 do dg di print E gt 8 Outra estrutura de controle bastante utilizada em PHP o include c digo 2 20 Esta estrutura inclui e executa um determinado arquivo dentro de outro Os arquivos s o inclu dos especificando se seu caminho Caso o arquivo n o seja encontrado um warning emitido para o usu rio Se especificado apenas o nome o arquivo procurado no diret rio corrente Um estrutura similar o require A diferen a b sica que em caso de erro arquivo n o encontrado por exemplo o script que originou a chamada require n o continua pois um erro fatal emitido Figura 2 20 Exemplo de como usar o comando include vars php lt php cor verde Sfruta laranjas gt teste php lt php echo Uma cor S fruta include vars php echo Uma cor S fru
77. nto apostila ntwi receitas despesas nomer tipo classe mes referencia datahora valor 7 usuario values ScomandoSQL S nome t gt Gclasse GmesRef Gdatahora S Svalor idUsua resultado mysql query comandoSQL or die Erro fatal durante operacao com base de dados msg Inclusao realizada com sucesso gt mysql close con gt lt html gt lt head gt lt title gt Controle de Finan amp ccedil as lt title gt lt head gt lt body gt lt center gt lt img src receita despesa jpg width 304 height 304 gt descricao 56 57 AULA 4 ESTUDO DE CASO CONTROLE DE FINAN AS EMPRESARIAL lt h1 gt Sistema de Controle de Financas lt h1 gt lt br width 700px gt lt br gt lt php echo lt p gt msg lt p gt gt lt p gt lt a href principal php gt Voltar lt a gt lt p gt lt center gt lt body gt lt html gt Vamos iniciar nossa discuss o com as instru es apresentadas pelas linhas 5 a 12 Observe que o login do usu rio obtido por meio da sess o Lembre se que essa informa o ficou gravada na sess o durante o procedimento de autentica o Em seguida os dados referentes aos demais campos do formul rio s o obtidos pelo array superglobal POST A linha 15 inicia um procedimento conhecido como valida o Nesta etapa temos que verificar se os campos do formul rio foram preenchidos de acordo com o tipo de dados esperado Ist
78. o precisamos verificar se no campo valor por exemplo foram digitados apenas n meros e n o letras Esta etapa bastante importante porque protege a base de dados de eventuais problemas e c digos maliciosos N o podemos construir aplica es para web sem que exista esse cuidado com os dados que o usu rio est digitando Em nosso formul rio apenas dois campos nome e valor possuem uma entrada n o controlada Dessa forma precisamos realizar valida o visto que n o dar para ter certeza que a informa o ser sempre digitada no sistema de forma correta Os demais campos possuem entrada controlada ou seja o usu rio escolhe o seu valor dentre algumas op es Como n o existe a possibilidade de digita o a entrada dessa informa o sempre estar com sua defini o correta de tipo A fun o empty O empregada na linha 15 verifica se um determinado campo n o est vazio Como em nosso formul rio de cadastro os campos nome e valor s o de preenchimento obrigat rio ent o eles n o podem estar vazios Observe que para o campo descri o esta verifica o n o efetuada pois trata se de uma informa o opcional Os demais campos n o precisam passar por este procedimento devido ao fato de seus valores partirem de uma escolha do usu rio e portanto sempre vai haver um valor de tipo conhecido Se tudo ocorrer bem durante a execu o da linha 15 a hora de verificar se o valor foi digitado corretamente Um erro comu
79. o certo portanto deve ser alocado como receitas vari veis Em rela o s despesas vamos supor que a empresa teve os seguintes gastos no m s de outubro 1 R 800 00 do aluguel de seu escrit rio 2 R 300 00 do pagamento de condom nio 4 947 00 com pagamento dos funcion rios de seu quadro efetivo 592 00 da conta de energia el trica R R R 5 R 118 00 da conta de gua R 437 00 da conta de telefone e internet R 278 00 com combust vel de seus ve culos operacionais R 8 R 127 00 de manuten o de ve culo 9 R 299 00 com toner da impressora Entre essas despesas podemos classificar as sete primeiras como despesas fixas pois independente do m s elas ir o sempre ocorrer Obviamente o valor dessas contas pode mudar mas mensalmente algum dinheiro ser destinado a elas As duas ltimas seriam despesas vari veis visto que n o todo m s que o ve culo necessita de manuten o ou que preciso comprar novo toner para a impressora De forma simplificada no m s de outubro esta empresa recebeu R 10 800 00 contratos loca o da casa de praia e teve despesas de R 7 898 00 somat rio das despesas fixas e despesas vari veis Fazendo a diferen a entre o total de receitas e o total de despesas podemos obter o saldo final do m s SALDO RECEITAS DESPESAS SALDO R 10 800 00 R 7 898 00 SALDO R 2 902 00 Portanto neste m s esta empresa conseguiu pagar todas as suas contas e ainda s
80. o Entretanto a medida que a quantidade de p ginas e a complexidade aumentam ferramentas mais adequadas podem ser utilizadas para criar as p ginas HTML de um site e facilitar o trabalho do desenvolvedor web Alguns exemplos de editores HTML livres s o o Bluefish e o NVu Do lado dos propriet rios temos o Dreamweaver Cold Fusion e tamb m o Visual Studio Qualquer destas ferramentas atende as necessidades do que ser abordado neste material entretanto as ferramentas livres s o prefer veis devido a facilidade de acesso 1 3 Atributos As tags s o complementadas atrav s de atributos que s o formados de pares de nome de tag e valor atribu do Seguem a seguinte sintaxe nome valor Eles s o utilizados sempre na tag inicial e nunca no fechamento Vejamos lt a href http www google com br gt Buscador lt a gt O atributo href indica o endere o do hiperlink O texto entre as tags a parte exibida para o usu rio no caso Buscador Cada tag possui atributos espec ficos Para uma refer ncia detalhada sobre os atributos pode se consultar a descri o completa de cada um deles no endere o da A tag lt font gt utilizada para alterar par metros relacionados exibi o de fontes no navegador Entretanto o uso desta tag n o mais recomendado no HTML 4 e foi totalmente removida no HTML 5 Atualmente a recomenda o formatar as fontes atrav s de folhas de estilo CSS Cascading Style Sheets Assim mesmo ainda
81. o o PostgreSQL e o MySQL atendem perfeitamente s necessidades 3 4 1 Criando tabelas Antes de qualquer a o ser realizada necess rio criar uma base de dados e nesta base de dados criar as tabelas Cada campo de uma tabela deve receber um atributo informando o tipo de dado que ser armazenado Considerando o MySQL como gerenciador de banco de dados existem v rios tipos de dados dispon veis Na tabela 3 2 s o mostrados alguns deles Para uma lista completa dos tipos de dados basta consultar o manual do usu rio Tabela 3 2 Alguns tipos de dados dispon veis no MySQL Tipo Descri o TINYINT Inteiros de 1 byte SMALLINT Inteiros de 2 bytes MEDIUMINT Inteiros de 3 bytes INT Inteiros de 4 bytes VARCHAR Texto de at 256 caracteres DATE Datas em formatos diversos FLOAT N meros em ponto flutuante de at de 4 bytes 3 4 2 Tabela exemplo A tabela 3 3 mostra uma amostra dos campos que a tabela de exemplo contatos deve possuir para armazenamento das informa es Observe que deve haver uma rela o entre os campos que s o necess rios tabela 3 3 e os tipos de dados dispon veis tabela 3 2 Tabela 3 3 Tipos de dados usados na tabela contatos Nome do Campo Tipo Tamanho Descri o id INT 6 Identificador nico para cada registro nome VARCHAR 15 Nome do contato fone VARCHAR 10 Telefone email VARCHAR 25 Email nascimento DATE Data de aniversario OV o 40 UU A OW N H
82. o banco para evitar a repeti o de c digos e a manuten o do sistema Esse include ser nomeado como conectar banco inc e ser chamado por todas as p ginas que precisem acessar o banco de dados Como o nosso objetivo neste estudo de caso apresentar uma aplica o constru da a partir dos conhecimentos abordados neste material o acesso ser realizado por meio da comando mysql connect referente ao SGBD que estamos utilizando Se voc n o quiser empregar comandos dependentes da base de dados voc pode fazer uso de classes de abstra o para ter mais flexibilidade Dessa forma poss vel mudar o SGBD do sistema com o m nimo de modifica es no arquivo fonte Um exemplo de biblioteca para implementa o desse procedimento pode ser consultada em http pear php net db Figura 4 5 conecta mysql sql lt php configuracoes do banco de dados Sseryidor localhost usuario bd Wana senha bd 123456 banco exemplo ntwi con mysql connect servidor S usuario bd senha bd mysql select db banco IILE gt As vari veis servidor usuario_bd senha_bd e banco devem ser alteradas de acordo com as configura es do seu servidor de dados 4 4 Autentica o do usu rio com sess es No cap tulo 3 deste documento aprendemos a construir controles de autentica o utilizando cookies Nesta se o vamos empregar uma nova abordagem por meio da utiliza o de sess es Como vimos na
83. o de receitas b Formul rio para cadastro de despesas ana E ene PET TERN A x hne iocanost aposta receitas despesas ghg74 3 c EN cosi DOES am sohan 2 gt e CIT 0 ma Sistema de Controle de Finan as Empresarial Sistema de Controle de Finan as Empresarial Formul rio para cadastro de receita Obrigat rio Formul rio para cadastro de despesa Obrigat rio Nome Classes Ms de refer ncias Nelore RS O campo do navegador referente a URL apresenta ap s o car cter a atribui o t 1 ou t 2 para os casos de cadastro de receita e despesa respectivamente Como essa informa o est sendo transmitida diretamente na URL qual dos m todos est sendo utilizado GET ou POST Se voc n o souber favor estude novamente a aula 2 Vamos relembrar Quando a informa o est dispon vel para o servidor por meio da URL utiliza se o m todo GET Logo para que as p ginas exibidas na figura sejam confeccionadas essa informa o tem que ser obtida Vamos portanto analisar a figura 4 11 que apresenta o c digo respons vel pela montagem dessas telas Figura 4 11 receitas despesas php lt php include valida sessao inc Aine lude conecta mysqgl inc nome usuario SESSION nome usuario resultado mysql query SELECT id FROM usuarios WHERE lLogin nome usuario id mysql result resultado O id mysqgl close con dE S GERIR switch
84. o op cional Os campos sexo estado civil perfil e cad usuario s o modelados como inteiro quando apa rentemente deveriam ser do tipo string Isso acontece porque em algumas ocasi es mais pr tico armazenar n meros correspondentes que a pr pria string No caso do sexo estado civil e perfil ve remos nas se es seguintes como definir n meros para identificar a op o do usu rio J para o 42 AULA 4 ESTUDO DE CASO CONTROLE DE FINAN AS EMPRESARIAL Figura 4 2 Tabela de usu rios usuarios id int elogin varchar 30 Palavra de acesso ao acesso esenha varchar 70 enome varchar 50 Nome completo do usu rio esexo int 1 1 Feminino 2 Masculino oidentidade varchar 20 ecpf varchar 11 enascimento date sestado civil int 1 1 Solteiro 2 Casado 3 Separado 4 Divorciado 5 Vi vo 6 Uni o Est vel efuncao empresa varchar 40 eemail varchar 50 etelefone varchar 8 eperfil int 1 1 Padr o 2 Administrador ecad usuario int pode se considerar neste campo o id do usu rio que cadastrou ecad datahora datetime campo cad usuario vamos gravar o id do usu rio que cadastrou Caso seja necess rio recuperar essa informa o basta fazer uma consulta na tabela de usu rios filtrando pelo n mero de id Tendo como base o mesmo racioc nio empregado para a constru o da tabela de usu rios vamos apresentar a outra tabela necess ria ao nosso sistema Figura 4 3 Tabela de r
85. obre cada um dos tipos 38 4 1 DETERMINANDO OS OBJETIVOS DA APLICA O RECEITAS FIXAS aquele dinheiro que a empresa recebe todos os meses Exemplos direitos autorais contratos de presta o de servi os alugu is caso sua empresa tenha algum bem e esteja alugando o dentre outros RECEITAS VARI VEIS aquele dinheiro que n o se recebe todos os meses Exemplos servi os prestados eventualmente premia es venda de produtos dentre outros DESPESAS FIXAS S o aquelas que a empresa tem que pagar todos os meses Exemplos gua luz telefone funcion rios do quadro efetivo dentre outros DESPESAS VARI VEIS S o aquelas que n o s o pagas todos os meses Exemplos manu ten o de ve culos reformas no pr dio consertos de equipamentos pagamento de funcion rios tempor rios dentre outros Para melhor contextualizar estes termos vamos imaginar que uma empresa de alugu is de im veis possui sua fonte de renda fixa oriunda de contratos de loca o de 20 casas no valor de R 500 00 Isso significa que mensalmente a empresa tem garantido o recebimento de R 10 000 00 No entanto em um m s espec fico a empresa alugou uma de suas casas de praia para um grupo de jovens durante o final de semana e como consequ ncia recebeu R 800 00 a mais Podemos classificar o capital derivado dos contratos como receitas fixas pois todos os meses este dinheiro recebido No entanto o valor referente a casa de praia n
86. obrou R 2 902 00 Este saldo corresponde a aproximadamente 26 do total de receitas obtidas no m s de AULA 4 ESTUDO DE CASO CONTROLE DE FINAN AS EMPRESARIAL outubro Se este procedimento for realizado em todos os meses poss vel construir gr ficos que permitam ao administrador observar os per odos do ano nos quais a empresa tem maior lucratividade ou que sofre preju zos Um exemplo de gr fico interessante seria apresentar o saldo em termos de porcentagens para cada m s Para calcular esta informa o podemos utilizar a seguinte express o RECEITAS DESPESAS RECEITAS Para criarmos uma aplica o em PHP que realize esse controle de finan as primeiramente pre cisamos criar uma base de dados para armazenar as receitas e as despesas Na se o vamos descrever os procedimentos necess rios para realizar essa atividade SALDO 100 4 1 4 2 Criando a base de dados Como j sabemos a base de dados respons vel pelo armazenamento das informa es Quando o usu rio do sistema cadastrar uma despesa ou receita estes dados ter o que ser organizados de forma que seja poss vel recuperar a informa o Antigamente era comum realizarmos esse procedimento por meio de formul rios de papel preenchendo campos com diversas informa es Com isso sempre que estiv ssemos buscando algo sobre algum assunto recorr amos ao devido formul rio e recuper vamos a informa o Quando n o encontr vamos a informa
87. os os conceitos iniciais e exemplos b sicos para utiliza o da linguagem PHP Na se o 2 1 mostrado que o PHP mais um acr nimo para compor o dicion rio dos pro gramadores e desenvolvedores web Na se o demonstrada como acontece a intera o entre os elementos navegador servidor web e PHP envolvidos J na se o 2 3 s o apresentados os primei ros comandos da linguagem e exemplos de uso Os tipos de dados dispon veis na linguagem e os operadores s o apresentados nas se es e O uso de formul rios introduzido na se o bem como os principais m todos HTTP utilizados e sua recomenda o de uso Diversos exemplos 24 AULA 2 COME ANDO EM PHP de compara o de vari veis e controle de fluxo s o mostrados nas se es 2 7 e respectivamente Finalmente o uso de fun es demonstrado na se o 2 11 EXERCICIOS 25 2 11 Exerc cios y O a A O Ne o o N oU A NH f rmula para calcular a rea de uma circunfer ncia A m r Qual o m todo HTTP recomendado para utiliza o em aplica es web Justifique Execute os c digos mostrados no cap tulo Releia as explica es dadas e tente entender o funcionamento dos scripts Escreva um formul rio que contenha dois campos Nota 1 e Nota 2 Acrescente um bot o de envio Aponte o formulu rio para enviar os dados para media php mostrado a seguir Execute o script e observe seu funcionamento Figura 2 21 media php
88. s o apresentadas na se o E na se o s o apresentadas as tags associadas com formul rios juntamente com exemplos 1 7 EXERCICIOS 9 1 7 5 H o N Exerc cios Utilizando uma das ferramentas indicadas na se o crie uma p gina web pessoal eu html contendo alguns de seus dados pessoais como nome cidade onde nasceu data de nascimento e informa es similares Utilize tags lt p gt para inserir um ou mais par grafos com essas infor ma es No exerc cio do tem anterior acrescente uma foto sua ao arquivo Ainda com rela o ao exerc cio 1 acrescente no final do arquivo links para tr s sites externos com um texto em destaque Links Recomendados Ao final dos exerc cios anteriores sua p gina deve ter uma apar ncia semelhante a figura 1 1 Figura 1 1 Screenshot de uma p gina em HTML File Edit View History Bookmarks Tools Help 7 G ta O file imedia DATA academico cet Mv Googe Machado de Assis Machado de Assis Joaquim Maria Machado de Assis nascido no Rio de Janeiro em 21 de Junho de 1839 Considerado o grande nome da literatura nacional Nascido no morro do Livramento no Rio de Janeiro de fam lia pobre estudou em escolas p blicas e nunca frequentou a universidade Links Recomendados Academia Brasileira de Letras Obra Completa MEC Obras Dispon veis Dom nio P blico Done Crie um arquivo html tabela html que contenha as informa es mostradas na
89. spesas lt a gt lt br gt lt br gt lt b gt Visualizar lt b gt lt br gt 6 Saldos Mensais lt a href saldosMensaisPlan php gt Planilha lt a gt 7 lt br gt 48 lt b gt Excluir lt b gt lt br gt 9 lt a href excluirReceitasDespesas php gt Receitas e Despesas lt a gt lt br gt lt br gt 50 lt php a 4 51 if perfil usuario 2 gt 52 lt b gt Administrao lt b gt lt br gt 53 lt a href addUsuarios php gt Adicionar usurios lt a gt lt br gt 54 lt a href delUsuarios php gt Excluir usurios lt a gt lt br gt lt br gt 55 lt php gt 56 lt center gt 57 lt form gt 58 lt body gt 59 lt html gt Analisando as linhas 50 a 55 podemos observar o c digo PHP necess rio para habilitar as op es de gerencimento de usu rios Na estrutura relacional constru da se o perfil do usu rio for igual a 2 n mero referente ao perfil administrador os links para cadastramento e remo o de usu rios s o exibidos Notamos ainda que n o necess rio a constru o de dois documentos para sistemas com esta funcionalidade Nossa p gina principal a mesma para os dois perfis apenas seleciona op es de acordo com o usu rio 4 6 Cadastro de Receitas e Despesas A figura 4 7 apresenta os formul rios necess rios para cadastrar receitas e despesas em nosso sistema Ao clicar em receitas na p gina principal a linha 43 do c digo exibido
90. t table gt lt br gt Variaveis lt hr width 700px gt lt table width 700px border 0px gt lt php while linha mysql_fetch_array resDesVar MYSQL_ASSOC echo lt tr gt echo lt td align center width 33 gt linha nome lt td gt echo lt td align center width 33 gt linha datahora lt t echo lt td align center width 33 gt linha valor lt td gt echo lt tr gt Incrementar o valor total desVarTotal desVarTotal linhal valor gt lt tr gt lt td width 334 gt lt td gt lt td align right width 334 gt lt b gt Total lt b gt lt t lt tr gt lt table gt lt br gt lt b gt SALDO lt b gt lt hr width 700px gt lt table width 700px border 0px gt lt tr gt lt td width 50h4 gt Receitas lt td gt lt td align rtight lt tr gt lt tr gt lt td width 50 gt Despesas lt td gt lt td align right lt tr gt lt tr gt lt td width 50 gt Saldo lt td gt lt td align right width 504 gt lt b gt lt php echo recFixT lt tr gt lt tr gt lt td gt lt input type button lt td gt lt td gt lt td gt lt tr gt lt table gt lt php gt gt lt center gt lt form gt lt body gt lt html gt width 50 4 gt lt php echo width 50 gt lt php echo recFixTotal recVartTo desFixTotal desVarTo otal recVarTotal desFixTotal onClick location href principal p
91. t Links Recomendados lt h3 gt lt a href www machadodeassis org br gt Academia Brasileira de Letras lt a gt lt br gt lt a href nttp machado mec gov br gt Obra Completa MEC lt a gt lt br gt lt td gt lt tr gt lt table gt lt body gt lt html gt Modifique o c digo mostrada na figura 1 7 para que a imagem seja exibida no lado direito ao inv s do lado esquerdo Pesquise na internet como modificar a cor de fundo de uma tabela e aplique nesta p gina Crie uma p gina para o cadastramento form html de um usu rio na intranet de uma empresa O formul rio deve conter os campos nome completo setor compras vendas ou financeiro nome do usu rio e senha Dada a tag lt body gt mostrada abaixo pesquise para que servem os atributos BGCOLOR TEXT LINK ALINK e VLINK Aplique os na p gina do exerc cio lt body bgcolor frrggbb text trrggbb link frrggbb alink frrggbb VLINK trrggbb gt Diferencie os termos p ginas est ticas e p ginas din micas relacionados a constru o de sites em geral Aula 2 Come ando em PHP Estamos irrevogavelmente em um caminho que nos levar s estrelas A n o ser que por uma monstruosa capitula o ao ego smo e estupidez acabemos nos destruindo Carl Sagan Objetivos e Conhecer a din mica de funcionamento do PHP e Conhecer os comandos b sicos da linguagem e Conhecer os tipos de dados operadores e fun es utilizadas 2
92. t validade string caminho string dom nio int seguro Para definir um cookie necess rio atribuir um valor Caso contr rio o cookie exclu do Assim a defini o de um cookie feita da seguinte forma setcookie nome Ana Enquanto a exclus o deve ser realizada assim setcookie nome 3 2 COOKIES 29 Para criar um cookie v lido por dois dias com o aux lio da fun o time setcookie nome Ana time 172800 O valor de 172800 equivalente a quantidade de segundos em 48 horas Acrescentadando esse valor ao tempo atual retornado por time temos a validade do cookie definida para o per odo de 2 dias Um detalhe importante quando se est utilizando cookies que seu envio deve ocorrer antes que qualquer tag HTML Caso o cookie seja enviado ap s as tags uma mensagem de erro exibida informando que a fun o setcookie foi chamada ap s o envio dos cabe calhos Assim o valor n o armazenado nem o cookie criado 3 2 2 Mais um superglobal A fun o setcookie realiza a tarefa de enviar um cookie para o computador do usu rio Agora preciso saber como utilizar os valores armazenados importante lembrar que os cookies n o poder o ser utilizados na mesma p gina que os criou Apenas na pr xima requisi o que ser poss vel utiliz los A maneira recomendada de acessar os cookies atrav s do array superglobal COOKIE junta mente com a chave associativa d
93. ta Nome Data e Hora de Cadastro Valor R Pao s Conto Aluguel de Apartamento aiani Valor R Contrato Presta o de Servi o 200 Prod 001 Clientes Contrato Presta o de Servi o 2011 11 29 01 02 04 812335 SALDO 2011 11 29 01 03 41 120108 Prod 002 Clientes Total 20657 19 Dep Vari veis Loca o de Im vel A 2011 11 29 01 14 45 1200 CIC 25057 19 16201 8856 19 Figura 4 13 saldosMensaisPlan php 1 lt php include valida_sessao inc include conecta mysql inc 2 3 4 nome usuario SESSION nome usuario 5 6 id usuario SESSION id usuario mes GET mes 7 meses 8 Agosto Setembro Outubro Novembro Dezembro 9 resRecVar mysql query SELECT FROM receitas despesas 10 WHERE classe 1 and mes referencia Gmes and tipo 1 and usuario id usuario resDesVar mysql query SELECT FROM receitas despesas WHERE classe 1 and mes referencia mes and tipo 2 and usuario id usuario resRecFix mysql query SELECT FROM receitas despesas 16 WHERE classe 2 and tipo 1 and usuario id usuario 17 resDesFix mysql query SELECT FROM receitas despesas WHERE classe 2 and tipo 2 and usuario id usuario Valores Totais Receitas e Despesas 11 12 13 14 15 18 20 recVarTotal 0 recFixTotal 0 desVarTotal 0 desFixTotal 2 mysql close con 22 7 gt 23 lt html gt 24 lt head gt lt title gt Controle de Finan
94. tc da informa o e devolva uma resposta ao cliente Na figura o valor de action html form action php indica que este script em linguagem PHP realizar o processamento do formul rio Tamb m foi acrescentado o bot o submit para enviar os dados do formul rio para o arquivo indicado em action para processamento Figura 1 6 Formul rio com bot o de envio e action 1 lt form name pesquisa action html form action php method get gt 2 Primeiro Nome lt input type text name firstname gt lt br gt VS o 410 Uu R w 10 8 AULA 1 INTRODU O AO HTML Sobrenome lt input type text name lastname gt lt input type radio name sex value masculino gt Masculino lt br gt lt input type radio name sex value feminino gt Feminino lt br gt Meios de Transporte que Utiliza lt br gt lt input type checkbox name vehicle value Bicicleta gt Bicicleta lt br gt lt input type checkbox name vehicle value Carro gt Carro lt br gt lt input type submit value Enviar gt lt form gt 1 6 Resumo Na se o 1 1 foi apresentado o conceito de p gina web e seus principais usos Na se o foram apresentadas as principais ferramentas que podem ser utilizadas pelo webdesigner para desenvolver suas p ginas J na se o s o apresentados as principais tags juntamente com seus respectivos atributos e tamb m uma refer ncia completa no site da W3 Schools As tags mais utilizadas em qualquer p gina
95. tilizar imagens como hyperlinks basta substituir o texto do link entre as tags por uma tag lt img gt Assim a imagem aparecer no navegador como link ao inv s de texto As tabelas s o definidas com a tag lt table gt Cada tabela possui linhas lt tr gt e c lulas lt td gt O conte do da tabela fica dentro das c lulas Pode conter texto links imagens listas ou at mesmo outras tabelas A figura 1 4 exemplifica o uso destas tags Figura 1 4 Exemplo de tabela lt table border 1 gt lt tr gt lt td gt linha 1 celula 1 lt td gt lt td gt linha 1 celula 2 lt td gt lt tr gt lt tr gt lt td gt linha 2 celula 1i lt td gt lt td gt linha 2 celula 2 lt td gt lt tr gt lt table gt o 400 JU OO HH 1 5 Formul rios Formul rios s o utilizados para passar informa es de uma p gina a outra ou do usu rio para o servidor por exemplo Um formul rio deve conter elementos de entrada de dados como caixas de texto checkbox bot es de envio listas de sele o e outros elementos dispon veis Para criar um formul rio utiliza se a tag lt form gt que possui diversos atributos como action e name Para acrescentar elementos ao formul rio basta acrescentar uma tag lt input gt entre as tags lt form gt segundo o exemplo a seguir Figura 1 5 Exemplo de formul rio com v rios elementos H lt form name pesquisa gt 2 Primeiro Nome lt input type text name first
96. u o Ter registrado na base o momento exato que os registros s o gravados importante para uma boa organiza o dos dados e principalmente em quest es de seguran a pois pode oferecer pistas valiosas em caso de grava es n o autorizadas A linha 30 tem a miss o de formatar o n mero recebido para duas casas decimais Mas isso j n o foi feito na linha 18 com a fun o substr count 0 A resposta n o Por meio da fun o substr count poss vel validar se o valor de entrada tem um ponto no entanto se o usu rio digitar 123 456 tr s casas decimais o uso apenas dessa fun o n o suficiente A fun o number format 4 7 VISUALIZA O DOS DADOS como exposto na linha 30 for a o n mero a ter duas casas decimais para poder ser escrito de forma padronizada no banco de dados Lembre se que padronizar al m de tornar seu c digo mais elegante facilita a tarefa posterior de manuten o Ap s todas essas verifica es quanto aos dados fornecidos pelo usu rio podemos finalmente mon tar a query SQL para grava o das informa es Se essas quest es tiverem sido corretamente imple mentadas vamos eliminar muitos dos problemas que poder amos ter com dados fora do padr o na base de dados Mas se mesmo com tudo isso algo passar a fun o die que comp e a instru o da linha 34 leva a um erro fatal de escrita e comunica a mensagem passada como par metro para o usu rio Se esta fun o n o for emprega
97. uso de formul rios e dos arrays GET e _POST tamb m conhecidos como arrays superglobais Por m o uso dos valores contidos nesses arrays existe apenas para o script no qual os dados foram diretamente repassados E na maioria das vezes os valores das vari veis devem permanecer existindo durante a execu o de v rios scripts o caso de aplica es acess veis apenas a certos usu rios ou seja que necessitam de autentica o por exemplo Os cookies podem ser utilizados para esta tarefa tamb m conhecida como de persist ncia dos dados O PHP oferece ainda o recurso de sess es que uma alternativa mais moderna do que os cookies Quando se acessa uma p gina web a comunica o entre o navegador e o servidor web feita atrav s do protocolo HTTP Hypertext Transfer Protocol A quest o que o HTTP n o arma zena informa es de estado ou seja os dados enviados para atender uma requisi o do cliente n o s o mantidos quando uma nova requisi o feita inviabilizando o armazenamento de informa es enviadas anteriormente Por exemplo se dois usu rios acessam a p gina teste html n o poss vel para o servidor deter minar qual dos usu rios realizou o acesso As requisi es s o tratadas independentemente Sim plesmente o Apache atende as duas requisi es Assim mecanismos como cookies e sess es s o fundamentais para o desenvolvimento de aplica es como com rcio eletr nico exibi o de an ncios e personal
98. usuarios WHERE username nome usuario if mysql num rows resultado 1 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 o N 32 AULA 3 APROFUNDANDO EM PHP if senha usuario mysql result resultado 0 senha 1 setcookie nome usuario setcookie senha usuario echo Voce nao efetuou o LOGIN Exite gt else T setcookie nome usuario setcookie senha usuario echo Voce nao efetuou o LOGIN exit gt f else echo Voce nao efetuou o LOGIN exit mysql close con gt Observe que nas primeiras linhas da listagem 8 5 a fun o isset testa a exist ncia dos cookies antes de obter seus valores Assim evita se a exibi o de mensagens de erro ao tentar acessar elementos que n o existem Caso seja verificado a inexist ncia dos cookies uma mensagem de erro exibida linha 31 e o script finalizado Se o nome do usu rio ou senha n o forem vazios linha 7 realizada uma busca no banco de dados pelo usu rio especificado e em seguida a senha comparada Se a senha estiver errada os cookies s o destru dos Caso contr rio a conex o encerrada e a p gina est validada Logout O ltimo passo consiste em construir um script para logout que importante que exista para evitar que quando o usu rio continua navegando por outros sites mas n o mais necessite utilizar o site que estava logado O que fundament
Download Pdf Manuals
Related Search
Sum summit racing equipment summer i turned pretty sumatriptan summertime saga summer solstice 2025 sumif formula summit sumatra pdf summer hearts summer fridays summarizer summit racing summer walker summa cum laude summer solstice summer camp summer entertainment sumtotal summer coloring pages sum 41 summer school summit health summerfest 2025 summit one vanderbilt summit credit union
Related Contents
Intronics VGA + Audio Selector Inventum HN131MW Electric Blanket manual_brava 1_ 14,5 x 21cm_4 Kenwood - R-5000 User Manual Canon PIXMA iP1700 Quick Start Manual SKIL F 012 550 000 User's Manual SnakeEye™II Manual READ AND SAVE THESE INSTRUCTIONS Manual de Usuario para captura del Pronóstico de Ingresos Copyright © All rights reserved.
Failed to retrieve file