INTERNET E PROGRAMAÇÃO WEB Curso de Programação comercial para Web com ênfase em PHP, HTML, JAVASCRIPT, Sistema FILE-SERVER e DATABASE-SERVER(Banco de Dados MySQL). ________________________________________________ Prof. Roni Márcio Fais - www.rmfais.com SUMÁRIO • • • • • • • • • • • • • • • • • • • • Breve Histórico da Internet Breve Histórico das Linguagens HTML e JAVASCRIPT; Breve Histórico Sobre a Linguagem SQL; Breve Histórico do Servidor Apache, Linguagem PHP e Banco de Dados Mysql; Princípios Básicos de Programação; Instalação do Servidor Apache e Plataforma de Desenvolvimento em PHP; Principais Comandos da Linguagem HTML para Criação de Formulários de Dados; Validação de Campos com JAVASCRIPT; Validação de Campos com PHP; Integração entre PHP, JAVASCRIPT, HTML e Arquivo Texto; Desenvolvendo um Sistema que Armazena Dados em Arquivos Texto; Pesquisa de Dados em Arquivos texto com Funções PHP; Leitura de Arquivo Texto e Emissão de Relatórios com Script PHP; Criação de Tabela de Dados com Mysql; Integração entre PHP, JAVASCRIPT, HTML e Mysql ; Noções Básicas de SQL; Desenvolvendo um Sistema que Armazena Dados em Tabelas de um Banco de Dados MySQL; Pesquisa de Dados em Tabelas MySQL com Funções/procedimentos PHP; Leitura de Tabela de Dados e Emissão de Relatórios com Script PHP e Comandos SQL; Conclusão. BREVE HISTÓRICO DA INTERNET Sua arquitetura de funcionamento foi desenvolvida na década de 60 nos USA, em tempos de Guerra Fria com a URSS. O objetivo era o de se criar uma rede descentralizada de computadores que evitasse a destruição do sistema de informação dos USA no caso de um ataque nuclear. Com isso, o departamento de defesa dos USA promoveu a criação da ARPANET, rede precursora do que viria ser a Internet com o fim da Guerra Fria no final da década de 80. BREVE HISTÓRICO DAS LINGUAGENS CLIENT-SIDE HTML E JAVASCRIPT A HTML (linguagem de marcação de hyper texto) foi criada no início da década de 90 no CERN (European Council for Nuclear Research), na Suíça, juntamente com o pacote WWW (World Wide Web - Rede de Alcance Mundial) pelo inglês Tim Berners-Lee. Inicialmente interligava micros locais facilitando a pesquisa de documentos científicos por meio do protocolo de rede HTTP (protocolo de transferência de hyper texto). A liberação da biblioteca de desenvolvimento WWW levou a um rápido desenvolvimento de vários Bowsers e SERVIDORES WEB de documentos HTML. Por se tratar de uma linguagem estática, sem interatividade com os usuários, utilizada apenas para exibir informações, em 1995, na Netscap, foi criada a linguagem JavaScript, objetivando um HTML mais dinâmico. Em 1997, a Netscap e a Microsoft lançam no mercado o conceito DHTML(linguagem de marcação de hyper texto dinâmica), reunindo em seus Browsers a capacidade de interpretar HTML enriquecidos com código JavaScript, o que possibilitava maior interatividade entre usuários da web e páginas acessadas. BREVE HISTÓRICO DA LINGUAGEM SQL A SQL (Structured Query Language), linguagem de consulta estruturada foi desenvolvida na década de 70 pela IBM nos USA, um projeto tão bem elaborado e imitado que por convenção acabou se tornando um padrão mundial, constituindo-se base de processamento em todos os bancos de dados relacionais existentes no mercado. O domínio sobre SQL faz com que o profissional de informática seja capaz de manipular diferentes bancos de dados, fazendo consultas, criando tabelas ou alterando estruturas. BREVE HISTÓRICO DO SERVIDOR APACHE, LINGUAGEM SERVER-SIDE PHP E BANCO DE DADOS MYSQL Para que uma página ou aplicação web possa ser acessada, existe instalado em algum micro computador um servidor web, um software que torna possível o acesso aos conteúdos que lá estão por meio de diferentes navegadores de Internet. O mais bem sucedido e utilizado no mundo todo é o APACHE, criado em 1995 no National Center for Supercomputing Applications – USA, mantido pela Apache Software Foundation. Existem versões disponíveis para vários sistemas operacionais, sendo o seu uso FREEWARE. O seu nome é uma homenagem a tribo de nativos Apache, pois em combate eram resistentes e estratégicos, o que seria uma alusão a estabilidade do servidor. O Apache conta com o Banco de Dados FREEWARE MySQL, desenvolvido na Suécia, lançado no mercado em 1996, um dos mais populares do mercado mundial, vendido em fevereiro de 2008 para gigante estadunidense Sun Microsystems por um bilhão de dólares. O MySQL é de fácil integração com a linguagem PHP(Personal Home Page), criada em 1994 nos USA por Rasmus Lerdorf com o objetivo de tornar suas páginas de Internet mais dinâmicas. O conjunto Apache + PHP + MySQL, tem se mostrado nos últimos anos uma ferramenta comercial gratuita imbatível utilizada em larga escala por pequenas, médias e grandes empresas. PRINCÍPIOS BÁSICOS DE PROGRAMAÇÃO Em qualquer linguagem de programação, dominar a arte de programar implica basicamente em conhecer : PLATAFORMA DE DESENVOLVIMENTO/EXECUÇÃO DE PROGRAMAS COMANDOS DE ENTRADA COMANDOS DE PROCESSAMENTO COMANDOS DE ARMAZENAMENTO COMANDOS DE SAÍDA INSTALAÇÃO/CONFIGURAÇÃO DE SERVIDOR APACHE – PASSO 01 Faça download do servidor Apache distribuição xampp utilizando o link abaixo http://www.rmfais.com/apache.zip Após feito download, descompacte o arquivo e clique no programa installer_xampp. Quando aparecer as telas abaixo clique em ok. INSTALAÇÃO/CONFIGURAÇÃO DE SERVIDOR APACHE – PASSO 02 CLIQUE EM AVANÇAR INSTALAÇÃO/CONFIGURAÇÃO DE SERVIDOR APACHE – PASSO 03 Na próxima tela, aparecerá automaticamente a pasta destino onde o XAMPP será instalado, basta clicar em instalar INSTALAÇÃO/CONFIGURAÇÃO DE SERVIDOR APACHE – PASSO 04 Aguarde o andamento do processo de instalação INSTALAÇÃO/CONFIGURAÇÃO DE SERVIDOR APACHE – PASSO 05 Clique em terminar INSTALAÇÃO/CONFIGURAÇÃO DE SERVIDOR APACHE – PASSO 06 Uma série de perguntas semelhante as que aparecem abaixo serão iniciadas, clique no botão sim em todas para garantir que seja feita uma instalação completa do xampp. INSTALAÇÃO/CONFIGURAÇÃO DE SERVIDOR APACHE – PASSO 07 Certifique-se de que na tela abaixo esteja aparecendo a descrição runing na frente da palavra Apache, se não estiver clique em Start. Para usar o PHP-GENERATOR não é necessário o recurso FileZilla, se desejar pode clicar no botão Stop na frente desse recurso caso ele esteja habilitado(runing). Feito isso você já pode fechar a tela abaixo. INSTALAÇÃO/CONFIGURAÇÃO DE SERVIDOR APACHE – PASSO 08 Se aparecer uma de “Alerta de segurança do Windows” clique em Desbloquear INSTALAÇÃO/CONFIGURAÇÃO DE SERVIDOR APACHE – PASSO 09 Testando a instalação Para verificar se o servidor está funcionando, abra o seu navegador e digite http://localhost e pressione ENTER. Será exibida a tela abaixo indicando que o servidor Apache está instalado. INSTALAÇÃO/UTILIZAÇÃO DO PHP-GENERATOR – PASSO 01 Instalando o PHP-GENERATOR (plataforma de desenvolvimento de programas em PHP) no servidor Apache Faça download do PHP-GENERADOR utilizando o link abaixo http://www.rmfais.com/rmfais/sistemas/phpgenerator.zip Descompacte e copie a pasta phpgenerator para dentro da pasta “c:\arquivos de programas\xampp\htdocs.” INSTALAÇÃO/UTILIZAÇÃO DO PHP-GENERATOR – PASSO 02 Utilizando o PHP-GENERATOR no Apache Para acessar o phpgenerator, simplesmente informe no seu navegador o endereço: http://localhost/phpgenerator A tela abaixo será exibida em seu navegador contendo as instruções necessárias para desenvolvimento de programas de cadastros. INSTALAÇÃO/UTILIZAÇÃO DO PHP-GENERATOR – PASSO 03 Os seus programas desenvolvidos pelo PHP-GENERATOR poderão ser acessados no micro onde eles se encontram pelo navegador de Internet através do endereço: http://localhost/nome_do_projeto ou por computadores da rede local pelo endereço: http://ip_de_rede_do_micro_onde_se_encontra/nome_do_projeto ou remotamente pela Internet pelo endereço: http://ip_de_internet_do_micro_onde_ele_se_encontra/nome_do_projeto Portanto, para que um mesmo programa php seja utilizado em rede de computadores não é necessário que seja instalado o servidor nem o programa em todos os micros desse rede, apenas em um, os demais micros irão compartilha-lo usando o navegador de Internet por meio do ip de rede do micro onde o servidor foi instalado. CRIAÇÃO DE FORMULÁRIOS DE DADOS PASSO 01 Para, de dentro da plataforma PHP-GENERATOR, criar um programa de cadastro que seja útil em alguma empresa, instituição ou website basta dar um nome ao projeto de dados, abrir o arquivo campos e utilizar as 7 linhas de comandos abaixo como base para desenvolvimento deste programa: •<?// PROGRAMA QUE CRIA OS CAMPOS DE UM FORMULARIO DE DADOS • if(!$CADASTRO) echo"<script>location.replace('cadastro.php');</script>"; • echo"<h2><b><center>CADASTRO DE TELEFONES</center></b><hr></h2>"; •/************************************ CAMPOS DO FORMULARIO *******************************/ • echo"<br>Nome....:<input name=nome value='$campo[0]' size=50 maxlength=50 onBlur='value=value.toUpperCase();'></input>"; • echo"<br>Telefone:<input name=fone value='$campo[1]' size=15 maxlength=15></input>"; •?> CRIAÇÃO DE FORMULÁRIOS DE DADOS PASSO 02 Após efetuado o procedimento anterior, basta clicar em SALVAR, depois em EXECUTAR para exibir o resultado do programa. RESULTADO ENTENDENDO AS LINHAS DE COMANDO As 7 linhas de comandos apresentadas consistem em um exemplo de programa feito com a linguagem de programação server-side PHP, dentro da qual é possível programar em outras linguagens como as client-side HTML e JavaScript. Os comandos de outras linguagens dentro de um programa PHP devem ser especificados dentro do seguinte comando echo, exemplo: echo”comandos de outras linguagens”; DESCRIÇÃO DETALHADA DAS LINHAS DE COMANDO: • <?// PROGRAMA QUE CRIA OS CAMPOS DE UM FORMULARIO DE DADOS <? É uma das simbologias que podem ser utilizada para se iniciar um programa PHP; // o conteúdo colocado após essas duas barras não tem efeito algum em qualquer linha do programa, é apenas um comentário de programação que poderá facilitar a vida do programador em uma futura manutenção; ENTENDENDO AS LINHAS DE COMANDO • if(!$CADASTRO) echo"<script>location.replace('cadastro.php');</script>"; if(!$CADASTRO) significa: se não existe conteúdo para uma variável chamada $CADASTRO, execute o comando echo. Neste caso o comando echo será executado, pois a variável cadastro faz parte de um outro programa chamado cadastro.php; echo”: é o comando PHP dentro do qual pode-se programar em outras linguagens; <script>: sintaxe que dá inicio a um programa feito com a linguagem JavaScript; location.replace('cadastro.php'); é um comando JavaScript que faz um desvio no programa atual colocando em execução o programa cadastro.php; </script>: comando que finaliza a execução de um programa feito em JavaScript; “; é a sintaxe que finaliza a execução do comando echo. ENTENDENDO AS LINHAS DE COMANDO Cabecalho negrito centralizar finaliza_centralizar finaliza_negrito reta finaliza_cabecalho echo"<h2><b><center>CADASTRO DE TELEFONES</center></b><hr></h2>"; /** **/ Linha apenas de /************************************ CAMPOS DO FORMULARIO *******************************/ comentário, não tem efeito algum no programa echo"<br>Nome....:<input name=nome value='$campo[0]' size=50 maxlength=50 onBlur='value=value.toUpperCase();'></input>"; echo"<br>Telefone:<input name=fone value='$campo[1]' size=15 maxlength=15></input>"; Comandos que definem a largura das caixas de texto As linhas de comando acima, especificadas dentro do comando PHP echo, possibilitam a criação do formulário abaixo. Comandos input’s criam as caixas de texto para entrada de dados O comando HTML name define a variáveis(espaços de memória) que irão receber digitação de conteúdos. O comando maxlength define a quantidade de caracteres que poderão ser digitados. Value determina o valor que será exibido na caixa de texto. $campo[0] e $campo[1] são variáveis PHP que exibem conteúdos que já foram salvos pelo programa de cadastro, onBlur é um evento da linguagem JavaScript acionado quando um objeto perde foco e toUpperCase é o método que converte letras minúsculas em maiúsculas. VALIDAÇÃO DE CAMPOS COM JAVASCRIPT A Linguagem client-side JavaScript possibilita que haja interatividade do usuário com o código HTML. Dentre os seus milhares de recursos destacam-se eventos que podem ser utilizados para validação de campos ou exibição de mensagens, os mais utilizados são: onBlur: executado quando um objeto perde foco; onChange: executado quando um objeto perde foco tendo seu conteúdo alterado; onFocus: executado quando um objeto ganha foco; onClick: executado quando um objeto recebe um clique; onLoad: executado no carregamento de uma janela. Exemplos de validação de campos com onBlur: <input name=nome size=50 maxlength=50 onBlur='value=value.toUpperCase();'> Converte caracteres digitados com letras minúsculas para letras maiúsculas. <input name=email size=50 maxlength=50 onBlur='value=value.toLowerCase();'> Converte caracteres digitados com letras maiúsculas para letras minúsculas. <input name=cpf size=11 maxlength=11 onBlur='value=validacpf(value);'> Aciona a função predefinida validacpf, que verifica se um CPF digitado é verdadeiro ou falsa. <input name=data size=11 maxlength=10 onBlur='value=validadata(value);'> Aciona a função predefinida validadata, que verifica se uma data digitada é verdadeira ou falsa. <input name=num size=10 maxlength=10 onBlur='value=validanum(value);'> Aciona a função predefinida validanum, que verifica se o conteúdo digitado é um número. VALIDAÇÃO DE CAMPOS COM JAVASCRIPT EXEMPLIFICANDO A CRIAÇÃO DE UMA FUNÇÃO Função JavaScript que valida um campo sexo com ‘M’ ou ‘F’. <script> function validasexo(sexo) { var sexo = sexo.toUpperCase(); if(sexo!='M'&&sexo!='F') { alert("SEXO INVÁLIDO, USE M OU F"); return ""; } return sexo; } </script> Sexo:<INPUT NAME=sexo size=1 maxlength=1 onBlur='value=validasexo(value);'> VALIDAÇÃO DE CAMPOS COM JAVASCRIPT RESULTADO DO PROGRAMA COM A FUNÇÃO VALIDASEXO VALIDAÇÃO DE CAMPOS COM PHP Além da validação de campos com JavaScript no computador do cliente, ainda é possível realizar uma validação com PHP depois dos dados dos formulários serem enviados para um servidor. No caso dos dados estarem sendo enviados para o servidor via Internet é importante considerar que eles podem estar sujeitos a não chegarem no destino. Para garantir, por exemplo, que o campo nome não seja gravado com valor nulo ou em branco no servidor pode-se utilizar as seguintes linhas de comando: if(!$nome) { echo"<script>alert(‘POR FAVOR, PREENCHA O CAMPO NOME');</script>”; echo”<script>window.location.href = 'javascript:history.go(-1)';</script>"; exit; } Onde: A primeira linha verifica se(if) não foi digitado algo para o campo nome; { chave que dá início a sequencia de comandos da condição if; A terceira linha monta um programa JavaScript que exibe a mensagem de alerta(alert) pedindo para que o campo nome seja preenchido A quarta linha monta um programa JavaScript que retorna a página anterior; A quinta linha é um comando PHP que finaliza do programa para o qual os dados foram mandados no servidor antes deles serem gravados; } chave que finaliza a sequencia de comandos da condição if. INTEGRAÇÃO ENTRE PHP, JAVASCRIPT, HTML E ARQUIVO TEXTO Conforme já foi exemplificado, dentro da linguagem PHP é possível e necessário programar em outras linguagens, pois PHP apenas processa dados no servidor, não possui interface com o usuário final. Essa interface se torna possível através de comandos HTML podendo ser mais interativa com a implementação de comandos JavaScript. O que PHP faz é receber os dados digitados em um formulário HTML e grava-los em um arquivo texto ou bando de dados. Em muitas aplicações é comum que os dados sejam gravados em arquivos texto, principalmente quando não se trata de uma aplicação destinada a manipulação de grandes massas de dados. Na plataforma PHPGENERATOR desenvolvida para servidor Apache, se não for especificado um banco de dados no projeto, todos os dados digitados em formulários ficarão armazenados, por padrão, em um arquivo chamado regs.php, um simples arquivo to tipo texto que recebe extensão php para garantir que os dados fiquem protegidos no servidor, pois o servidor apache protege arquivos com essa extensão. Para saber mais sobre manipulação de arquivos texto com PHP faça uma pesquisa sobre algumas funções que se encontram embutidas na plataforma PHP-GENERATOR como: fopen(); fgets(), fputs(), fclose() e file(). DESENVOLVENDO UM SISTEMA QUE ARMAZENA DADOS EM ARQUIVOS TEXTO O servidor Apache pode funcionar como FILE-SERVER de arquivos de diversos formados, inclusive servidor de arquivos texto para um sistema comercial web. Com base nos conteúdos abordados até aqui, monte um sistema comercial de CONTROLE DE ESTOQUE, com armazenamento de dados em arquivos texto contendo os seguintes cadastros: Obs: os primeiros campos códigos de cada cadastro são gerados automaticamente pela plataforma, comece pelo campo nome, especificando para cada campo uma quantidade de caracteres que lhe seja peculiar, validando os campos quando necessário. DFD – DIAGRAMA DE FLUXO DE DADOS (FORNECEDORES, GUPOS E PRODUTOS) USUÁRIO P1: cadastra/consulta fornecedores FORNECEDORES P2: cadastra/consulta grupos de produtos Pesquisa código GRUPOS P3: cadastra/ consulta produtos Pesquisa código PRODUTOS dados de grupos dados de fornecedores Com base no diagrama acima, podem ser implementados, dentro do cadastro de produtos, procedimentos PHP para pesquisa a dados de grupos e fornecedores. FUNÇÕES PHP PARA PESQUISA DE DADOS EM ARQUIVOS TEXTO Para de dentro de um cadastro pesquisar dados de outro cadastro, basta usar a seguinte função PHP: pesquisa("nome_do_outro_cadastro"); exemplo: <? echo”CodGrupo:<INPUT NAME=CodGrupo value=‘$campo[?]’>”; pesquisa(“grupos"); ?> No lugar do ponto de interrogação informe a número equivalente a posição do campo no programa de cadastro. Para de dentro de um cadastro criar uma caixa de selecao com dados de outro cadastro, basta usar a seguinte funcao PHP: select("nome_do_campo","value_do_campo","nome_do_outro_cadastro",0); exemplo: <? echo”CodCidade:”; select("CodFornecedor","$campo[?]",“fornecedores",0); ?> onde 0(zero) determina que será gravado no registro corrente apenas o código do outro registro; LEITURA DE ARQUIVO TEXTO E EMISSÃO DE RELATÓRIOS COM SCRIPT PHP •Para na emissao de relatorios, substituir colunas de codigos por nomes de outros cadastros, abra o arquivo relatorio e altere o procedimento IMPLEMENTACAO NO RELATORIO. •Exemplo: •/******** IMPLEMENTACAO NO RELATORIO ANTES DELE SER EXIBIDO NA TELA ***********/ •/* •a linha abaixo poderia relacionar o código de um grupo de produtos ou codigo de fornecedor no cadastro atual com o nome do grupo ou fornecedor em seus respectivos cadastros, fazendo com que o nome (campo zero), seja exibido no relatório no lugar do código.*/ •// $campo[?] = relaciona_codigo($campo[?],“grupos",0); •// $campo[?] = relaciona_codigo($campo[?],“fornecedores",0); •/*********************************************************************************************************/ •No lugar do ponto de interrogação informe a número equivalente a posição do campo no programa de cadastro. CRIAÇÃO DE BANCO DE DADOS COM MYSQL PASSO 01 Para utilizar o banco de dados MySQL na distribuição xampp do Apache comece informando o endereço abaixo em seu navegador de Internet: http://localhost/xampp Ao aparecer a tela abaixo, clique na opção English CRIAÇÃO DE BANCO DE DADOS COM MYSQL PASSO 02 • Clique na opção phpMyAdmin CRIAÇÃO DE BANCO DE DADOS COM MYSQL PASSO 03 Em seguida clique em Banco de Dados CRIAÇÃO DE BANCO DE DADOS COM MYSQL PASSO 04 Dica: utilize o banco de Banco de dados test para criar suas primeiras tabelas de dados MySQL CRIAÇÃO DE BANCO DE DADOS COM MYSQL PASSO 05 Informe o nome da tabela de dados que você deseja criar e a quantidade de campos que ela irá conter. Exemplo: agenda – 4 campos. Em seguida clique em executar. CRIAÇÃO DE BANCO DE DADOS COM MYSQL PASSO 06 Agora basta descrever os campos que farão parte do seu novo projeto de dados. O primeiro campo deverá se chamar codigo do tipo INT tamanho 6, ser definido como chave primária e a opção auto increment deverá ser selecionada. Na seqüência você já pode definir os demais campos de sua tabela de dados da forma que julgar adequada, feito isso clique no botão salvar. CRIAÇÃO DE BANCO DE DADOS COM MYSQL PASSO 07 Se a seguinte tela aparecer é porque você conseguiu criar com sucesso a tabela de dados agenda dentro do banco de dados test. Neste caso você já pode utilizar o próprio banco de dados para inserir dados na tabela, após inseridos você poderá também excluí-los ou altera-los. Para fazer alterações na estrutura de dados de sua tabela basta usar o recurso Estrutura. INTEGRAÇÃO ENTRE PHP, JAVASCRIPT, HTML E MYSQL Para interagir a tabela criada no banco de dados com um formulário de dados HTML gerido pela linguagem PHP, basta utilizar uma plataforma de programação que possibilite a conexão do formulário com a tabela de dados. Dentro de uma plataforma a conexão com o banco de dados poderá ocorrer de forma automática, facilitando a vida do programador. Para que uma linguagem de programação possa se conectar com um banco de dados são necessárias algumas linhas de programação e funções específicas destinadas a esse fim. É importante consultar o manual da linguagem que está sendo utilizada para saber quais são esses comandos e funções. Dentro de uma plataforma de programação, destinada ao desenvolvimento de determinados tipos de aplicativos, é comum que esses procedimentos de conexão já estejam embutidos em algum arquivo, de forma que o programador não tenha que se preocupar com eles, acelerando com isso o desenvolvimento de seus programas. INTEGRAÇÃO ENTRE PHP, JAVASCRIPT, HTML E MYSQL A título de curiosidade, segue abaixo os procedimentos de programação em PHP que efetivamente estabelecem uma conexão com o banco de dados MySQL. <? /* conecta um banco de dados MySQL */ //1º passo - Conecta ao servidor MySQL if(!($id = mysql_connect("localhost",$usuario,$password))) { echo "Não foi possível estabelecer uma conexão com o gerenciador MySQL. Favor Contactar suporte técnico."; exit; } //2º passo - Seleciona o Banco de Dados if(!($con=mysql_select_db($dbname,$id))) { echo "Não foi possível estabelecer uma conexão com o banco de dados. Favor Contactar suporte técnico."; exit; } //3º passo - funcao que executa comandos sql no banco de dados function mysqlexecuta($id,$sql,$erro = 1) { if(empty($sql) OR !($id)) return 0; //Erro na conexão ou no comando SQL if (!($res = @mysql_query($sql,$id))) { if($erro) { echo "Ocorreu um erro na execução do Comando SQL no banco de dados. Favor Contactar suporte técnico."; exit; } } return $res; } ?> INTEGRAÇÃO ENTRE PHP, JAVASCRIPT, HTML E MYSQL Para desenvolver um formulário de dados HTML com a plataforma PHP-GENERATOR interagindo com a tabela MySQL agenda, basta digitar em seu navegador de Internet o endereço abaixo: http://localhost/phpgenerator Clique na figura PHP-GENERATOR COM MySQL INTEGRAÇÃO ENTRE PHP, JAVASCRIPT, HTML E MYSQL Na tela abaixo informe o nome da tabela de dados gerada no MySQLe um nome para o projeto de dados, no caso em questão: tabela agenda e nome do projeto agenda; em seguida clique em SALVAR. Obs: Note que o nome informado abaixo, para ser salvo no arquivo título, tem que ser idêntico ao nome dado a tabela no banco de dados. INTEGRAÇÃO ENTRE PHP, JAVASCRIPT, HTML E MYSQL Abra o arquivo campos e monte o formulário HTML da tabela agenda que foi criada no banco de dados, fazendo adaptações no código fonte padrão do arquivo campos de forma que ele fique igual ao código abaixo. Os nomes de campos abaixo(name) deverão ser idênticos aos nomes de campos informados na tabela MySQL. Exemplo: nome, endereco e fone. Obs: O campo codigo é criado automaticamente pela plataforma PHP-GENERATOR, portando não deve ser criado manualmente pelo programador na montagem do formulário HTML. O link XAMPP é um atalho para o SGBD do banco de dados MySQL. Clique em SALVAR, depois em EXECUTAR e o seu programa PHP já estará interagindo com o banco de dados INTEGRAÇÃO ENTRE PHP, JAVASCRIPT, HTML E MYSQL Caso você tenha seguido todos os procedimentos corretamente a tela abaixo será exibida sem nenhuma mensagem de erro. Antes de começar a usar o programa de cadastro informe um nome de usuário. O usuário padrão do banco de dados MySQL é “root” e a senha é nula, ou seja não é necessário informar senha alguma. Clique em “Exibir opções do Sistema”, depois em “CADASTRO/agenda”; INTEGRAÇÃO ENTRE PHP, JAVASCRIPT, HTML E MYSQL O menu padrão para acesso aos módulos do seu cadastro PHP é mostrado abaixo. Com ele você poderá incluir dados na tabela agenda MySQL, consultar, alterar, excluir, emitir relatórios através de consultas SQL, fazer manutenção da tabela consultar o arquivo LOGACCOUNTING que contém informações detalhadas de cada operação que cada usuário realizou no programa e quando tais operações foram realizadas. INTEGRAÇÃO ENTRE PHP, JAVASCRIPT, HTML E MYSQL DICA DE SEGURANÇA: Entre no banco de dados MySQL, tabela user e cadastre uma senha para o usuário root e uma senha para o usuario pma, com isso você evitará que qualquer usuário do programa acesse utilizando essas identificações. Procure cadastrar na tabela user todos os usuários do seu programa para que você possa ter um controle das ações de cada um. A sequencia de passos necessários para isso aparece nas telas que seguem: NOÇÕES BÁSICAS DE SQL A SQL, linguagem de consulta estruturada, flexibiliza a emissão de diferentes tipos de relatórios. Para entender melhor como isso acontece, basta observar no menu principal do programa de cadastro a linha SqlCommand, pois ela contém uma instrução que ao ser enviada para o banco de dados possibilita a consulta dos dados que irão aparecer no relatório. Várias combinações SQL podem ser feitas na linha SqlCommand, após testadas podem se tornar um relatório padrão a ser selecionado na caixa de seleção abaixo da linha SqlCommand, para que isso aconteça, basta clicar no símbolo do disquete ao lado da caixa SqlComand e salvar a sintaxe SQL. No caso acima será emitido um relatório com todos os registros(tuplas) da tabela agenda cujo nome seja igual ao conteúdo informado no campo filtro. Neste relatório serão exibidos todos os campos (*) de cada registro por ordem de código. SELECT: seleciona os campos de cada registro que farão parte do relatório; *: determina que todos os campos de cada registro farão parte do relatório; FROM agenda: faz referência a tabela agenda; WHERE nome LIKE “%filtro%”: quanto nome conter o que foi digitado em filtro; ORDER BY código: listar os registros por ordem de código; NOÇÕES BÁSICAS DE SQL – ATIVIDADE PROPOSTA Cadastre 10 registros na agenda e especifique os comandos SQL necessários para gerar os seguintes relatórios: Relatório de registros filtrado pelo campo endereco; Relatorio de registros filtrado pelo campo telefone; Relatório dos registros cujo código seja maior que 5; Relatório de registros cujo código seja menor ou igual a 5; Relatório registros onde sejam listados apenas os campos nome e telefone; Relatório de registros por ordem de telefone; Relatório de registros cujo nome ou endereco contenha a palavra APARECIDA; Relatório de registros cujo nome e endereco contenham a palavra APARECIDA. Escreva abaixo os a sintaxe SQL de comando de cada relatório acima. ___________________________________________________________________________________________ ___________________________________________________________________________________________ ___________________________________________________________________________________________ ___________________________________________________________________________________________ ___________________________________________________________________________________________ ___________________________________________________________________________________________ ___________________________________________________________________________________________ ___________________________________________________________________________________________ ___________________________________________________________________________________________ DESENVOLVENDO UM SISTEMA QUE ARMAZENA DADOS EM TABELA DE DADOS MYSQL Com base nos conteúdos abordados até aqui, monte um sistema comercial de CONTROLE DE ESTOQUE, com armazenamento de dados em tabelas de dados MySQL: Obs: os primeiros campos códigos de cada cadastro são gerados automaticamente pela plataforma nos formulários de dados, comece pelo campo nome nos formulários e pelo campo código apenas nas definições de tabelas de dados no MySQL, especificando para cada campo uma quantidade de caracteres que lhe seja peculiar, validando os campos quando necessário. FUNÇÕES PHP PARA PESQUISA DE DADOS EM TABELAS MYSQL Para de dentro de um cadastro pesquisar dados de outro cadastro, basta usar a seguinte função PHP: pesquisa("nome_do_outro_cadastro"); exemplo: <? echo”CodGrupo:<INPUT NAME=CodGrupo value=‘$campo[?]’>”; pesquisa(“grupos"); ?> No lugar do ponto de interrogação informe a número equivalente a posição do campo no programa de cadastro. Para de dentro de um cadastro criar uma caixa de selecao com dados de outro cadastro, basta usar incluir no seu cadastro as seguintes linhas de programacao: $nome="nome_do_campo"; $valor=$campo[?]; $DATABASE="outro_cadastro"; $posicao=retorno_do_outro_cadastro; include("relation.php"); Exemplo: $nome=“fornecedor”; $valor=$campo[?]; $DATABASE=“fornecedores"; $posicao=0; include("relation.php"); onde 0(zero) determina que será gravado no registro corrente apenas o código do outro registro; LEITURA DE TABELA DE DADOS E EMISSÃO DE RELATÓRIOS COM SCRIPT PHP Para na emissao de relatorios, substituir colunas de codigos por nomes de outros cadastros, abra o arquivo relatorio e altere o procedimento IMPLEMENTACAO NO RELATORIO. Exemplo: /******** IMPLEMENTACAO NO RELATORIO ANTES DELE SER EXIBIDO NA TELA ***********/ /* a linha abaixo poderia relacionar o código de um grupo de produtos no cadastro atual com o nome do grupo em seus respectivo cadastro, fazendo com que o nome (campo um), seja exibido no relatório no lugar do código.*/ // $campocod=$campo[?]; $DATABASE=grupos; $posicao=1; // include("relation.php"); // if($retorno[1]!=null) $campo[?] = $retorno[1]; /*********************************************************************************************************/ No lugar do ponto de interrogação informe a número equivalente a posição do campo no programa de cadastro. CONCLUSÃO Uma plataforma de programação, por mais bem elaborada que seja, pode apenas facilitar o trabalho de desenvolvimento de programas, flexibilizando a criação de procedimentos básicos e comuns a diferentes tipos de programas, mas não substitui o domínio que o programador deve ter sobre a linguagem que ele utiliza. A medida em que o desenvolvimento de programas requer solução de problemas específicos, torna-se imprescindível saber manipular um código fonte e criar nele as linhas de códigos necessárias para atender particularidades mais diversas. Programar é saber conversar com o computador, convence-lo a fazer coisas, efetuar tarefas, interpretar ou executar instruções lógicas, sendo preciso para isso, domínio sistemático de lógica de programação na confecção de algoritmos. Programar é o mesmo que dominar uma língua estrangeira, é preciso fluência, dedicação constante e prática diária. Um programador autêntico deve, portanto, manter uma íntima relação com a linguagem de programação escolhida, lembrando que a melhor de todas as linguagens é aquele que ele domina.