INTERNET E PROGRAMAÇÃO WEB Curso de Programação comercial para Web com ênfase em PHP, HTML,...

54
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

Transcript of INTERNET E PROGRAMAÇÃO WEB Curso de Programação comercial para Web com ênfase em PHP, HTML,...

Page 1: 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.

INTERNET E PROGRAMAÇÃO WEBCurso 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

Page 2: 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.

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.

Page 3: 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.

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.

Page 4: 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.

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.

Page 5: 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.

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.

Page 6: 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.

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.

Page 7: 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.

PRINCÍPIOS BÁSICOS DE PROGRAMAÇÃO

Em qualquer linguagem de programação, dominar a arte de programar implica basicamente em conhecer :

COMANDOS DE ENTRADA

COMANDOS DE SAÍDA

COMANDOS DE PROCESSAMENTO

COMANDOS DE ARMAZENAMENTO

PLATAFORMA DE DESENVOLVIMENTO/EXECUÇÃO DE PROGRAMAS

Page 8: 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.

Faça download do servidor Apache distribuição xampp utilizando o link abaixohttp://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 01

Page 9: 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.

INSTALAÇÃO/CONFIGURAÇÃO DE SERVIDOR APACHE – PASSO 02

CLIQUE EM AVANÇAR

Page 10: 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.

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

Page 11: 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.

INSTALAÇÃO/CONFIGURAÇÃO DE SERVIDOR APACHE – PASSO 04

Aguarde o andamento do processo de instalação

Page 12: 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.

INSTALAÇÃO/CONFIGURAÇÃO DE SERVIDOR APACHE – PASSO 05

Clique em terminar

Page 13: 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.

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.

Page 14: 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.

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.

Page 15: 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.

INSTALAÇÃO/CONFIGURAÇÃO DE SERVIDOR APACHE – PASSO 08

Se aparecer uma de “Alerta de segurança do Windows” clique em Desbloquear

Page 16: 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.

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.

Page 17: 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.

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.”

Page 18: 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.

Utilizando o PHP-GENERATOR no ApachePara 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 02

Page 19: 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.

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.

INSTALAÇÃO/UTILIZAÇÃO DO PHP-GENERATOR – PASSO 03

Page 20: 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.

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>";

•?>

Page 21: 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.

CRIAÇÃO DE FORMULÁRIOS DE DADOS PASSO 02Após efetuado o procedimento anterior, basta clicar em SALVAR, depois em EXECUTAR para exibir o resultado do programa.

RESULTADO

Page 22: 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.

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;

Page 23: 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.

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.

Page 24: 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.

ENTENDENDO AS LINHAS DE COMANDO

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>";

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

/** **/ Linha apenas de comentário, não tem efeito algum no programa

Comandos que definem a largura das caixas de texto

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.

Cabecalho negrito centralizar finaliza_centralizar finaliza_negrito reta finaliza_cabecalho

Page 25: 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.

VALIDAÇÃO DE CAMPOS COM JAVASCRIPTA 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.

Page 26: 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.

VALIDAÇÃO DE CAMPOS COM JAVASCRIPTEXEMPLIFICANDO 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);'>

Page 27: 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.

VALIDAÇÃO DE CAMPOS COM JAVASCRIPTRESULTADO DO PROGRAMA COM A FUNÇÃO VALIDASEXO

Page 28: 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.

VALIDAÇÃO DE CAMPOS COM PHPAlé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.

Page 29: 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.

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 PHP-GENERATOR 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().

Page 30: 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.

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.

Page 31: 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.

DFD – DIAGRAMA DE FLUXO DE DADOS(FORNECEDORES, GUPOS E PRODUTOS)

USUÁRIO

P1: cadastra/consulta

fornecedores

P2: cadastra/consulta

grupos de produtos

P3: cadastra/ consulta produtos

FORNECEDORES GRUPOS PRODUTOS

dados de grupos

dados de fornecedores

Pesquisa código

Pesquisa código

Com base no diagrama acima, podem ser implementados, dentro do cadastro de produtos, procedimentos PHP para pesquisa a dados de grupos e fornecedores.

Page 32: 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.

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;

Page 33: 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.

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.

Page 34: 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.

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/xamppAo aparecer a tela abaixo, clique na opção English

Page 35: 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.

• Clique na opção phpMyAdmin

CRIAÇÃO DE BANCO DE DADOS COM MYSQL PASSO 02

Page 36: 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.

CRIAÇÃO DE BANCO DE DADOS COM MYSQL PASSO 03

Em seguida clique em Banco de Dados

Page 37: 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.

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

Page 38: 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.

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.

Page 39: 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.

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.

Page 40: 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.

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.

Page 41: 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.

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.

Page 42: 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.

INTEGRAÇÃO ENTRE PHP, JAVASCRIPT, HTML E MYSQLA 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;}?>

Page 43: 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.

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/phpgeneratorClique na figura PHP-GENERATOR COM MySQL

Page 44: 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.

INTEGRAÇÃO ENTRE PHP, JAVASCRIPT, HTML E MYSQLNa 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.

Page 45: 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.

INTEGRAÇÃO ENTRE PHP, JAVASCRIPT, HTML E MYSQLAbra 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

Page 46: 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.

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”;

Page 47: 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.

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.

Page 48: 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.

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:

Page 49: 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.

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;

Page 50: 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.

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.

___________________________________________________________________________________________

___________________________________________________________________________________________

___________________________________________________________________________________________

___________________________________________________________________________________________

___________________________________________________________________________________________

___________________________________________________________________________________________

___________________________________________________________________________________________

___________________________________________________________________________________________

___________________________________________________________________________________________

Page 51: 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.

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.

Page 52: 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.

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;

Page 53: 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.

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.

Page 54: 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.

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.