Documente Academic
Documente Profesional
Documente Cultură
Vice Governador
Domingos Gomes de Aguiar Filho
Secretria da Educao
Maria Izolda Cela de Arruda Coelho
Secretrio Adjunto
Maurcio Holanda Maia
Secretrio Executivo
Antnio Idilvan de Lima Alencar
Agosto/ 2013
FORTALEZA/CEAR
Escola Estadual de Educao Profissional Ensino Mdio Integrado a Educao Profissional
Sumrio
Apresentao ............................................................................................................................................................. 4
Desafio...............................................................................................................................................................11
1.4. Listas...................................................................................................................................................... 13
3.5. Upload.................................................................................................................................................... 28
4. Rede de Comunicaes.................................................................................................................................. 32
PHP/MySQL [Informtica] 2
Escola Estadual de Educao Profissional Ensino Mdio Integrado a Educao Profissional
PHP/MySQL [Informtica] 3
Escola Estadual de Educao Profissional Ensino Mdio Integrado a Educao Profissional
Apresentao
O manual apresenta uma serie de praticas dividido em seis fases, inicialmente
trabalhamos com a unio de conhecimentos adquiridos em disciplinas anteriores, e vamos
aprofundando o conhecimento da linguagem PHP e a integrao com o banco de dados.
1. Formulrios e listagens.
a. Trabalhamos com a integrao da linguagem PHP com os formulrios, criando
exemplos dinmicos de formulrios com o uso de arrays.
2. Funes em PHP.
a. Iremos conhecer algumas funes prprias do PHP que podem ser uteis em
nossa vida profissional como desenvolvedor web.
3. Manipulao de arquivos e diretrios.
a. Estudaremos a manipulao de arquivos no servidor web, bem como construir
scripts para realizar o upload de arquivos entre outros.
4. Rede de Comunicaes.
a. Conheceremos recursos e servios que podemos trabalhar com nosso servidor,
iremos trabalhar com scripts de envio de email.
5. Manipulao de dados.
a. Este um dos grandes pontos deste material, iremos realizar varias praticas de
integrao com o banco de dados MYSQL, aprender a criar um CRUD.
6. Frameworks para desenvolvimento em PHP.
a. Estudaremos alguns frameworks utilizados em PHP para aperfeioar o trabalho
do programador web.
importante que o (a) aluno (a) compreenda o propsito do mtodo do curso, e assim,
se aproprie do contedo e da metodologia proposta por meio das atividades, Esperamos
contribuir com a consolidao do compromisso e envolvimento de todos (professores e alunos)
na formao desses profissionais.
PHP/MySQL [Informtica] 4
Escola Estadual de Educao Profissional Ensino Mdio Integrado a Educao Profissional
Formulrios e listagens
Nesta aula vamos codificar formulrios HTML, realizando o processamento dos inputs do
usurio atravs do PHP, estes processamentos sero feitos agora no lado servidor (Server-
side) nas disciplinas passadas trabalhamos com formulrios web, folhas de estilos CSS,
JavaScript e um pouco da sintaxe PHP.
Nesta Fase vamos praticar a construo de pginas com formulrios, sendo tratados no lado
servidor trabalhando com requisies do usurio.
1.1. Inputs.
Nesta aula vamos trabalhar com o elemento input e com seus atributos, sendo processados
com scripts PHP, Vamos comear com uma situao bem simples, precisamos criar um
formulrio que receba o nome de uma pessoa e mostre-o abaixo. Como na imagem abaixo.
Vamos executar esta tarefa de duas formas uma chamando a pgina form_inputs.php e outra
atravs de uma varivel global.
Vamos criar um formulrio como mostrado na imagem acima, o nome do arquivo PHP ser
form_inputs.php.
Agora vamos codificao.
Neste exemplo na linha 16 a 19 tenho o cdigo em PHP, onde definido que a varivel
$qtde_lista vai receber uma varivel do mtodo post [tx_nome], este valor recebido do
elemento input o qual tem o nome e id tx_nome, quando formulrio submetido pelo post este
valor armazenado na varivel $qtde_lista, depois exibido na pgina pelo echo na linha 18.
Observe que o action do formulrio vai chamar ele mesmo, ou seja, tem o mesmo nome do seu
arquivo PHP criado no inicio desta aula, desta forma fazemos a chamada dele mesmo, tudo
que estiver dentro do bloco PHP ser executado.
Agora vamos modificar este exemplo, usaremos agora uma varivel global j definida no PHP,
mais ser que possvel?
Em situaes que se estiver postando dados de volta ao mesmo script ou formulrio que
ele originou, podemos utilizar a varivel superglobal <?php echo $_SERVER['PHP_SELF'];?>
o script PHP ser automaticamente designado a esta varivel.
PHP/MySQL [Informtica] 5
Escola Estadual de Educao Profissional Ensino Mdio Integrado a Educao Profissional
Vamos ao exemplo;
Nas situaes acima uma boa pratica utilizar-se de instrues condicionais para especificar o
que ser executado, caso no tenha ou no necessite tudo que estiver no script ser
executado.
Variveis superglobais
H vrias variveis pr-definidas no PHP so chamadas de "superglobais", que significa que
elas esto disponveis em todos os escopos para todo o script. No h necessidade de fazer
global $variavel; para acess-la dentro de funes ou mtodos.
Abaixo temos uma tabela com as variveis superglobais:
Variveis Descrio
$GLOBALS Um array associativo contendo referncias para todas as variveis que
esto atualmente definidas no escopo global do script. O nome das variveis
so chaves do array.
$_SERVER $_SERVER um array contendo informao como cabealhos,
paths(caminhos), e localizaes do script. As entradas neste array so
criadas pelo servidor web.
Neste link temos a lista completa de variveis reservadas usadas em PHP
http://www.php.net/manual/pt_BR/reserved.variables.server.php
$_GET Um array associativo de variveis passadas para o script atual via o mtodo
HTTP GET.
$_POST Um array associativo de variveis passado para o script atual via mtodo
HTTP POST.
$_FILES Um array associativo de itens enviado atravs do script atual via o mtodo
HTTP POST, utilizado em arquivos de variveis para Upload.
$_COOKIE Um array associativo de variveis passadas para o atual script via HTTP
Cookies1.
$_SESSION Um array associativo contendo variveis de sesso disponveis para o atual
script. Neste manual nas prximas aulas entraremos com mais detalhes
sobre esta varivel global.
$_REQUEST Um array associativo que por padro contm informaes de $_GET,
$_POST and $_COOKIE.
$_ENV Um array associativo de variveis passadas para o script atual via o mtodo
do ambiente.
Estas variveis so importadas para o PHP do ambiente sob o qual o
parser do PHP executado.
Tabela 1 - Variveis Globais Fonte: http://php.net/manual/pt_BR/language.variables.superglobals.php
1
um grupo de dados trocados entre o navegador e o servidor de pginas.
PHP/MySQL [Informtica] 6
Escola Estadual de Educao Profissional Ensino Mdio Integrado a Educao Profissional
As variveis globais acima citadas sero utilizadas nas prximas aulas, onde veremos
exemplos de como podemos trabalhar com elas.
Neste exemplo vamos mostrar o valor de uma varivel PHP sendo mostrado dentro do input,
para revisar vamos utilizar uma situao problema que envolve a utilizao de uma estrutura de
deciso.
2 Exemplo: Criar um formulrio que efetue a entrada dos valores de medida de trs pesos
aferidos de forma aleatria. No formulrio deve ser mostrado em
um input bloqueado com o maior peso aferido.
Entendendo o problema:
Para realizarmos esta tarefa vamos criar trs variveis
referentes aos valores
que sero recebidos
pelos pesos aferidos.
Ser necessrio
utilizarmos uma
estrutura de deciso
neste exemplo o IF.
No input onde receber o valor iremos colocar o cdigo PHP no atributo value
(value="<?php echo $maior_peso; ?>").
PHP/MySQL [Informtica] 7
Escola Estadual de Educao Profissional Ensino Mdio Integrado a Educao Profissional
1.1.1. Checkbox.
Neste exemplo vamos trabalhar com o input do tipo checkbox, iremos criar um formulrio com
opes de atividades esportivas, o usurio seleciona suas atividades, que sero mostradas em
outra pgina.
Em PHP iremos criar um array para armazenar as atividades esportivas, iremos criar um
checkbox e usaremos a estrutura de repetio foreach, para criar a quantidade de checkbox
correspondente ao array, logo se no array tivermos seis atividades sero criados seis
checkboxs.
Este ser o resultado final do nosso formulrio, agora vamos construo do mesmo.
Na estrutura do cdigo abaixo temos;
Uma pgina chamada form_chkbox.php e
um formulrio chamado form_list_ativ.
Teremos que criar uma pgina em PHP que
ser chamada de sel_atividades.php, nela
ser mostrado o resultado das preferncias
selecionadas.
Na pgina inserimos um
trecho PHP, no qual
criamos um array
chamado $esportes nas
linhas 13 a 21.
Linha 24: Usamos uma
estrutura de repetio
foreach nesta estrutura
definimos dentro do
parntese o array
$esportes para $value,
desta forma tenho para
cada chave um par de
valores do array at que todos os itens tenham sido recuperados, ou outra condio interna
seja encontrada.
Observe que a chave { do loop inicia na linha 24 e termina na linha 30, tudo que estiver dentro destas
chaves ser repetido at que sejam apresentados todos os valores do loop.
Na linha 27: Temos o input do tipo checkbox com o nome ativ_esport[ ], estes colchetes indicam que o
mesmo receber um array, no atributo value deste elemento inserimos o trecho PHP com a varivel
$value que recebeu cada valor do array $esportes, desta forma o valor de cada checkbox foi atribudo.
O elemento label usado para exibir os valores do array na pgina.
No action do formulrio chamamos a pgina sel_atividades.php, com o cdigo PHP mostrado abaixo.
PHP/MySQL [Informtica] 8
Escola Estadual de Educao Profissional Ensino Mdio Integrado a Educao Profissional
Linha 16: Atravs do foreach listamos os valores do array que o usurio selecionou.
Ao lado temos o resultado da execuo desta prtica.
1.1.2. Radio.
Nesta aula vamos trabalhar com o input do tipo radio, com ele criaremos um array de estado
civil, onde enviaremos para outra pgina o cdigo do estado civil, simulando o envio destas
informaes a um banco de dados.
Neste exerccio vamos criar duas pginas uma ser chamada de form_radio.php e a outra
result_radio.php.
Na pgina form_radio.php.
1 passo: Criaremos um array multidimensional, onde teremos em uma posio deste array
outro array, no primeiro teremos a descrio do estado civil e no outro o cdigo de
identificao, Um array multidimensional pode ser entendido como uma matriz.
2 Passo: Agora vamos montar a estrutura da pgina, exibindo os valores do array criado
anteriormente, usaremos dois laos de repetio, um para mostrar os valores do array e outro
para enviar o valor do id para outra pgina.
PHP/MySQL [Informtica] 9
Escola Estadual de Educao Profissional Ensino Mdio Integrado a Educao Profissional
Linha 28: Por se tratar de um array dimensional importante saber quantos nveis ele tem,
neste exemplo temos dois, o primeiro nvel temos os tipos estado civil e no segundo temos o ID
correspondente, logo teremos que ter dois laos de repetio em cadeia, ou seja, um dentro do
outro. Na declarao desta linha fazemos a interao do array $est_civil para cada interao
$value uma nova interao (=> $id_chave), neste
exemplo o $value armazena o tipo de estado civil (ex:
casado, solteiro, divorciado...).
Linha 31 e 32: Nesta Linha temos o input do tipo radio
com o nome radioEstC[], no atributo value deste input,
inserimos o outro loop que ir armazenar os IDs dos tipos
de estado civil,agora temos a interao $id_chave para
cada interao $id uma nova interao (=>$vl), esta por
sua vez agora armazena os IDs dos tipos de estado civil.
Na imagem ao lado vemos como ficar a pgina.
Na pgina result_radio.php
Linha 15: Nesta linha recebemos o
valor do input da pgina anterior
atravs do mtodo post.
Linha 18: Como o nosso array
dimensional j foi devidamente
tratado na pgina anterior, passando
apenas o valor do campo ID para a
varivel $idRadio fazendo as
interaes para $valor, sendo assim
exibido na pgina o ID do estado civil
escolhido.
PHP/MySQL [Informtica] 10
Escola Estadual de Educao Profissional Ensino Mdio Integrado a Educao Profissional
Exerccios Prticos
Desafio
1. Crie uma pagina web em PHP com um questionrio de 10 perguntas, onde o usurio
responder as perguntas e no final dever ser emitido o resultado dele, informar quantas
perguntas ele acertou.
1.2. Select.
Para exemplificar a utilizao deste componente, criaremos uma pgina web onde o usurio
deve escolher uma cidade para visitar, aps a sua escolha ser mostrada uma mensagem
abaixo agradecendo a visita, como no exemplo abaixo.
Linha 24: No action do form chamamos um script PHP que ser criado nos prximos passos.
PHP/MySQL [Informtica] 11
Escola Estadual de Educao Profissional Ensino Mdio Integrado a Educao Profissional
Linha 28: Nesta linha temos dois pontos importantes, o atributo value recebe o valor do array,
isso utilizado para passar o valor selecionado pelo usurio, o que esta entre o <option>
</option> ser mostrado ao usurio quando a pgina for carregada.
4 Passo: Agora vamos criar o script PHP chamado visitar_cidade.php, ele ser responsvel
por receber o valor selecionado pelo usurio na pgina anterior e exibir uma mensagem.
1.3. Tabelas.
Nesta aula usaremos um array multidimensional, criaremos uma pgina web com os cargos e
salrio em TI, que ser mostrado em uma tabela, como na imagem abaixo.
Abaixo a estrutura da
pgina, onde temos uma tabela com os campos Cargo e Salrio vindos do array.
Este exemplo bem parecido com o anterior, ento podemos observar que a lgica de
utilizao dos arrays multidimensionais a mesma, precisamos apenas saber onde queremos
que as informaes devam aparecer.
PHP/MySQL [Informtica] 12
Escola Estadual de Educao Profissional Ensino Mdio Integrado a Educao Profissional
Neste exemplo fazemos a interao do array $cargos_salarios para cada interao $valor
uma nova interao (=> $vl_sal), onde $valor recebe a descrio do cargo, no outro loop
temos a interao de $vl_sal para cada interao $vlr uma nova interao (=>$vl_sals) esta
armazena o valor do salrio de acordo com o cargo.
1.4. Listas.
Neste exerccio vamos criar um menu para acessar todos os exemplos anteriores, tambm
usaremos um pouco de jquery ui.
Abaixo temos uma imagem de como ficar o nosso menu, este exerccio vamos dividir em
partes ou passos para melhor entendimento.
1 Passo: Vamos inserir as tags script e chamar os scripts JavaScript como mostrados na imagem
abaixo.
Nas linhas 14 a 18 Criamos uma funo que chama outra funo do jquery UI, onde a mesma
defini que ser aplicado no seletor css #menu.
2 Passo: Criao do array, abaixo criamos um array para armazenar o texto do menu e o link
correspondente.
PHP/MySQL [Informtica] 13
Escola Estadual de Educao Profissional Ensino Mdio Integrado a Educao Profissional
Como podemos observar na linha 41 que corresponde a tag <li>, adicionamos a tag <a> e nela
incorporamos o cdigo PHP, na varivel $links colocamos na propriedade href, o nosso link, a
varivel $valor ir mostrar o texto do nosso link.
Exerccio de Aprendizagem
Estudo de caso da empresa de reserva de passagens areas Gato Ajato
1.1. Formulrios.
Nesta aula vamos desenvolver formulrios dinmicos, em nossa problemtica temos que
desenvolver um web site, A empresa de reserva de passagens areas Gato Ajato foi quem
solicitou o prottipo.
Foi solicitado aos projetistas que a web site efetue reserva de passagens areas da
companhia.
Dever cadastrar os nmeros (ID) dos avies e o nmero de lugares disponveis em cada um.
O home dever mostrar o seguinte menu de opes:
1. Cadastrar avies.
a. Com nmero de lugares disponveis em cada avio.
2. Cadastrar Passageiros, com os campos nome, CPF, sexo, endereo, cidade.
3. Reservar passagem.
PHP/MySQL [Informtica] 14
Escola Estadual de Educao Profissional Ensino Mdio Integrado a Educao Profissional
A gato Ajato solicitou um web site, para este intuito devemos criar um layout para este projeto,
e as pginas a seguir;
Pgina index.php; com o menu usando jquery no menu ser possvel navegar nas outras
pginas, conforme problemtica apresentada anteriormente.
Vamos criar uma pgina chamada de consulta.php, nela temos que criar um array com o
nome de $passageiros para realizar a busca pelo nome do passageiro.
PHP/MySQL [Informtica] 15
Escola Estadual de Educao Profissional Ensino Mdio Integrado a Educao Profissional
Linha 23: Recebemos o valor do input busca atravs do mtodo post, o valor que o usurio
digitar ser armazenado na varivel $busca.
Linha 25: Temos aqui uma instruo de deciso se a varivel $busca for verdadeira, ou seja
conter um valor, a linha 26 executada. Na linha 26 criamos a varivel $cons_passageiros,
esta recebe o valor da funo preg_grep que retorna as entradas do array $passageiros que
combinaram com um padro repassado, /^$buscar/ neste exemplo usamos o que
conhecido como expresses regulares, onde se define um padro a ser usado, ento com o
operador ^ indica que a expresso deve iniciar com a string dada, logo em nossa expresso
ser verificado os primeiros caracteres digitados no input de busca.
Linha 29: Nesta condio o valor do input for igual null retorna todos os dados do array
$passageiros, onde os valores do array so armazenados em um outro array chamado
$cons_passageiros.
Preenchendo os dados do array na tabela, vamos utilizar agora um velho conhecido das aulas
anteriores o foreach, definiu-se na tabela o nome da coluna, e a linha onde devem aparecer os
valores do array.
PHP/MySQL [Informtica] 16
Escola Estadual de Educao Profissional Ensino Mdio Integrado a Educao Profissional
Nesta aula vamos aprender a remover um elemento de um array, em nosso exemplo temos
uma pgina chamada remover.php.
Vamos criar uma lista de modelos de avies, o usurio quando de um clique no modelo o id
que a chave do array, ser enviado atravs do mtodo get, ao ser recebido o valor da chave
ser removido usando a funo unset().
Nas linha 15 a18: Temos a criao do nosso array, com os modelos de avies.
Linha 20: Declaramos uma varivel chamada $remov que recebe um valor pelo mtodo get.
Nas linhas 21 a24: Temos um loop onde para recuperar todos os valores do array, a funo
unset() recebe o array e a chave ou ndice do array que ser removido, este valor recebido
atravs da varivel $remov.
Para exibir na pgina criamos um novo loop, e neste definimos a varivel que receber a
chave do array($chave), e a outra que ser usada para exibir os modelos de avies na pgina.
Na linha 31: Observamos que na tag <a> usamos o atributo href para passar o link da pgina
que ser chamada, no caso ela mesma e o parmetro de URL chamado id, logo para
passarmos parmetros pelo URL utilizaremos esta sintaxe, nome da pgina (remover.php)
mais o nome do parmetro e o valor que ser recebido (?id=).
PHP/MySQL [Informtica] 17
Escola Estadual de Educao Profissional Ensino Mdio Integrado a Educao Profissional
Exerccios Prticos
1) Vamos criar um formulrio web que para cadastrar uma lista de contatos, com os campos;
nome, endereo, telefone, cidade.
2) Crie um formulrio para cadastro de 15 palavras chaves, estas palavras devem ser
armazenadas em um array e exibidas em outra pgina web, usando checkboxs.
3) Uma empresa prestadora de servios tem uma lista de 10 servios, onde desta lista um
precisa ser removido, utilizando arrays e a funo unset(), crie uma pgina para remover o
servio conforme a escolha do usurio.
4) Vamos criar um array com o modelo de avies, e criar uma consulta de modelos de avies.
5) Faa um web site que realize um cadastro de contas bancrias com as seguintes
informaes: nmero da conta, nome do cliente e saldo. O banco permitir o cadastramento
de contas e no poder haver mais que uma conta com o mesmo nmero. Crie o menu de
opes a seguir.
Menu de opes:
Cadastro de contas de determinado cliente.
Consultar contas de determinado cliente.
Excluir um cliente.
Sobre, com os dados dos desenvolvedores do projeto.
PHP/MySQL [Informtica] 18
Escola Estadual de Educao Profissional Ensino Mdio Integrado a Educao Profissional
2. Funes em PHP
Nesta aula vamos conhecer algumas funes, que podem ser uteis em nossa caminhada como
desenvolvedor PHP, abaixo uma relao de funes para arrays, que podemos utilizar como
referncia. No site da linguagem temos diversas referncias sobre vrias funes da
linguagem, veja no link http://www.php.net/manual/pt_BR/funcref.php
PHP/MySQL [Informtica] 20
Escola Estadual de Educao Profissional Ensino Mdio Integrado a Educao Profissional
Outras Funes
Addslashes
addslashes (string $variavel) - Retorna uma string com barras invertidas antes de caracteres
que precisam ser escapados para serem escapados em query do banco de dados e etc. Estes
caracteres so aspas simples (), aspas duplas (), barra invertida (\) e NUL (o byte NULL).
Exemplo:
Stripslashes
Stripslashes (string $variavel ) Caso queira retirar caracteres indevidos utilizamos esta
funo, ele retira as \;
Exemplo:
include(): Esta funo tenta incluir uma pgina. Em caso de algum erro, o script retorna um
warning (aviso) e prossegue com a execuo do script. Aceita a passagem de variveis (GET)
na string.
Require(): Tenta incluir uma pgina. Em caso de erro, o script retorna um fatal error (erro
fatal) e aborta a execuo do script. E no prossegue com a execuo do script. No aceita a
passagem de variveis (GET) na string.
PHP/MySQL [Informtica] 21
Escola Estadual de Educao Profissional Ensino Mdio Integrado a Educao Profissional
Exemplo 02: O resultado do exemplo abaixo este: Hoj July 23, 2013, apresentando o
ms por extenso.
PHP/MySQL [Informtica] 22
Escola Estadual de Educao Profissional Ensino Mdio Integrado a Educao Profissional
PHP/MySQL [Informtica] 23
Escola Estadual de Educao Profissional Ensino Mdio Integrado a Educao Profissional
Agora que j entendemos como funciona o modo de arquivos, vamos criar o um arquivo para
ser manipulado em outras aulas. Utilizaremos a funo fopen().
Neste exemplo vamos criar um formulrio, nele teremos um input para digitar o nome do
arquivo, e um boto que o chamaremos de criar arquivo.
Podemos tambm criar um script em PHP, para fazer a criao do arquivo com as
especificaes, como nome e extenso do arquivo dentro do cdigo.
Neste exemplo temos um script para criao do arquivo.
Linha 2: Definimos uma varivel que vai receber o valor da funo fopen(), que retornar true
ou false, na funo passamos dois parmetros, o primeiro o nome do arquivo e sua
extenso, o segundo passamos o modo de operao do arquivo, que neste exemplo esta
abrindo o arquivo somente para escrita, caso no exista o cria.
Nas linhas 3 e 4: Se a varivel $arquivo retornar false a funo die() chamada para
apresentar o erro.
Agora vamos para outro exemplo, agora usando mais recursos.
No exemplo abaixo, damos ao usurio a possibilidade de definir qual o nome do arquivo, para
isso criamos uma funo chamada criar_arquivo().
Linha 20: Armazenamos o nome do arquivo na varivel $nome_arq, que obteve o valor do
input nome_arq atravs do mtodo post.
Linha 22: Criamos um if para que a partir daquele trecho s execute a linha 23, se a varivel
do post estiver preenchida, para isso usamos a funo isset().
Linha 23: Nesta linha pegamos o nome do arquivo armazenado na varivel $nome_arq,
usamos o ponto final para concatenar as strings (juntar), adicionado a extenso do arquivo, e
depois passamos o segundo parmetro do mtodo que o modo de operao do arquivo.
Resultado final deste exemplo.
PHP/MySQL [Informtica] 24
Escola Estadual de Educao Profissional Ensino Mdio Integrado a Educao Profissional
No exemplo abaixo semelhante ao anterior, porem neste usamos outro modo de operao
r.
Neste exemplo usamos uma ao para quando a condio for falsa, caso no seja possvel
abrir ou encontrar o arquivo. E true caso seja possvel abrir o arquivo, exibindo uma mensagem
ao usurio.
Na linha 21: Usamos a funo fclose(), para fechar o arquivo se ele tiver sido aberto.
Exerccios Prticos
1) Crie uma pgina para criar arquivos para artigos com a extenso *.html, onde o usurio
que deve especificar o nome do arquivo.
No inicio da pgina embutimos o cdigo PHP acima na linha 8, onde estamos passando o
charset ISO-8859-1.
Na linha 12: No HTML fazemos a alterao na tag meta, onde inserido o mesmo charset
ISO-8859-1.
A funo fgets() pega uma linha do arquivo, no exemplo abaixo fazemos a leitura do arquivo
texto.txt, o mesmo encontra-se no raiz do site por este motivo passamos seu nome direto,
caso esteja dentro de algum outro diretrio dever ser informado.
A funo file_get_contents() pega todo contedo do arquivo aberto como uma string, vamos
fazer o exemplo abaixo.
Neste exemplo vamos fazer a leitura de um arquivo com a extenso HTML, o mesmo deve ter
um contedo um texto, por exemplo, o contedo do arquivo ser mostrado dentro de um
<textarea>.
PHP/MySQL [Informtica] 26
Escola Estadual de Educao Profissional Ensino Mdio Integrado a Educao Profissional
Como podemos observar na imagem acima, praticamente a mesma estrutura, o que muda
a funo, que a mesma permite que seja lido todo o arquivo.
Vamos criar uma funo que chamaremos de salvarArquivo(), ela ser chamada no boto
pelo evento onclick.
Linha 21: Aqui passamos o nome do arquivo e o modo de operao, com este modo de
operao se o arquivo no existir o mesmo ser criado.
Linhas 23 e 25: Nestas linhas temos duas estruturas condicionais, a primeira verifica se a
varivel do mtodo post esta preenchida, caso ela esteja passa para a outra condio, o
mtodo fwrite() usado para preencher um arquivo com o contedo de uma string, nesta
condio temos, se a funo no conseguir escrever no arquivo, e chamada a funo die(),
exibindo uma mensagem.
Na imagem abaixo temos como ficara a pgina, o usurio poder escrever o seu contedo, que
ser armazenado no arquivo meuartigo.html no raiz do site.
PHP/MySQL [Informtica] 27
Escola Estadual de Educao Profissional Ensino Mdio Integrado a Educao Profissional
3.5. Upload
Seja em sites de armazenamento online ou mesmo em perfis de redes sociais, o termo
upload tem estado presente em boa parte do nosso cotidiano online. Nesta aula vamos
entender de que se trata um upload, implementaremos um script de upload completo, com
diversos recursos de tratamento.
Upload ou carregamento a transferncia de dados de um computador local para um servidor,
o que pode ser feito pelo protocolo FTP ou pelo HTTP, em nosso exemplo vamos criar uma
pgina para fazer o upload.
Vamos criar uma pgina que chamaremos de form_upload.php, abaixo temos a imagem de
como esta pgina ser apresentada ao usurio.
Na estrutura HTML vamos adicionar dois inputs, um com o type file, este usado quando
desejo carregar arquivos do navegador para o meu servidor, outro o submit para enviar as
informaes do input file.
PHP/MySQL [Informtica] 28
Escola Estadual de Educao Profissional Ensino Mdio Integrado a Educao Profissional
Abaixo temos o script PHP para upload de arquivos, chamaremos este script de
recebe_upload.php, inicialmente no script abaixo temos um array com o nome de $_arq, onde
passamos uma chave para este array e um contedo.
A chave pasta definimos que pasta no servidor os arquivos sero armazenados, depois na
chave tamanho definido o tamanho mximo do arquivo.
Linha 8: Nesta linha passamos para a chave extensoes um array com as extenses
permitidas.
Linhas 13 a 17: Criamos um array com os tipos de erros que podem ocorrer no upload.
Linha 20 a 22: Aqui temos uma estrutura condicional, que ser verificado se ocorreu algum
erro com o upload, se sim exibir mensagem de erro. Neste trecho usamos a varivel global
$_FILES, que trata especificamente de manipulao de arquivos entre o servidor e o
navegador.
Continuando o script, na linha 25 temos a varivel $extensao, onde ela vai receber a extenso
do arquivo, com a funo strtolower() o nome do arquivo que recebido transformado em
minsculo, depois entra em ao a funo explode(), esta vai quebrar o nome do arquivo para
extrair a extenso do mesmo. Caso o arquivo no tenha as extenses definidas no inicio do
script, exibida uma mensagem de erro.
PHP/MySQL [Informtica] 29
Escola Estadual de Educao Profissional Ensino Mdio Integrado a Educao Profissional
Linha 31: Tenho uma condio que verificar se o tamanho do arquivo corresponde pelo
especificado na varivel $_arq[tamanho], a chave size do super global $_FILE retorna o
tamanho do arquivo.
Linhas 37 a 42: Nestas linhas verificamos se necessrio mudar o nome do arquivo, caso no
seja necessrio, o nome do arquivo mantido.
Continuando o script, agora j estamos no final do script, depois de passadas todas as
verificaes, hora de mover o arquivo para o diretrio especificado, para realizar esta tarefa
utilizado a funo move_uploaded_file(), onde passamos o arquivo, um nome temporrio caso
seja necessrio e o diretrio onde o arquivo ser armazenado.
Nas linhas 47 e 51: So apresentadas algumas mensagens, tambm criado um link para o
usurio verificar o arquivo que foi enviado.
3.6. Download
Agora vamos trabalhar com um velho conhecido de muitos, Download ou descarregar que
significa baixar, em portugus, a transferncia de dados de um computador remoto (servidor)
para um computador local.
Nesta aula vamos criar uma pgina de download, listando os arquivos de um determinado
diretrio.
Vamos criar uma pgina web chamada de listar_arquivos.php, abaixo temos como esta
pgina ficar.
Na body de nossa pgina vamos inserir o trecho de cdigo PHP acima, na linha 13 definimos o
caminho, ou seja, o diretrio que ser listado os arquivos, temos que criar um diretrio
chamado arquivos e colocarmos alguns arquivos nele.
Linha 14: Criamos uma varivel para armazenar o contedo do diretrio da varivel $path.
Linha 17: Criamos um lao de repetio com o while, listando assim todos os arquivos
encontrados no diretrio especificado. Para cada arquivo encontrado criando um link do
mesmo, com a tag <a>.
PHP/MySQL [Informtica] 30
Escola Estadual de Educao Profissional Ensino Mdio Integrado a Educao Profissional
Exerccios Prticos
1) Crie uma pagina onde o usurio poder escrever um texto e armazena-lo em um arquivo
com a extenso HTML, o prprio usurio quem ir definir o nome do seu arquivo, voc
deve criar no mnimo trs arquivos com textos usando sua pgina deste exerccio.
2) Crie trs pginas onde ser mostrado o texto dos artigos criados, ento deveremos ter
trs arquivos com contedo gerado no exerccio anterior e sendo exibidas em outras trs
pginas, uma pgina para cada arquivo.
3) Crie uma rea de download para baixar os arquivos criados no exerccio anterior.
4) Crie um novo script de upload a partir do que vimos na aula anterior, modifique o
tamanho de arquivo para upload, os tipos de arquivos aceitos.
PHP/MySQL [Informtica] 31
Escola Estadual de Educao Profissional Ensino Mdio Integrado a Educao Profissional
4. Rede de Comunicaes
Nesta aula vamos conhecer algumas funes capazes de recuperar informaes de servidores,
aprenderemos a trabalhar com a funo mail() do PHP e outros recursos de envio de e-mail. O
conhecimento adquirido nesta aula poder ser usado em outra necessidade para sistemas
web, o objetivo desta aula demonstrar algumas prticas com o uso do script PHP interagindo
com recursos de redes de computadores.
Abaixo temos algumas funes utilizadas em PHP para interao de recursos e servios de
rede, das funes citadas abaixo utilizaremos algumas.
Funo Descrio
checkdnsrr Verificar os registros de DNS correspondente a um determinado
nome de host Internet ou endereo IP.
dns_get_record Buscar DNS Resource Records associados a um hostname
fsockopen Abre um socket de conexo Internet ou de domnio Unix
gethostbyaddr Obtm nome do host de Internet correspondendo ao endereo de IP
fornecido.
gethostbyname Obter o endereo IPv4 correspondente a um determinado nome de
host Internet
gethostname Obtm o nome do host
getprotobyname Obter o nmero de protocolo associado com o nome de protocolo
getprotobynumber Obter nome do protocolo associado com o nmero de protocolo
getservbyname Obter o nmero da porta associada a um servio de Internet e
protocolo
getservbyport Obter servio de Internet que corresponde a porta e o protocolo
setcookie Envia um cookie
setrawcookie Enviar um cookie sem url encoding o valor do cookie
PHP/MySQL [Informtica] 32
Escola Estadual de Educao Profissional Ensino Mdio Integrado a Educao Profissional
Agora na imagem abaixo vamos criar o script PHP para verificar o domnio.
PHP/MySQL [Informtica] 33
Escola Estadual de Educao Profissional Ensino Mdio Integrado a Educao Profissional
Agora vamos fazer mais um exerccio, nesta situao problema precisa-se verificar a existncia
de um domnio de um endereo de email.
Na imagem acima vemos como ficar a pgina fase4_domi_mail.php, nesta caixa de texto
iremos digitar o endereo de e-mail.
Temos dois pontos importantes nesta pgina, no action chamaremos o script PHP
verific_domin_mail.php, e o input dominio_mail, que receber o endereo de email, para ser
verificado.
Para este exerccio usaremos a funo explode() que retorna um array contendo as partes da
string com valores separados.
Na linha 4: A varivel $dominio_mail recebe o nome do domnio obtido depois que a funo
explode dividiu as partes antes do @ e depois onde encontra-se o domnio.
Na linha 6: Aqui usamos a funo para verificar a existncia do domnio, esta verificao
somente do domnio, e no da existncia do email.
Nas linhas 8 e 16: Nesta condio a varivel $validar retorna um valor boolean, sendo
verdadeiro, o domnio existe a pagina que requisitou chamada e uma mensagem exibida.
Caso seja falso a pagina que requisitou chamada e uma mensagem exibida.
PHP/MySQL [Informtica] 34
Escola Estadual de Educao Profissional Ensino Mdio Integrado a Educao Profissional
Servios
A internet composta de diversos servios, que atravs destes que essa plataforma de
comunicao definida, esses servios que so utilizados diariamente em nossa vida online,
so estes HTTP, FTP, POP3, IMAP E SSH, estes servios trabalham com um protocolo, que
o conjunto de regras sobre o modo como se dar a comunicao entre as partes envolvidas.
Vamos criar um exemplo que verifica
a conectividade com o servidor, pois
todos esses servios so inicializados
no servidor.
Ao lado o exemplo que ser criado.
Agora vamos criar o script PHP, que ir executar o teste com o servidor.
Linha 3 e 4: Recebemos atravs do mtodo
POST, o endereo do servidor que iremos
realizar o teste, e a quantidade de vezes que
ir pingar no servidor.
Linha 11: Usamos a funo system(), que
permite executar vrios comandos no sistema
operacional do servidor, de acordo com o
sistema operacional do servidor o comando
pode mudar um pouco. Neste exemplo
usamos um servidor Windows, ento
passamos o comando ping n, a varivel
$qtde defini a quantidade de vezes e a
$server o hostname do servidor ou o IP.
No caso do Linux devemos usar desta forma system("/bin/ping -c $qtde $server");.
PHP/MySQL [Informtica] 35
Escola Estadual de Educao Profissional Ensino Mdio Integrado a Educao Profissional
4.2. Mail
Nos dias atuais uma caracterstica muito forte das aplicaes web o poder de comunicao,
uma as mais usadas o envio de email, em todos os sites de empresas temos o formulrio de
contato, e em alguns deles so enviados emails para determinados departamentos.
Em PHP temos a funo mail(), a sua sintaxe bem bsica, nesta funo so passados trs
parmetros, destinatrio, assunto e o corpo da mensagem.
Abaixo temos um exemplo de envio de email bem simples.
Neste exemplo chamamos a funo mail() e passamos os trs parmetros, isso o suficiente
para o envio de email, porem para testarmos este exemplo precisamos ter um servidor de
email.
PHP/MySQL [Informtica] 36
Escola Estadual de Educao Profissional Ensino Mdio Integrado a Educao Profissional
mail.add_x_header
Adicionar X-PHP-Originrio-Script que ir incluir UID do script, seguido pelo nome do arquivo.
mail.log
O caminho para um arquivo de log, que ir registrar todas as chamadas da funo mail (). As
entradas de log incluem o caminho completo do script, o nmero da linha, o endereo e
cabealhos do email.
SMTP
Usado apenas no Windows:
Passando o nome do host ou endereo IP do servidor, usado para emails enviados com a
funo mail().
smtp_port
Usado apenas sob Windows:
Passando o nmero da porta para se conectar ao servidor especificado, com a configurao
SMTP ao enviar e-mail com a funo mail ();
Porta padro 25. Apenas disponvel desde o PHP 4.3.0.
sendmail_from
Configura o campo do cabealho "From:" o endereo de email que deve ser usado em emails
enviados do PHP no Windows. Esta diretiva tambm define o "Return-Path:" cabealho
(header).
sendmail_path
configura o caminho para o programa sendmail, normalmente / usr / sbin / sendmail ou / usr / lib
/ sendmail (no Linux).
PHP/MySQL [Informtica] 37
Escola Estadual de Educao Profissional Ensino Mdio Integrado a Educao Profissional
Abaixo temos o script enviar_email, temos trs variveis uma para o destinatrio, outra para o
assunto e uma para a mensagem, ambos dados vindos do formulrio.
Linha 6: Nesta linha chamamos a funo mail(), passando os trs parmetros necessrios.
Para realizarmos os testes de envio de email, podemos baixar alguns programas servidores de
email, abaixo alguns disponveis.
http://www.baixaki.com.br/download/hmailserver.htm
PHP/MySQL [Informtica] 38
Escola Estadual de Educao Profissional Ensino Mdio Integrado a Educao Profissional
http://ultradownloads.com.br/listagem/servidores-de-e-mail/13,687,1,,,2,2,1.html
PHP/MySQL [Informtica] 39
Escola Estadual de Educao Profissional Ensino Mdio Integrado a Educao Profissional
5. Manipulao de dados
Nesta aula vamos aprender a manipular dados com a linguagem de programao PHP,
criaremos dois projetos, um ser o produto da disciplina, neste poderemos aplicar todo
conhecimento adquirido nas disciplinas de web, agora hora de por em prtica todos os
fragmentos aprendidos desta disciplina e de outras relacionadas.
O outro projeto para realizarmos as praticas em um contexto mais simples, para podermos
aprender e depois aplicar no projeto que o produto da disciplina.
Devido ao tempo no poderemos desenvolver este sistema por completo, utilizamos esta
proposta para aprendizado, dessa forma iremos desenvolver algumas partes do sistema com o
intuito didtico. Com a experincia que adquirirmos neste projeto poder ser aplicado em
outros projetos de sistemas web.
Uma fase muito importante de um projeto seja qual for a plataforma web ou desktop, o
planejamento, para ento experimentarmos esta experincia nesta disciplina, a proposta
desenvolver um projeto chamado de produto da disciplina, nesta aula propomos um projeto de
vdeo locadora, nele mostraremos algumas praticas atravs de exerccios.
PHP/MySQL [Informtica] 40
Escola Estadual de Educao Profissional Ensino Mdio Integrado a Educao Profissional
O planejamento
sempre bom planejar o projeto de seu site, que um rascunho do mesmo, Ento o primeiro
passo identificar quais sero as pginas, link e recursos que devero ter no site, em nosso
exemplo acima definimos que pginas ou links deviam estar disponveis na pagina inicial do
site o nosso index.php, depois escolher a pgina e especificar que links ou que pginas esto
disponveis a partir dela, como podemos verificar no exemplo abaixo.
Nesta estrutura temos o contedo Lanamento de ..., nesta rea da pgina Home criaremos
uma consulta para listar os lanamentos do ms vigente, mostrando o ms e os seus
lanamentos.
Abaixo temos como ir funcionar o menu rea restrita, este menu dedicado ao administrador
do sistema ou funcionrio da empresa de locao de filmes, o usurio precisa se logar nesta
parte do sistema, caso ele j esteja logado ser direcionado para o home (index.php) caso
contrario direcionado para a pagina de login de usurio.
PHP/MySQL [Informtica] 41
Escola Estadual de Educao Profissional Ensino Mdio Integrado a Educao Profissional
Exerccio Prtico
1) Para exercitarmos um pouco vamos planejar um site, vamos seguir os passos abaixo.
2) Crie o projeto SBfilmes na sua IDE de preferncia, faa o download do template e script
do banco de dados, execute o script do banco de dados.
PHP/MySQL [Informtica] 42
Escola Estadual de Educao Profissional Ensino Mdio Integrado a Educao Profissional
Agora vamos conhecer como podemos realizar o acesso a um SGBD, iremos criar uma base
de dados para exerccios que sero realizados nas prximas aulas.
Abaixo temos as algumas funes de acesso ao SGBD Mysql.
PHP/MySQL [Informtica] 43
Escola Estadual de Educao Profissional Ensino Mdio Integrado a Educao Profissional
PHP/MySQL [Informtica] 44
Escola Estadual de Educao Profissional Ensino Mdio Integrado a Educao Profissional
que contem os dados da conexo com o SGBD, depois na linha 12 passamos o novo valor
para a varivel $sql.
Linha 27: Esta funo utilizada para fechar a conexo aberta.
Este um pequeno exemplo de um script de instalao de aplicativos web, com ele
aprendemos que podemos realizar toda a criao de um banco de dados atravs de um script
PHP.
O phpMyAdmin esta incluso na instalao do Wamp Server, e pode ser feito o download no
site http://www.phpmyadmin.net.
Projeto SBFilmes
Agora com o projeto j criado na sua IDE e o banco de dados rodando, vamos criar um script
para o projeto SBFilmes com os dados inicias usurio e senha, estes dados so do usurio
padro do sistema.
Abaixo temos o script com o insert do usurio, nas aulas anteriores vimos como fazer a
conexo e a criao do banco de dados e tabelas, neste exerccio utilizar a instruo insert
do SQL.
PHP/MySQL [Informtica] 45
Escola Estadual de Educao Profissional Ensino Mdio Integrado a Educao Profissional
Crie um novo script PHP com o nome insertuser.php, insira o cdigo acima e depois
execute, pronto acabamos de inserir os dados de usurio e senha na base de dados
sbfilmes.
Como podemos observar declaramos quatro variveis com os dados da conexo, e
inserimos a instruo SQL, com relao ao SQL vimos na disciplina de banco de dados.
Exerccios Prticos
1) Crie um script de instalao para um determinado site, o nome da base de dados ser
db_restaurante, abaixo o modelo de dados para a criao do banco, voc dever criar
uma pgina nela deve existir um boto com o nome de instalar sistema, aps o clique do
usurio neste boto inicia a execuo do script.
PHP/MySQL [Informtica] 46
Escola Estadual de Educao Profissional Ensino Mdio Integrado a Educao Profissional
Tratamento de erros ou excees o nome que se d a tarefa de elaborar rotinas que sero
executadas sempre que um erro acontecer, durante a execuo de um aplicativo,
uma tarefa do desenvolvedor tentar imaginar em quais situaes o aplicativo poderia passar
por um erro, e prepara-lo para todas situaes possveis. Abaixo temos alguns mtodos para
serem usados no tratamento de excees.
Mtodo Descrio
Neste script de criao de uma base de dados, realizamos a conexo na linha 3 usamos a
funo die(), caso a conexo falhe ser apresentado ao usurio uma mensagem de erro.
Para testarmos o nosso script vamos parar o servio do mysql e tentar rodar o script.
Para parar o servio do mysql no windows usando o wamp Server, clique no cone do wamp na
badeja do sistema, clique no meu Mysql e v ate o menu service, depois clique em para
servio, para iniciar novamente s escolher iniciar servio.
PHP/MySQL [Informtica] 47
Escola Estadual de Educao Profissional Ensino Mdio Integrado a Educao Profissional
Parar o MySQL
sudo /etc/init.d/mysql stop
Iniciar o MYSQL
sudo /etc/init.d/mysql start
Este script ser chamado de const_excecao.php, nele vamos testar alguns mtodos de
tratamento de exceo, quase todas as linguagens de programao utilizam uma instruo
chamada de try/catch, onde o que esta dentro do bloco try tentar ser executado caso no
consiga, ser direcionado para o catch onde ser capturado o erro ocorrido.
Linha 2: Nesta linha definimos a localizao do arquivo com o seu devido nome.
Linhas 3 a 12: Neste trecho a instruo try tentar executar a instruo de ler o arquivo, se o
arquivo no existir a instruo throw new entra com a classe Exception e lana a mensagem
de erro, se no exibida uma mensagem de sucesso. A linha 12 entra em ao caso o arquivo
no exista ou no seja encontrado, usando a instruo catch, criado um objeto $ex da classe
Exception, com este objeto possvel chamar as funes desta classe.
PHP/MySQL [Informtica] 48
Escola Estadual de Educao Profissional Ensino Mdio Integrado a Educao Profissional
5.5. Sesso
Sesso um recurso do PHP que permite que voc salve valores (variveis), para serem
usados ao longo da visita do usurio. Valores salvos na sesso podem ser usados em qualquer
parte do script, mesmo em outras pginas do site.
session_start();
Depois de iniciada a sesso, podemos definir valores dentro dela, exemplo abaixo:
$_SESSION['usuario'] = 'jplima';
Quando voc precisar exibir o valor salvo na sesso (provavelmente em outras pginas), veja o
exemplo abaixo:
echo $_SESSION['usuario'];
Voc pode salvar quantos valores quiser, pode re-definir os valores e usa-los em echos,
argumentos de funes e da forma que preferir.
Agora vamos aprender como deletar uma varivel especfica da sesso, vamos usar a funo
unset(), Exemplo abaixo;
unset($_SESSION['usuario']);
Deleta uma varivel da sesso.
Tambm podemos destruir toda a sesso de uma s vez, eliminando todas as variveis salvas,
exemplo abaixo:
PHP/MySQL [Informtica] 49
Escola Estadual de Educao Profissional Ensino Mdio Integrado a Educao Profissional
session_destroy();
Com isso voc tem total controle das sesses no seu site e pode salvar, por exemplo, o nome
de usurio depois que ele fez o login e salvar outra varivel informando que o usurio est
logado. Esta uma prtica muito comum em sistemas de autenticao de usurio.
PHP/MySQL [Informtica] 50
Escola Estadual de Educao Profissional Ensino Mdio Integrado a Educao Profissional
Exerccio de Aprendizagem
Vamos criar o login de usurio, no projeto SBFilmes criaremos o acesso do
administrador ao sistema, o usurio entra no menu rea restrita e se ele estiver com uma
sesso aberta ele direciona para o painel administrativo caso no esteja logado (com uma
sesso aberta) apresentado a tela de login. No template baixado existe um diretrio
chamado admin, nele ser salvo tudo relacionado rea administrativa.
1 passo: Ser criar um script de conexo com nossa base de dados sbfilmes, desta forma
toda vez que precisarmos abrir uma conexo h chamaremos.
Este script se chamar de conect_db.php, e ser salvo no raiz do site.
PHP/MySQL [Informtica] 51
Escola Estadual de Educao Profissional Ensino Mdio Integrado a Educao Profissional
PHP/MySQL [Informtica] 52
Escola Estadual de Educao Profissional Ensino Mdio Integrado a Educao Profissional
Linhas 24 a 26: Definimos trs variveis, onde cada varivel recebe seu valor correspondente
ao campo na tabela do banco de dados, usamos a funo mysql_result(), que retorna o valor
do campo especificado.
Linha 28: Inicializar a sesso.
Linhas 30 a 32: Grava as variveis na sesso.
4 passo: Neste passo vamos inserir um treco de cdigo PHP na pgina principal da rea
administrativa, chamada index.php. Desta forma o usurio s ter acesso a esta pgina se
estiver logado.
PHP/MySQL [Informtica] 53
Escola Estadual de Educao Profissional Ensino Mdio Integrado a Educao Profissional
5 Passo: Agora vamos criar o script PHP para realizar o logout do sistema que se chamar
logout.php.
Sempre que formos trabalhar com sesso temos que
iniciar a sesso, neste exemplo apagamos as
variveis especificas e depois destrumos todas as
sesses.
Linha 5 a 7: Destruindo as variveis de sesso
criadas.
Linha 9: Destri todas as sesses que foram criadas,
nas linhas de cdigo seguintes redireciona para a
pgina de login.
Na pgina index.php da rea restrita, vamos localizar o item de menu sair, na linha 100
chamamos o script de logout criado.
PHP/MySQL [Informtica] 54
Escola Estadual de Educao Profissional Ensino Mdio Integrado a Educao Profissional
PHP/MySQL [Informtica] 55
Escola Estadual de Educao Profissional Ensino Mdio Integrado a Educao Profissional
5.6. CRUD
Nesta aula vamos realizar o desenvolvimento do nosso CRUD (Create, read, update e delete ),
vamos fazer um exemplo mais simples antes de implementar em nosso template do projeto
SBFilmes.
Teremos dois projetos um ser o sbfilmes e o outro cursophp_mysql.
5.6.1. Insero
Nesta aula vamos aprender duas maneiras de realizar uma insero de dados na tabela, estes
exemplos sero feitos no projeto cursophp_mysql.
$username_db = "root"; => Esta por sua vez define o nome do usurio de acesso ao banco
de dados, em nosso exemplo usaremos o usurio root, porem pode ser criado um usurio
especifico para o banco de dados do seu projeto web, que sero definidos por voc ou pelo
DBA da empresa.
PHP/MySQL [Informtica] 56
Escola Estadual de Educao Profissional Ensino Mdio Integrado a Educao Profissional
Linha 8: Nesta linha temos a declarao da varivel $dbconn que ir receber a funo
mysql_connect( ), nesta funo passamos trs parmetros o nome do servidor de banco de
dados, o usurio e a senha de acesso ao banco de dados. Ambos definidos nas linhas
superiores. A funo die( ) vai abortar a execuo da aplicao, utilizado para tratamento de
erros, neste exemplo caso a conexo com o banco falhe ela ser chamada.
Linha 10: A funo mysql_select_db() responsvel por selecionar a base de dados, temos
que passar dois parmetros, um o nome da base de dados o outro os dados da conexo.
PHP/MySQL [Informtica] 57
Escola Estadual de Educao Profissional Ensino Mdio Integrado a Educao Profissional
2 Forma de insero: Neste exemplo faremos a mesma insero, porem a diferena que
iremos criar uma funo para insero na prpria pgina de formulrio, usaremos o mesmo
script de conexo do exemplo anterior.
Linha 10: Para evitar que dados sejam enviados a tabela quando a pgina for atualizada,
inserimos o if com a funo isset(), se a varivel do post no estiver vazia as linhas
posteriores sero utilizadas.
PHP/MySQL [Informtica] 58
Escola Estadual de Educao Profissional Ensino Mdio Integrado a Educao Profissional
3 Passo: Na estrutura da pgina no input submit, vamos inserir o onclik e chamar a funo
salvar.
Exerccio Prtico
1) Crie um formulrio de cadastro de frutas com os seguintes campos id_fruta,
nome_fruta, peso, voc dever criar este banco de dados assim como a tabela para
armazenar os dados.
Neste exerccio teremos que criar;
Um banco de dados.
Uma tabela conforme especificaes.
Um formulrio de cadastro.
Um script de conexo com o banco.
Um script para insero dos dados do formulrio.
Projeto SBFilmes
5.6.2. Alterao
Para realizarmos uma alterao nos dados teremos que listar, e depois escolher o que ser
alterado.
Vamos entender como funcionar.
PHP/MySQL [Informtica] 59
Escola Estadual de Educao Profissional Ensino Mdio Integrado a Educao Profissional
Vamos usar a tabela de cidades que j inserimos alguns registros nela, utilizaremos ela para
listar os dados cadastrados, vamos criar uma pgina chamada de manuteno_dados.php,
criaremos tambm um estilo para a nossa pgina de manuteno.
PHP/MySQL [Informtica] 60
Escola Estadual de Educao Profissional Ensino Mdio Integrado a Educao Profissional
Vamos criar primeiro nossa folha de estilo, e salvar em um diretrio chamado css no nosso
projeto cursophp_mysql, voc pode fazer o download desta folha de estilo no link
https://mega.co.nz/#!jYRUGJTZ!EWsQUWfUjXfb9l9vfoNqehHz9eQ2MIU35thCPlNxx6c
PHP/MySQL [Informtica] 61
Escola Estadual de Educao Profissional Ensino Mdio Integrado a Educao Profissional
Linha 28: Nesta linha utilizamos a funo mysql_query() para listar os registros da tabela, o
resultado da execuo da query ser armazenada na varivel $resultado.
Linha 29: Se a varivel $resultado estiver preenchida, ou seja, com registros o contedo da
instruo if executado.
Linha 30: Nesta linha usamos o while para povoar as linhas com os registros da tabela, dentro
do parntese no while temos, a varivel $row que recebe o resultado da funo
mysql_fetch_assoc(), que obtm uma linha do resultado como uma matriz associativa.
Linha 35 e 37: Nestas linhas obtemos o valor de cada campo da tabela, a varivel $row foi
preenchida com os registros, ento dentro dos [ ] passo o nome do campo da minha tabela.
Linha 38 e 39: Aqui criamos os links para chamar a pgina alterar, passando como parmetro
da URL o id, neste exemplo estaremos trabalhando com o mtodo get na pgina de alterar.
Um ponto muito importante desta etapa a passagem de parmetro pela URL, para isso temos
que ter a pgina que iremos chamar, por exemplo; alterar.php + ( ?id= ).
Agora vamos criar a pgina para alterar os dados, chamaremos de alterar.php, no podemos
esquecer de fazer o include do script de conexo com o banco.
PHP/MySQL [Informtica] 62
Escola Estadual de Educao Profissional Ensino Mdio Integrado a Educao Profissional
Linha 12: Criamos uma varivel que vai receber o valor do mtodo get.
Linha 13: Agora iremos fazer uma consulta baseado no id recebido do GET, selecionar todos
os campos onde o idt_cidade for igual a varivel $idAlt.
Vamos criar o script alterar_cidade.php, este script responsvel por receber os dados do
formulrio alterar.php, e executar a instruo SQL Update.
Linha 8: Escrevemos a instruo SQL para fazer a atualizao dos dados, neste exemplo
alteramos apenas um campo da tabela, porem pode ser feito com todos os campos da tabela,
por exemplo; mysql_query("UPDATE Tabela SET Campo1='valor1', Campo2='Valor2',
Campo3='Valor3'").
No exemplo acima fazemos a atualizao do campo nome_cidade onde idt_cidade for igual a
$id a varivel recebida.
PHP/MySQL [Informtica] 63
Escola Estadual de Educao Profissional Ensino Mdio Integrado a Educao Profissional
5.6.3. Excluso
Agora vamos para excluso de registros, seguindo da pgina de manuteno, vamos criar um
script PHP chamado excluir.php, vamos receber uma varivel da URL para determinar que
registro ser excludo.
Linha 4: A varivel $id recebe o valor passado pelo mtodo GET. Este id vem do formulrio de
manuteno e foi passado pela URL (exluir.php?id=).
Linha 5: Nesta linha executamos a instruo SQL delete, que realiza a excluso do registro
onde o idt_cidade for igual a varivel $id, depois na linha 7 fechamos a conexo.
Projeto SBFilmes
Em nosso projeto SBFilmes vamos fazer o cadastro de cliente, este cadastro para o cliente realizar a
locao dos filmes, Nesta situao vamos inserir os dados do cliente e depois realizar a autenticao
dele no sistema rea do cliente. Vamos seguir os passos do exerccio de aprendizagem.
Exerccio de Aprendizagem
Neste exerccio vamos desenvolver a pgina de cadastro de cliente, primeiro vamos entender os
campos da tabela de cliente.
PHP/MySQL [Informtica] 64
Escola Estadual de Educao Profissional Ensino Mdio Integrado a Educao Profissional
O campo Status serve para criamos um bloqueio, caso o cliente tenha alguma
pendncia financeira, setamos este campo com B(bloqueado) para ele no ter
acesso a fazer novas locaes, e L (liberado) ou vazio quando estiver tudo ok.
1 Passo: Vamos escolher uma pgina do template, nela criaremos um formulrio chamado
cad_cliente.php.
Depois de criado devemos fazer a incluso do script conect_db.php, que tem os dados da
conexo com o banco de dados sbfilmes.
Na div content do formulrio cad_cliente, criaremos os campos para o cliente inserir seus
dados.
Na linha 124 do nosso exemplo, vamos criar uma lista com os nomes das cidades, estes
registros de cidades vem da tabela t_cidades, o nome desta tag select cidade.
Linha 126: Nesta linha fazemos uma consulta pegando todos os campos da tabela t_cidades.
Linha 127: Agora com um loop (while) varremos todas as posies da matriz associativa, que
foi obtida pela funo mysql_fetch_assoc ().
Linha 129: Aqui passamos o id da cidade no atributo value da tag option, depois o nome da
cidade, os campos id_cidade e cidade so da tabela t_cidade.
PHP/MySQL [Informtica] 65
Escola Estadual de Educao Profissional Ensino Mdio Integrado a Educao Profissional
PHP/MySQL [Informtica] 66
Escola Estadual de Educao Profissional Ensino Mdio Integrado a Educao Profissional
Em nosso formulrio de cadastro temos o campo data de nascimento, o tipo de dados data do
SGBD MySql trabalha com o padro de data americano(ano ms - dia), diferente do padro
brasileiro (dia-ms -ano), por conta dessa diferena vamos criar uma funo de converso de
data.
Linha 16: Aqui criamos uma funo converter_dt, esta funo recebe como parmetro uma
data, na linha 18 explodimos o valor recebido pelas barras (/), para criar um array das partes,
usamos a funo explode() do PHP. Na linha 22 fazemos a inverso das posies e inclumos
as barras, estamos pegando as partes da data e concatenando. Ao fim desta funo
retornamos a data modificada.
Na linha 26: Antes de passar a data para o banco de dados, temos que declarar a varivel
$dt_nasc_novo que vai receber o retorno da funo converter_dt(), esta recebe a data vinda
do formulrio no padro brasileiro e converte para o americano.
Com esta funo conseguimos resolver o problema de datas, no formulrio podemos usar o
padro brasileiro, que antes de ir para o banco esta mesma data convertida para o padro
americano, posso utilizar a mesma funo para exibir os dados para o usurio no padro
brasileiro, s modificar a posio do array.
Lembrando que esta funo no altera o formato de data do banco, a modificao feita
apenas para interao com o usurio.
PHP/MySQL [Informtica] 67
Escola Estadual de Educao Profissional Ensino Mdio Integrado a Educao Profissional
3 Passo: Continuando o nosso exemplo, Agora vamos criar a nossa query de insero, neste
exemplo de insert aps o nome da tabela entre parnteses, passamos os campos que
queremos inserir, como podemos observar colocamos apenas os campos os quais queremos
inserir dados nele, com suas respectivas variveis. Aps os dados inseridos e no havendo
erros, a pgina de cadastro de cliente ser chamada para que possa ser feito outro cadastro,
ou direcionar para o index.
Projeto SBFilmes
Agora para testarmos o cadastro vamos desenvolver o login da rea de cliente, atravs
desta rea que o cliente poder realizar as locaes. O nome de usurio do cliente o
seu email e a senha ser armazenada no campo senha_cli, da tabela t_cliente.
Crie o cadastro de filmes da rea administrativa, nesta tarefa teremos que criar um script
de upload para enviar ao servidor as imagens das capas dos filmes.
Exerccio Prtico
Faa um programa web que realize um cadastro de contas bancrias com as seguintes
informaes: nmero da conta, nome do cliente, CPF e saldo. O banco permitir o
cadastramento de contas com o mesmo CPF e no poder haver mais que uma conta com o
mesmo nmero da conta. Crie o menu de opes a seguir.
Menu de opes:
1. Cadastro de contas de determinado cliente.
2. Login do cliente.
3. Visualizar contas de determinado cliente, somente se estiver logado.
a. O cliente pode excluir uma conta.
4. Alterar dados pessoais do Cliente.
5. Saque onde o valor subtrado do seu saldo.
PHP/MySQL [Informtica] 68
Escola Estadual de Educao Profissional Ensino Mdio Integrado a Educao Profissional
PHP/MySQL [Informtica] 69
Escola Estadual de Educao Profissional Ensino Mdio Integrado a Educao Profissional
Nestas aulas vamos trabalhar com algumas query SQL usando o PHP, veremos algumas
consultas com relacionamento de tabelas e um exemplo de paginao de uma consulta,
podemos utilizar todas as instrues SQL do MySql em seu cdigo PHP. Abaixo temos
algumas clusulas SQL que podem ser uteis.
Clusula like verifica se o contedo do dado contm a string que est antes do % (Jos%),
aps o % (%Ana) ou entre o % (%usa%). Este comando utilizado com a clusula where.
Sintaxe: select [coluna] from [tabela] where [coluna] LIKE string;
Ex. select * from pessoa where nm_pessoa like 'J%';
Clusula between verifica se o contedo do dado est entre um limite mnimo e mximo.
Sintaxe: select [coluna] from [tabela] where [coluna] BETWEEN limite inferior and limite
superior
Ex. select * from pessoa where salario between 2600 and 3000;
PHP/MySQL [Informtica] 70
Escola Estadual de Educao Profissional Ensino Mdio Integrado a Educao Profissional
A proposta deste exemplo criar uma consulta de filmes listando-os pela categoria, iremos
selecionar uma categoria e sero mostrados abaixo os filmes que pertencem a ela.
Vamos iniciar codificando a pgina, nas primeiras linhas temos a incluso do script
conect_db.php, e na linha 2 vamos setar o charset, para resolver problemas com acentuao.
Linhas 13 a 18: Temos uma consulta que lista todos os campos da tabela t_categoria, na linha 17
passamos no value do <option> o idcategoria este valor ser usado para fazer outra consulta.
PHP/MySQL [Informtica] 71
Escola Estadual de Educao Profissional Ensino Mdio Integrado a Educao Profissional
Continuando o script na linha 24, declaramos a varivel $idcat ela vai receber o valor (value) da tag
<select> da linha 17, atravs do mtodo POST.
Linhas 25 a 28: Nestas linhas criamos a query da consulta, com a instruo SQL SELECT
selecionamos os campos idfilme, titulo, nome estes campos so da tabela t_filme e t_categoria,
onde o id da tabela t_categoria(idcategoria) for igual a o idcategoria da tabela t_filme
(categoria_idcategoria), desta forma garanto que s sero listados o idcategoria que existir na
tabela t_filme, evitando assim registros duplicados, agora passo o idcategoria da tabela
t_categoria for igual a varivel $idcat, como podemos observar neste exemplo usamos aspas
simples, podendo tambm usar a concatenao de strings.
Linhas 30 a 35: Agora s executar a query e dentro do loop while passar os campos que
sero exibidos na pgina.
Consulta paginada
Neste exemplo vamos criar uma consulta, para listar apenas uma faixa de registro em cada
pgina usaremos a instruo SQL limit, na imagem abaixo temos o exemplo desta aula.
Vamos utilizar a tabela t_filme do banco de dados sbfilmes, vamos usar os campos titulo e
fotocapa neste exemplo.
PHP/MySQL [Informtica] 72
Escola Estadual de Educao Profissional Ensino Mdio Integrado a Educao Profissional
Dentro da body na linha 35, declaramos uma varivel chamada $maximo, atravs dela vamos
determinar quantos registros sero mostrados por pgina.
Linha 37: Declaramos a varivel $pagina que vai receber o valor do mtodo GET, abaixo
temos uma estrutura condicional, se a varivel $pagina estiver vazia o valor um atribudo
pgina.
Linhas 42 a 43: Nestas linhas fazemos um calculo para determinar o registro inicial.
Linha 45: Nesta linha fazemos uma consulta para listar todos os registros da tabela t_filme,
para utilizar esta query na linha abaixo.
PHP/MySQL [Informtica] 73
Escola Estadual de Educao Profissional Ensino Mdio Integrado a Educao Profissional
Contedo da pgina
Neste trecho do cdigo dando continuidade ao trecho anterior, iniciamos a gerao do
contedo que ser apresentado na pgina.
Linha 52: Nesta linha criamos a query para obter os registros da tabela t_filme, usamos a
clusula limit que retorna o limite entre dois valores, onde passamos a varivel $inicio que teve
seu valor calculado nas linhas anteriores, e a varivel $maximo que definimos o valor da
mesma no inicio do cdigo.
Linha 54: Agora passamos a query SQL que esta armazenada na varivel $sql, para a funo
mysql_fetch_object(), que retorna um objeto com propriedades que correspondem a linha
obtida, sendo armazenado na varivel $linha.
Linha 58: Nesta linha passamos o valor coresponde do campo da tabela para ser exibido nos
espaos definidos.
PHP/MySQL [Informtica] 74
Escola Estadual de Educao Profissional Ensino Mdio Integrado a Educao Profissional
Navegao de pginas
Neste trecho vamos trabalhar a navegao de pagina, criando os links com o numero de
pginas e com os links prximo e anterior.
Linha 75: Nesta linha criamos a varivel $menos para decrementar a pgina, passar o valor
$pagina -1.
Linha 76: Agora criamos a varivel $mais para incrementar a pgina, passando o valor de
$pagina + 1.
Linha 77: Aqui temos a varivel $pgs que recebe o valor da funo ceil(), esta retorna o
prximo maior valor inteiro, arredondando para cima do valor, se fracionrio. Entre parnteses
estamos dividindo o total de registros pelo Maximo de registros obtido pela consulta.
Nas linhas 78 a 82: Temos estruturas condicionais para determinar se $pgs (pginas) maior
ou menor, se $menos maior que zero criar o link com a localizao atual do script atravs da
varivel global $_SERVER.
Linha 84: Nesta linha temos uma estrutura de repetio for, para criar a numerao das
pginas e acrescentar o link das mesmas.
Linha 91: Nesta estrutura condicional temos se $mais menor ou igual a $pgs, criar o link com
a localizao da pgina.
PHP/MySQL [Informtica] 75
Escola Estadual de Educao Profissional Ensino Mdio Integrado a Educao Profissional
5.6.5. Consulta
Nesta aula vamos desenvolver um formulrio de pesquisa, iremos acrescentar nele o link para
alterar e excluir.
Vamos fazer uma consulta de cidades pelo nome, usaremos a base de dados db_php_mysql,
este exemplo bem pratico e pode ser implementado com qualquer tabela.
Abaixo temos o resultado final deste exemplo.
Vamos criar uma nova pgina e chamaremos ela de consultar.php, abaixo temos a
codificao da pgina.
Na linha 3: Temos a varivel de pesquisa, que vai receber pelo mtodo POST o valor digitado
pelo usurio no input.
Abaixo, na linha 30 temos a construo da nossa query, que vai selecionar todos os campos da
tabela t_cidade onde o nome da cidade iniciar com o valor digitado pelo usurio no input.
PHP/MySQL [Informtica] 76
Escola Estadual de Educao Profissional Ensino Mdio Integrado a Educao Profissional
A proposta fazer aqueles formulrios em que temos 2 ou 3 ou mais inputs, que serviro de
filtro para a consulta que faremos na base de dados. Porm, o usurio pode querer preencher
apenas um desses campos, dois deles, ou todos, e a nossa query, deve se adequar a esta
realidade, mandando para o servidor apenas a consulta correta. Abaixo est a uma soluo
para o problema. Usando um array, e alguns ifs,
Estrutura HTML
PHP/MySQL [Informtica] 77
Escola Estadual de Educao Profissional Ensino Mdio Integrado a Educao Profissional
PHP/MySQL [Informtica] 78
Escola Estadual de Educao Profissional Ensino Mdio Integrado a Educao Profissional
Linha 34: Aqui temos a query que lista todos os campos da tabela t_cliente, que o inicio da
nossa query.
Na linha 35: Temos uma condio que conta os elementos de um array.
Na linha 36: fazemos a concatenao da query, e a utilizao da funo implode() que junta os
elemento da matriz $where na string $sql.
Linha 39: Aqui criamos uma funo de filtro anti injection, uma forma de proteger seu cdigo
contra ataques de injees de cdigo PHP na sua consulta.
Agora vamos executar a nossa query, passando a varivel $sql para a funo
mysql_fetch_assoc().
5.7. Relatrios.
Nesta aula vamos aprender a criar relatrio em PDF usando PHP, para esta prtica vamos
utilizar a classe FPDF, uma classe para PHP de grande utilidade no processo de criao de
relatrios em formato PDF, utilizando funes simples e poderosas. O FPDF um Software
Livre (e gratuito), o que significa que voc poder utiliz-lo livremente para uso pessoal ou
PHP/MySQL [Informtica] 79
Escola Estadual de Educao Profissional Ensino Mdio Integrado a Educao Profissional
comercial, alm de poder modific-lo e estudar seu cdigo-fonte, ao contrrio da PDFlib, que
exige o pagamento de licenas para uso comercial.
O FPDF possui suporte s principais funes para gerao de relatrios, como por exemplo:
Instalando o FPDF
Vamos criar um formulrio com uma lista drop-down (<select>), nela vamos listar os nomes
de clientes cadastrados na base de dados sbfilmes, conforme imagem abaixo, quando o
usurio der um clique no boto imprimir, ser enviado via POST o id do cliente selecionado, o
script modelo_pdf2.php recebe o valor da varivel e lista os dados do cliente selecionado no
formulrio.
Vamos criar o formulrio, a pagina web ser chamada de form_pdf.php, inicialmente iremos
incluir o script conect_db.php com os dados da conexo da base de dados sbfilmes.
PHP/MySQL [Informtica] 80
Escola Estadual de Educao Profissional Ensino Mdio Integrado a Educao Profissional
Linha 5: Criamos a classe pdf que vai herdar os mtodos e objetos da classe FPDF.
Linha 7: Vamos criar uma funo chamada Header, que ser o topo da nossa pgina em pdf.
Linhas 9 a 17: Nestas linhas da funo Header, temos o mtodo Image onde definimos a
imagem que ir aparecer em nosso arquivo pdf, onde (10) e (6) so as coordenadas da
PHP/MySQL [Informtica] 81
Escola Estadual de Educao Profissional Ensino Mdio Integrado a Educao Profissional
Onde width a largura e height, a altura da clula. Alm destes parmetros, em texto informa-
se o contedo da clula(string texto). A opo borda deve ser preenchida com 0(zero), para
retir-la, ou 1 para colocar a borda. ln indica para onde vai o cursor aps a chamada da funo
Cell(), e seus valores podem ser 0 para a direita, 1 para o comeo da prxima linha e 2 para
baixo.
Alinhamento pode ser preenchido com L para a esquerda (default), C para centralizado e R
para a direita.
Em fill, devem-se informar os valores 0 para transparente (default) e 1 para preenchimento de
fundo da clula.
Em link, poderia se utilizar a URL ou identificador retornado pela funo AddLink().
Na linha 20: Temos a funo Footer que o nosso rodap, na linha 22 temos funo SetY,
que muda o cursor para a coordenada em y desejada. SetY(float coordenada);
Continuando o nosso script, na linha 31 cria-se um objeto. Com os valores default para pgina
so: tamanho A4 e no modo Retrato, com as medidas em milmetros (mm).
PHP/MySQL [Informtica] 82
Escola Estadual de Educao Profissional Ensino Mdio Integrado a Educao Profissional
Para alterar os valores padres deste objeto preciso passar os parmetros deste objeto.
Vejamos a sintaxe abaixo PDF() :
PDF([String Orientao [,String Unidade [,mixed formato]]]);
O parmetro Orientao pode ser preenchido com:
P: Portrait (Retrato);
L: Landscape (Paisagem);
Em Unidade podemos informar os valores:
pt: para pontos;
mm: para milmetros;
cm: para centmetros;
in: para polegadas;
E em Formato:
A3;
A4;
A5;
Letter;
Legal;
Na linha 32: Defini um alias para o nmero de pginas, se no for informado nenhum assume
o default.
Na linha 33: Adiciona uma nova pgina.
Linha 37: Nesta linha recebemos o valor da tag <select> que ser armazenado na varivel
$id_cliente.
Linha 39: Agora faremos a consulta para obter os dados do cliente, atravs do valor
selecionado no formulrio, vamos trazer todos os dados do cliente onde o idcliente que o
nome do campo da tabela, for igual a $id_cliente, que obteve o valor atravs do mtodo POST
do formulrio.
Linhas 40 a 46: Temos o lao onde ira adicionar as cell() com os valores obtidos da consulta,
concatenando o nome do campo para mostrar no pdf e o valor do registro da tabela.
PHP/MySQL [Informtica] 83
Escola Estadual de Educao Profissional Ensino Mdio Integrado a Educao Profissional
Linha 49: Nesta linha criado o arquivo PDF atravs do mtodo output(). Se o navegador
tiver o plugin Adobe Acrobat Reader instalado, o documento ser aberto pelo prprio
navegador. Caso contrrio, ele pedir para fazer o download do PDF gerado.
PHP/MySQL [Informtica] 84
Escola Estadual de Educao Profissional Ensino Mdio Integrado a Educao Profissional
Com o uso de frameworks, os programadores tem o controle de seu tempo e de seus cdigos-
fonte, as tarefas repetitivas so minimizadas, os projetos so concludos em menos tempo, os
padres so seguidos.
Abaixo sero apresentados alguns frameworks que vamos conhecer que so: CakePHP,
Symfony, Zend Framework e Solar Framework.
Os frameworks so bastante utilizados em projetos complexes, e que utilizam algum padro de
desenvolvimento como MVC, que a separao da estrutura da aplicao em trs partes
distintas: Modelo, Viso e Controle:
Modelo: gerencia os dados da aplicao.
Viso: gerencia a sada grfica e textual da parte da aplicao visvel ao usurio.
Controle: interpreta as entradas de mouse e teclado do usurio, comandando a Viso e o
Modelo para se alterarem de forma apropriada.
Os frameworks, sejam elas escritas em PHP ou em qualquer outra linguagem, oferecem ao
programador um conjunto de cdigos prontos que permitem realizar as tarefas mais bsicas no
desenvolvimento de um aplicativo. Por oferecer essa estrutura bsica, os frameworks tornam o
desenvolvimento mais rpido e reduzem o volume de cdigo repetitivo escrito pelo
programador.
PHP/MySQL [Informtica] 85
Escola Estadual de Educao Profissional Ensino Mdio Integrado a Educao Profissional
No Configurao
Nada de XML complicado ou arquivos YAML. Basta configurar seu banco de dados e voc
estar pronto para utilizar.
Licena amigvel
CakePHP licenciado sob a licena MIT que o torna perfeito para o uso em aplicaes
comerciais.
Proteger
CakePHP vem com built-in ferramentas para validao de entrada, proteo CSRF, proteo
adulterao Form, preveno de injeo SQL, preveno XSS, ajudando voc a manter seu
aplicativo seguro.
PHP/MySQL [Informtica] 86
Escola Estadual de Educao Profissional Ensino Mdio Integrado a Educao Profissional
Solar um framework de aplicaes web para PHP 5. a ideia de Paul M. Jones. Outros
desenvolvedores esto trabalhando em componentes adicionais para o pacote de distribuio
de projeto padro, tudo sob a nova licena BSD, o download dela pode ser encontrado em
http://solarphp.com/.
Este framework permite Integrao completa dos padres de desenvolvimento, como: MVC,
Query Objetos, Lazy Load. Abaixo temos algumas caractersticas deste framework.
Localizao herdada por classe: Defina as strings de locale para uma classe, e todos
os seus filhos herdam.
PHP/MySQL [Informtica] 87
Escola Estadual de Educao Profissional Ensino Mdio Integrado a Educao Profissional
PHP/MySQL [Informtica] 88
Escola Estadual de Educao Profissional Ensino Mdio Integrado a Educao Profissional
A primeira verso do symfony foi lanada em Outubro de 2005 pelo fundador do projeto Fabien
Potencier. Fabien o CEO da Sensio (http://www.sensio.com/), uma agncia web francesa
muito conhecida pelos seus pontos de vista inovadores sobre desenvolvimento web.
symfony um framework completo projetado para aperfeioar o desenvolvimento de
aplicaes web, atravs de vrias caractersticas. Para comear ele separa um aplicativo web
das regras do negcio, lgica e apresentao. Ele contm diversas ferramentas e classes que
visam reduzir o tempo de desenvolvimento de uma complexa aplicao web. Alm disso, ele
automatiza tarefas comuns, para que o desenvolvedor possa se concentrar inteiramente nas
especificidades da aplicao. O resultado final dessas vantagens que no h necessidade de
reinventar a roda a cada vez que um novo aplicativo web construdo.
O symfony foi escrito inteiramente em PHP 5. Ele foi testado em vrios projetos do mundo real,
na verdade, no uso de alta demanda em sites de negcio. Ele compatvel com a maioria
das bases de dados disponveis, incluindo o MySQL, PostgreSQL, Oracle e Microsoft SQL
Server. No site do projeto http://symfony.com/, podemos fazer o download deste framework.
Ele roda em plataformas Windows e Unix. Abaixo temos s suas caractersticas.
Caractersticas symfony
O symfony foi construdo a fim de cumprir os seguintes requisitos:
PHP/MySQL [Informtica] 89
Escola Estadual de Educao Profissional Ensino Mdio Integrado a Educao Profissional
O Zend Framework fornece cdigo limpo estvel, baseada em PHP e orientada a objetos,
usa o paradigma MVC, possui contribuidores de software livre, contribuidores que assumem
responsabilidade pelo fato de seu cdigo no ser propriedade intelectual de terceiros, podemos
fazer o download do framework no site http://framework.zend.com/.
Este framework tem como meta facilitar sua vida de programao, no apenas em geral,
instituindo o padro MVC, mas tambm para coisas especficas que voc tende a fazer o
tempo todo, como acessar bancos de dados e gerao de arquivo PDF.
Essa arquitetura flexvel permite aos desenvolvedores usar quaisquer componentes, na tabela
abaixo vamos conhecer estes componentes.
PHP/MySQL [Informtica] 90
Escola Estadual de Educao Profissional Ensino Mdio Integrado a Educao Profissional
Zend_InputFilter Para Zend_Filter, esse projetado para trabalhar com arrays como
entradas de formulrio.
Zend_Mail Esse possibilita que voc envie texto e e-mail MIME com diversas
partes.
PHP/MySQL [Informtica] 91
Escola Estadual de Educao Profissional Ensino Mdio Integrado a Educao Profissional
Referncias Bibliogrficas
Construindo Aplicaes Web com Php e MysqlNovatec
Faa um Site - Php 5.2 Com Mysql 5.0 - Comrcio Eletrnico - Orientado Por Projeto - Para
WindowsErica
http://www.php.net/manual/pt_BR
PHP/MySQL [Informtica] 92
Escola Estadual de Educao Profissional Ensino Mdio Integrado a Educao Profissional
ndice de Tabelas
Tabela 1 - Variveis Globais Fonte:
http://php.net/manual/pt_BR/language.variables.superglobals.php ................................................... 6
PHP/MySQL [Informtica] 93
Hino Nacional Hino do Estado do Cear
Terra adorada,
Entre outras mil,
s tu, Brasil,
Ptria amada!
Dos filhos deste solo s me gentil,
Ptria amada, Brasil!