Logo Passei Direto
Buscar

Utilizando Banco de Dados com PHP

Unidade 3 — Utilizando Banco de Dados com PHP: aborda conceitos de banco de dados, MySQL e phpMyAdmin; criação e manipulação de bancos, tabelas e registros; integração PHP–MySQL (conexão, leitura, atualização); funções, manipulação de arquivos, sumário e iconografia.

Material
páginas com resultados encontrados.
páginas com resultados encontrados.

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Prévia do material em texto

Unidade 3
Utilizando Banco 
de Dados com 
PHP
Luis Fernando Corcini
Introdução ao 
Coding Web
Diretor Executivo 
DAVID LIRA STEPHEN BARROS
Diretora Editorial 
ANDRÉA CÉSAR PEDROSA
Projeto Gráfico 
MANUELA CÉSAR ARRUDA
Autora 
LUIS FERNANDO CORCINI
Desenvolvedor 
CAIO BENTO GOMES DOS SANTOS
Luis Fernando Corcini
Olá! Meu nome é Luiz Fernando Corcini. Sou formado em 
Engenharia Eletrônica, com especialização em Administração de TI, 
Mestre em Educação e Novas Tecnologias e Doutorando em Sistemas 
Tutores Inteligentes. Tenho experiência técnico- profissional na área 
de desenvolvimento e gestão da produção de softwares nas áreas 
de Gerenciamento de Processos Empresariais. Uso os recursos 
disponibilizados pela Web há mais de 20 anos. Sou professor universitário 
há mais de 15 anos, publiquei vários livros técnicos sobre assuntos 
voltados à área de informática. Fui convidado pela Editora Telesapiens a 
integrar seu elenco de autores independentes. Estou muito feliz em poder 
ajudar você nesta fase de muito estudo e trabalho.
O AUTOR
Olá. Meu nome é Manuela César de Arruda. Sou a responsável pelo 
projeto gráfico de seu material. Esses ícones irão aparecer em sua trilha 
de aprendizagem toda vez que:
ICONOGRÁFICOS
INTRODUÇÃO: 
para o início do 
desenvolvimento de 
uma nova com-
petência;
DEFINIÇÃO: 
houver necessidade 
de se apresentar um 
novo conceito;
NOTA: 
quando forem 
necessários obser-
vações ou comple-
mentações para o 
seu conhecimento;
IMPORTANTE: 
as observações 
escritas tiveram que 
ser priorizadas para 
você;
EXPLICANDO 
MELHOR: 
algo precisa ser 
melhor explicado ou 
detalhado;
VOCÊ SABIA? 
curiosidades e 
indagações lúdicas 
sobre o tema em 
estudo, se forem 
necessárias;
SAIBA MAIS: 
textos, referências 
bibliográficas e links 
para aprofundamen-
to do seu conheci-
mento;
REFLITA: 
se houver a neces-
sidade de chamar a 
atenção sobre algo 
a ser refletido ou 
discutido sobre;
ACESSE: 
se for preciso aces-
sar um ou mais sites 
para fazer download, 
assistir vídeos, ler 
textos, ouvir podcast;
RESUMINDO: 
quando for preciso 
se fazer um resumo 
acumulativo das 
últimas abordagens;
ATIVIDADES: 
quando alguma 
atividade de au-
toaprendizagem for 
aplicada;
TESTANDO: 
quando o desen-
volvimento de uma 
competência for 
concluído e questões 
forem explicadas;
SUMÁRIO
Introdução a banco de dados ......................................................................... 11
Conceitos importantes ...............................................................................................................12
O que é banco de dados? .......................................................................................12
Outros conceitos .............................................................................................................13
Propriedades gerais de um banco de dados ............................................................13
Atributo-chave ................................................................................................................. 16
Banco de dados MYSQL .......................................................................................................... 18
Acessando o PHPMYADMIN ................................................................................. 19
Criando o primeiro banco de dados em MYSQL ...................................20
Manipulação de tabelas e campos .................................................................................. 25
Inserindo registros em uma tabela .................................................................. 25
Alterando registros em uma tabela .................................................................28
Excluindo registros em uma tabela .................................................................29
Localizando registros em uma tabela ............................................................30
Usando banco de dados no blog pessoal ..................................................................34
Manipulação de dados no MYSQL via PHP ................................................38
Conectando a página web ao banco de dados via PHP ..................................38
Atualizando a tabela de apresentação pessoa via MYSQL .............41
Lendo os dados da tabela de apresentação via PHP ........................ 42
Atualizando o blog pessoal ...................................................................................................43
Funções e manipulação de arquivos ...........................................................48
Funções ................................................................................................................................................48
Usando funções no blog .........................................................................................50
Manipulação de arquivos ........................................................................................................55
Criar ou abrir um arquivo texto ............................................................................55
Fechar um arquivo texto ..........................................................................................57
Ler um arquivo texto ...................................................................................................58
Ler uma linha do arquivo .........................................................................................59
Inserir conteúdo em um arquivo TXT ............................................................ 60
Cookies, sessões e tratamento de erros ....................................................62
Cookies .................................................................................................................................................62
Sessões.................................................................................................................................................63
Tratamento de erros ....................................................................................................................65
Introdução ao Coding Web8
UNIDADE
03
Utilizando Banco de Dados com PHP
Introdução ao Coding Web 9
Seja bem-vindo à Unidade 3 – Utilizando Banco de Dados com PHP, 
da disciplina de Introdução ao Coding (Web). O conteúdo desta Unidade 
está dividido em quatro módulos. No primeiro módulo vamos entender o 
que é e para que serve um banco de dados, conhecer quais são os principais 
tipos, e aprender os principais conceitos e funcionalidades do banco de 
dados MySQL. No segundo módulo vamos aprender como manipular 
dados armazenados em bancos de dados MySQL por meio da linguagem 
PHP e suas interfaces de controle. No módulo três, aprenderemos a ler e 
gravar dados em arquivos texto. Por fim, no quarto módulo, aprenderemos 
a aperfeiçoar programas em PHP por meio do uso de cookies e sessões 
de transação, assim como conheceremos quais são os tipos de erros 
detectados pela linguagem PHP. É claro que existe muito mais a aprender, 
mas o aprofundamento de cada um desses conhecimentos pode ser feito 
acessando os links indicados durante o texto, no tópico [Saiba mais] ou 
verificando os itens indicados na bibliografia. Vamos começar? Excelente 
estudo para você!
INTRODUÇÃO
Introdução ao Coding Web10
Olá! Seja bem-vindo a nossa Unidade 3, e o nosso objetivo é auxiliar 
você no desenvolvimento das seguintes competências profissionais até o 
término desta etapa de estudos:
1. Entender o que é e para que serve um banco de dados. 
Conhecer quais são os principais tipos. Conhecer os principais conceitos 
e funcionalidades do banco de dados mysql;
2. Manipular dados armazenados em bancos de dados mysql por 
meio da linguagem php e suas interfaces de controle; 
3. Conhecer a sintaxe e a funcionalidade das principais funções 
em PHP, com destaque para aquelas que permitem a manipulação de 
arquivos;
4. Aperfeiçoar programas em php por meio do uso de cookiese 
sessões de transação, bem como o tratamento de erros.
Então? Preparado para adquirir conhecimento sobre um assunto 
fascinante e inovador como esse? Vamos lá
OBJETIVOS
Introdução ao Coding Web 11
Introdução a banco de dados
Você já deve ter percebido, nas unidades anteriores, que as páginas 
web contêm informações que poderiam ser armazenadas em algum 
lugar e apresentadas conforme a necessidade ou o perfil do usuário que 
está a acessar a página. Isso faria com que as informações da página 
passassem a ter características dinâmicas, ou seja, poderiam ser alteradas 
automaticamente conforme o dia, o perfil do usuário, a relevância ou a 
validade de uma informação.
Figura 1: Imagem de Servidor.
Fonte: Pixabay
Para armazenar textos, imagens ou qualquer outro dado, 
precisamos de um banco de dados. Mas para utilizar os seus recursos, 
precisamos conhecer o que ele é e como ele funciona. Em outra disciplina, 
nomeadamente “Banco de Dados”, você aprenderá mais detalhes sobre 
essa magnífica ferramenta. Aqui, nesta Unidade Letiva, trataremos apenas 
da introdução e das informações relevantes para que você compreenda 
como armazenar e utilizar dados gravados em um banco de dados em 
sua página web.
Introdução ao Coding Web12
Banco de Dados1 não é a mesma coisa que Base de Dados2, apesar 
de encontrarmos muitos livros e sites que os apresentam como sinônimos.
Tudo tranquilo por enquanto? Então vamos lá! A aprendiza-gem não 
pode parar!!
Conceitos importantes
O que é banco de dados?
Segundo Chu (1983), banco de dados é um conjunto de arquivos ou 
tabelas relacionados entre si. Já de acordo com o site Hostnet (s.d.), trata-
se de um conjunto de dados inter-relacionados com uma estrutura regular 
(tabela) que organiza informações. Um banco de dados normalmente 
agrupa informações utilizadas para um mesmo fim.
Conforme Matozzo (2000), banco de dados é uma coleção de dados 
inter-relacionados logicamente. Por exemplo, uma agenda de telefones.
1 Banco de dados: conjunto de registros de dados que pode conter elementos para atender uma ou mais bases 
de dados. Exemplo: o banco de dados de RH contém as bases de dados de Folha de pagamento, plano de férias, 
contribuições, treinamentos etc.
2 Base de dados: conjunto de dados considerados para gerar uma determinada informação.
Figura 2: Imagem ilustrativa de um Banco de Dados
Fonte: PIxabay
Introdução ao Coding Web 13
Silberschatz et al. (2012) o conceituam como uma coleção de 
dados inter-relacionados, representando informações sobre um domínio 
específico.
Por fim, Rezende (2006) aponta que sempre que for possível agrupar 
informações que se relacionam e tratam de um mesmo assunto, podemos 
dizer que temos um banco de dados.
Outros conceitos
Das definições apresentadas anteriormente, você pode perceber 
alguns termos como “dados”, “tabelas” e “registros”, por exemplo, que 
fazem parte do universo dos bancos de dados e precisam ser esclarecidos. 
Então vamos a eles:
 • Dados: fatos ou acontecimentos que podem ser armaze-
nados. Exemplo: nome, endereço, data de aniversário, 
descrição, peso ou valor de um produto, conteúdo ou 
número de postagens em um blog etc.
 • Tabelas: estruturas de armazenamento de dados.
 • Campo da tabela: nome de uma posição na tabela no qual 
deve ser armazenado um dado. Exemplo: na tabela de 
contatos deve haver um campo chamado “Nome do Contato”. 
É nesse local que o dado referente ao nome do contato deve 
ser inserido.
 • Conteúdo do campo: valor (dado) que é armazenado no 
campo da tabela do banco de dados.
 • Informação: conjunto de dados compilados e processa-
dos de acordo com solicitação de consultas e análises.
Propriedades gerais de um banco de dados
Conforme destacado por Takai et al. (2005, p. 14), seguem-se as 
propriedades gerais de um banco de dados:
Introdução ao Coding Web14
 • Deve ser uma coleção de dados logicamente relacio-
nados, com algum significado. Associações aleatórias de 
dados não podem ser chamadas de banco de dados.
 • Deve ser projetada, construída e preenchida, ou instan-
ciada, com dados para um propósito específico. Ela conta 
com um grupo de usuários e algumas aplicações pré-
concebidas para atendê-los.
 • Representa algum aspecto do mundo real, algumas vezes 
chamado de “minimundo”. 
 • Mudanças no minimundo devem provocar mudanças no 
conteúdo do banco de dados. Precisa ter algum grau de 
interação com eventos do mundo real.
 • Deve ter uma fonte de dados.
 • Precisa ter uma audiência (alguém interessado) em seu 
conteúdo.
 • Depois de tantas definições importantes, um exemplo pode 
ajudar a perceber como todos estes conceitos trabalham juntos.
EXEMPLO: Imagine uma companhia aérea. Ela precisa armazenar 
os dados dos seus voos, e esses dados podem ser o número do voo, 
a tarifa, a classe, a origem e o destino. O local em que esses dados são 
armazenados é chamado de Tabela de voos. Mas essa mesma companhia 
também precisa armazenar os dados de seus passageiros, como nome e 
telefone. Esses dados poderiam ser armazenados em uma outra tabela, 
chamada Tabela de passageiros. A Figura 3 ilustra o caso. 
Figura 3: Exemplo de tabelas com campos e conteúdo dos campos (dados).
Nome da tabela → Tabela de Voos
← 
Tabela
Campos da 
tabela
→ Voo Origem Destino
Dados da tabela →
AF147 Curitiba Aracaju
AF447 São Paulo Fortaleza
AF100 Florianópolis Manaus
Introdução ao Coding Web 15
Nome da tabela → Tabela de Voos
← 
Tabela
Campos da 
tabela
→ Nome Telefone
Dados da tabela →
Joaquim J. da Silva Xavier 94521111
Dom João VI 99455252
Joseph Garibaldi 98889565
Fonte: O Autor.
Note que os dados ficaram organizados em campos (o que dá 
significado ao dado) e todos os campos ficaram agrupados em tabelas 
(que agrupam campos sobre o mesmo assunto). Não faria sentido ter o 
campo “Número do voo” na tabela de passageiros, assim como não faria 
sentido ter o campo “Telefone do passageiro” na tabela de voo, não é 
verdade?
Duas considerações importantes: (1) Tabelas também são chamadas de 
entidades. Os campos da tabela também são conhecidos como atributos. (2) O 
modelo de apresentação em tabelas, como na Figura 1, é chamado de modelo 
lógico4. Existe também o modelo conceitual5, o qual não será abordado neste 
material, mas sim na disciplina que trata de projetos de banco de dados.
Além do modelo conceitual e lógico, existe o modelo físico que, 
segundo Rezende (2006), é a tradução do modelo lógico para a linguagem 
do software escolhido para implementar o sistema.
Voltando ao exemplo da companhia aérea, você já deve ter 
percebido que uma companhia aérea deve ter muitas tabelas, cada qual 
sobre um conjunto de dados importante, que precisa ser armazenado 
para posterior utilização ou verificação. Todas essas tabelas formam um 
banco de dados.
Introdução ao Coding Web16
Atributo-chave
Figura 4: Figura ilustrativa de uma chave.
Fonte: Pixabay
Também conhecido como chave-primária (primary-key), é 
um conceito muito importante para se entender como funciona o 
armazenamento e recuperação de dados na perspectiva de banco de 
dados. Repare na tabela de passageiros (Figura 1) que, teoricamente, 
cada passageiro é único e não poderia haver dois registros do mesmo 
passageiro. Porém, quando se trata de armazenamento e recuperação de 
dados de maneira confiável, faz-se necessário que a diferença entre os 
registros dos passageiros seja expressa por meio de um ou mais atributos 
da tabela (SANCHES, 2005). É importante entender que poderia haver dois 
passageiros com o mesmo nome e, assim, poderíamos diferenciá-los em 
caso de cobrança da passagem, algum ressarcimento ou mesmo para 
fazer uma promoção.
Então, a tabela de passageiros precisa ter mais um campo, e ele 
não pode ter conteúdo nulo nem ser repetido, independen-temente 
do número de registros da tabela. A Figura 5 apresenta a tabela de 
passageiros com uma coluna da chave-primária:
Introdução ao Coding Web 17Figura 5: Tabela de passageiros com chave-primária.
Fonte: O autor
Tabela de Passageiros
Cógido Nome Telefone
01 José Bonifácio 995988587
02 Fernando de Aragão 998686412
03 Jospé Bonifácio 998656562
04 Isabel de Casttela 994575785
 • Modelo lógico: deve definir quais são as tabelas e o nome das 
colunas que compõem essas tabelas. Depende do banco de 
dados que foi escolhido para o projeto (REZENDE, 2006).
 • Modelo conceitual: descrição de entidades e seus atributos, 
de maneira independente do banco de dados escolhido para o 
projeto. Uma das técnicas mais utilizadas entre os profissionais 
é a abordagem entidade-relacionamento (REZENDE, 2006).
Na Figura 5, existem dois passageiros com o mesmo nome e é 
exatamente neste tipo de caso que a chave-primária se faz necessária para 
diferenciar um passageiro (José Bonifácio) de outro com o mesmo nome. 
Você poderia argumentar que o campo Telefone (terceira coluna da Figura 
5) poderia ser usado como informação para distinguir entre um passageiro 
e outro. No entanto, lembre-se que o campo “chave-primária” não pode 
ter conteúdo nulo ou vazio e que, muitas vezes, as pessoas não informam 
seu número de telefone, por vários motivos, como perda do telefone, 
esquecimento ou falta de interesse e assim por diante.
Você também poderia argumentar a possibilidade de o campo “CPF 
do passageiro” ser inserido na Figura 5 e utilizado como atributo-chave ou 
chave-primária. Neste caso eu lhe faço uma pergunta: e se o passageiro 
não for brasileiro e estiver no Brasil a turismo ou a negócios? Nesse caso, 
ele não teria CPF a informar, e sim, o número do passaporte. Ocorre que 
o número do passaporte tem formatação diferente do número de CPF e 
não poderia ser usado no mesmo campo da tabela.
É claro que existem soluções mais arrojadas como as chaves-
compostas, mas por enquanto, vamos adotar que cada tabela deve 
Introdução ao Coding Web18
possuir um campo a mais além dos necessários para armazenar os 
dados do assunto ou objeto a que se destina. Tal campo adicional é o 
atributo-chave, normalmente um contador de 1 a infinito, que garantirá a 
integridade dos dados.
Agora que você já entendeu os conceitos básicos de um banco de 
dados e seus componentes, vamos tratar do banco de dados chamado 
MySQL, que utilizaremos junto com o PHP nas páginas HTML5 para 
armazenar e recuperar os dados do blog.
Figura 6: Figura ilustrativa de MySQL.
Fonte: Flaticon
Banco de dados MYSQL
O MySQL é um sistema gerenciador de banco de dados (SGBD) 
que utiliza linguagem SQL (linguagem de consulta estruturada). Segundo 
Rezende (2006), um SGBD é um software que possui recursos capazes de 
manipular as informações de banco de dados e interagir com o usuário. São 
exemplos de SGBD: MySQL, Oracle, SQL Server, DB2, PostgreSQL, entre 
outros.
Conforme aponta Freitas (2013), o MySQL tem como principais 
objetivos: velocidade, robustez e facilidade de uso.Neste material usaremos 
o phpMyAdmin, software que vem no pacote do WampServer que você já 
instalou em sua máquina para poder trabalhar com as páginas em php da 
Unidade Letiva 2.
O phpMyAdmin é uma ferramenta gratuita escrita em linguagem 
PHP, que tem como função permitir a manipulação de dados do MySQL 
na web. Operações frequentes como gerencia-mento de base de dados, 
Introdução ao Coding Web 19
tabelas, colunas, relações entre tabelas, índices, permissões de usuários 
etc. podem ser realizados por meio de uma interface amigável.
Acessando o PHPMYADMIN
Para ter acesso ao phpMyAdmin, você precisa clicar com o botão 
esquerdo do mouse sobre o ícone do WampServer (que precisa estar em 
cor verde) e selecionar a opção phpMyAdmin.
Uma vez selecionada a opção phpMyAdmin, uma tela do navegador 
vai abrir com a interface dessa ferramenta, como mostra a Figura 7:
Figura 7: Interface phpMySQL.
Fonte: O autor
Como você pode notar, existe muita coisa a ser explorada nessa 
interface, mas para sermos produtivos, vamos trabalhar apenas os itens 
que nos interessam para esta Unidade Letiva. Assim, vamos às primeiras 
configurações:
1. Na parte central da interface phpMyAdmin, você pode 
reparar logo abaixo da guia Databases” a existência de 
um painel chamado General Settings. No item “Server 
connection collation”, selecione a opção “latin1_swedish_
ci” ou “utf8_general_ci”. Qualquer uma dessas opções 
possibilita o phpMyAdmin a trabalhar com codificação de 
caracteres apropriada para armazenar dados em língua 
portuguesa.
Introdução ao Coding Web20
2. No painel “Appearance Settings”, selecione a “Language” para 
português ou qualquer outro idioma de sua preferência. O 
“Theme” e o “Font size” podem permanecer como estão.
Figura 8: Interface phpMySQL: primeiras configurações.
Fonte: O autor
Criando o primeiro banco de dados em MYSQL
Na Figura 9, podemos verificar a guia “Databases”, ou Base de Dados, 
caso você tenha trocado a configuração para a interface ser apresentada 
em língua portuguesa. Que tal criar uma base de dados de contatos para 
aprender como o phpMyAdimin funciona? Vamos lá! 
1. Clique nessa aba e será apresentada a interface como na 
Figura 9:
Figura 9: Criação banco de dados em phpMyAdmin.
Fonte: O autor
Introdução ao Coding Web 21
Figura 10: Lista de contatos
Fonte: O autor
Para criar uma base de dados, digite o nome na caixa de texto 
destacado em cor vermelha (Figura 9), pode ser, por exemplo, “Lista 
de Contatos”. Na caixa de seleção ao lado do nome da base de dados, 
selecione “latin1_swedish_ci” ou “utf8_general_ci”.
2. Clique no botão “Criar” e você perceberá que mais um 
item “Lista de Contatos” apareceu na lista de bases de 
dados da Figura 10.
3. Clique nesse item (Lista de Contatos) e a tela apresentada 
será como mostra a Figura 10:
4. Digite o nome da tabela, por exemplo, “Contatos”. No entanto, 
agora temos o seguinte problema: quantas colunas devem 
ter nossa tabela de contatos? Isso depende de quais dados 
iremos armazenar sobre os nossos contatos. Uma sugestão: 
podemos fazer uma tabela de contatos simples e armazenar 
apenas o nome e o telefone. Isso equivale a duas colunas, 
mais uma coluna para a chave-primária.
Então, digite 3 para o número de colunas e clique no botão 
“Executar”. Nesse momento, a tela deve ter a seguinte aparência:
Introdução ao Coding Web22
Figura 11: Criação de uma tabela no banco de dados
Figura 12: Criação de uma tabela no banco de dados
Fonte: O autor
Fonte: O autor
Preencha os campos conforme apresentado na Figura 12:
Note que os nomes das colunas foram declarados à esquerda da tela, na 
coluna “Nome” e ao lado dessa coluna existe a coluna “Tipo”. Quando criamos 
um campo em uma tabela, precisamos definir que tipo de dados esse campo 
vai armazenar. São vários tipos disponíveis. Por enquanto, selecione INT (inteiro) 
para o campo CODIGO e VARCHAR para os campos NOME e TELEFONE.
A terceira coluna da Figura 12 é chamada de “Tamanho/Valores”. 
Nela, você precisa informar qual é o tamanho do campo que você está a 
criar para a tabela, isto é, quantos caracteres ele pode comportar. Para o 
caso do NOME, foi definido um tamanho de 200 caracteres e, para o caso 
do TELEFONE, 25 caracteres. Isso quer dizer que o tamanho do nome 
do meu contato não pode passar de 200 caracteres e o tamanho do 
numero de telefone não pode passar de 25 caracteres. Como você deve 
Introdução ao Coding Web 23
ter notado, não foi informado tamanho para o campo CODIGO. De fato, por 
enquanto só precisaremos definir tamanho de campos para os campos do 
tipo VARCHAR ou TEXT.
A quarta coluna da Figura 12 é chamada de “Predefinido”. Ela 
somente é usada quando queremos ter um valor predefinido para o nosso 
campo. Por exemplo, vamos supor que tivéssemos o campo PAÍS na 
nossa tabela. Nele, nós informaríamos o país de origem do nosso contato 
e, poderíamos colocar “Brasil” como valor predefinido, pois a maioria dos 
contatos que tenho são desse país. Um valor predefinido não impossibilitade selecionarmos outro país, mas já deixa o país escolhido predefinido no 
campo.
A quinta coluna é o agrupamento, onde deve-se sempre selecione 
“latin1_swedish_ci” ou “utf8_general_ ci” se você estiver a trabalhar com 
dados em língua portuguesa.
A sexta coluna deixaremos de lado por enquanto.
A sétima coluna é chamada “Nulo”. Você deve marcar o check-
box dessa coluna apenas nos campos que não forem de preenchimento 
obrigatório. No nosso caso do contato, o número de telefone não é 
obrigatório, ou seja, pode ser nulo.
A oitava coluna trata do índice. Por enquanto, vamos utilizar apenas 
o PRIMARY para o primeiro campo CODIGO. Para os demais campos 
(NOME e TELEFONE) não é necessário selecionar nada.
A nona coluna é chamada “A_I” (Autoincremento). Marca-mos então, o 
check-box dessa coluna para todos os campos que queremos que se 
incrementem automaticamente a cada registro. Esse é o caso do campo 
CODIGO.
A décima coluna é chamada “Comentários” e serve para inserir 
observações ou comentários que esclareçam o tipo de dado e/ou a regra 
de negócio necessários para o preenchimento do campo correspondente. 
Por fim, clique no botão Salvar e sua tela deve ter ficado assim:
Introdução ao Coding Web24
Figura 13: Estrutura da tabela Contatos.
Figura 14: Visualização dos dados da tabela Contatos
Fonte: O Autor.
Fonte: O Autor.
Se clicarmos na aba “Visualizar”, teremos o resultado apresentado 
na Figura 14:
Note que um aviso (destacado em amarelo) informa que não foram 
encontrados registros de dados na tabela Contato. Isso é óbvio, afinal, 
acabamos de criá-la e ela está vazia.
Abaixo do aviso tem uma linha de comando em linguagem SQL: “Select 
* from contatos”. Este comando significa que o phpMyAdmin executou uma 
pesquisa da seguinte forma: “Selecione todos os registros da tabela contatos”, 
e foi o resultado dessa pesquisa que não retornou nenhum registro. Vamos 
aprender mais sobre os comandos básicos da linguagem SQL no próximo 
tópico deste material.
Introdução ao Coding Web 25
Manipulação de tabelas e campos
Neste momento, você já deve ter criado um banco de dados 
chamado Lista de Contato e um tabela chamada Contatos (que deve estar 
vazia). Neste tópico, aprenderemos a inserir, alterar, excluir e localizar 
registros dentro da tabela.
Inserindo registros em uma tabela
Para inserir registros de seus contatos dentro da tabela Contatos, 
clique na aba Inserir (apresentada na Figura 15) e a seguinte tela lhe será 
apresentada:
Figura 15: Inserção de registros na tabela.
Fonte: O Autor.
Note que não é necessário preencher o valor do campo código 
(marcado em azul), pois ele é autoincrementável, ou seja, vai iniciar em 1 e, 
a cada novo registro, será incrementado de uma unidade. Os campos que 
precisam ser preenchidos estão marcados com retângulos vermelhos. No 
primeiro campo deve digitar o nome do contato e no segundo o telefone 
do mesmo.
O campo relativo ao telefone pode ser deixado sem preencher pois, 
na construção da tabela, nós o marcamos com a possibilidade de ser um 
campo NULO.
Ao preencher os campos e clicar no botão “Executar”, a tela vai se 
modificar para a mostrada na Figura 16:
Introdução ao Coding Web26
Figura 16: Primeiro registro inserido na tabela Contatos.
Figura 17: Visualizando o registro inserido na tabela Contatos
Fonte: O Autor.
Fonte: O Autor.
Repare que na Figura 16 apareceu, em amarelo, o recado de que 
uma linha de registros foi inserida e que o Id (identificador) da linha é 
o número 2 (destacado pelo círculo em vermelho). No seu caso, pode 
aparecer o número 1 ou outro número diferente, dependendo de quantos 
testes você já fez com essa tabela.
O retângulo em vermelho mostra o comando SQL para inserir o registro 
solicitado. Vamos usar esses comandos em breve neste material.
Para verificar o registro inserido, você precisa clicar na aba “Visualizar” 
(Figura 16 e poderá ver o seguinte resultado:
No primeiro retângulo em vermelho, podemos verificar o comando 
SQL usado para listar todos os registros da tabela. Ao contrário do que 
aconteceu na Figura 16 (não foi encontrado nenhum registro), dessa vez um 
registro foi encontrado e ele está apresentado no segundo retângulo em 
Introdução ao Coding Web 27
Figura 18: Inserindo novo contato.
Figura 19: Tela de confirmação de inclusão de novo registro na tabela.
Fonte: O autor
Fonte: O Autor.
vermelho. Caso tivéssemos mais registros, estariam todos listado, um abaixo 
do outro.
EXEMPLO: Inserir mais um registro na tabela com os seguintes 
dados de contato: (Nome: Andreia; Telefone: 555444) e apresentar a tela 
de visualização.
Resolvendo a atividade apresentada no exemplo, temos que clicar na 
aba “Inserir” e digitar os dados informados, conforme apresentado na Figura 
18:
Depois, clicamos no botão “Executar” e a tela de confir-mação a 
seguir é apresentada:
Por fim, clicamos na aba “Visualizar” e verificamos os dois contatos 
(dois registros) cadastrados (inseridos) na tabela contatos, como mostra a 
Figura 20:
Introdução ao Coding Web28
Figura 20: Visualizando os registros inseridos na tabela Contatos.
Figura 21: Alteração de registro da tabela Contatos.
Fonte: O Autor.
Fonte: O Autor.
Alterando registros em uma tabela
Para alterar um registro de uma tabela usando o phpMyAdmin, 
basta escolher o registro a ser alterado e clicar sobre o link “Editar”. Esse 
link fica está presente em todas as linhas de registros da tabela (ver Figura 
21).
Então, ao clicar nesse link, o phpMyAdmin disponibiliza a seguinte 
tela de alteração de registro:
Note que eu cliquei no registro do Luiz e os dados desse contato 
apareceram para alteração. Se tivesse clicado no segundo registro da Figura 
18 (Andreia), seriam os dados dela que apare-ceriam para alteração.
Altere os dados que desejar e depois clique no botão “Executar”. 
Como exemplo, vou alterar o número de telefone do Luiz para 998959794. 
O resultado depois de clicar no botão ”Executar” fica assim:
Introdução ao Coding Web 29
Figura 22: Registro alterado
Fonte: O autor
Fonte: O autor
Note que o primeiro retângulo vermelho marca o código SQL usado 
para alterar os dados solicitados. O segundo retângulo marca os registros 
da tabela Contatos, com o telefone do contato Luiz alterado.
Excluindo registros em uma tabela
Para excluir um registro de uma tabela usando o phpMyAdmin, 
basta escolher o registro a ser alterado e clicar sobre o link “Remover”. 
Esse link fica está presente em todas as linhas de registros da tabela 
(ver Figura 22). Então, ao clicar nesse link, o phpMyAdmin disponibiliza a 
seguinte tela de confirmação de exclusão:
Introdução ao Coding Web30
Note que a Figura 23 mostra o comando SQL utilizado para excluir 
o registro com o campo CODIGO = 2. Ao olharmos na Figura 23, podemos 
perceber que o registro referente ao campo “CODIGO” do número 2 é o 
registro do contato Luiz. Caso você tenha clicado para remover o registro 
do contato Andreia, a mensagem da Figura 24 será idêntica, trocando 
apenas o número 2 pelo número 3 (que é o CODIGO da Andreia).
Ao clicar nele para confirmar a exclusão do registro de CODIGO 
igual ao 2, o phpMyAdmin apresenta a seguinte tela:
Figura 24: Registro excluído.
Fonte: O autor
Perceba que, além do aviso em amarelo a informar que uma linha 
foi excluída, mais abaixo na Figura 25, pode-se veri-ficar que o registro do 
contato Luiz não consta mais na lista de registros da tabela.
Localizando registros em uma tabela
Para localizar registro na tabela Contatos, precisamos, em primeiro 
lugar, preencher essa tabela com alguns registros a mais. Portanto, insira 
mais dois registros de contatos, como: Nome: Geraldo – Telefone: 123456 
e Nome = Marcos – Telefone: 991925254. Nossa tabela de contatos fica 
assim: 
Figura 25: Tabela de contatos com 3 registros.
Fonte: O autor
Introdução ao Coding Web 31
Agora, imagine que sua tabela de contatos tivesse mais de 100 ou 
1000 contatos e você quisesse localizarum deles. Para isso, é preciso 
cilcar na aba “Procurar” (Figura 18) e o phpMyAdmim disponibiliza para 
você uma tela de consulta parecida com a Figura 26:
Figura 26: Tabela de contatos com 3 registros.
Figura 27: Localização de registros pelo contato do contato.
Fonte: O autor
Fonte: O autor
Vamos usar, por enquanto, apenas a “Pesquisa de Tabela”. Note na 
parte superior da Figura 27 que existem três tipos de pesquisa possíveis.
EXEMPLO: Procura de registros por código do contato. Não é uma 
opção muito comum procurar por código, já que normal-mente se tem 
acesso ao nome do contato. Mas vamos fazer como exemplo: localizar um 
contato que tenha o código igual a 4.
Ao selecionar o operador de igualdade, colocar o número 4 na 
caixa de texto (valor), na Figura 27, e pressionar o botão “Executar”. O 
phpMyAdmin retorna o seguinte:
Voltando à Figura 27, se você clicar na caixa de combinação 
referente aos operadores possíveis, verá que pode fazer pesquisas mais 
elaboradas, como mostra a Figura 28.
Introdução ao Coding Web32
Figura 28: Resultado da localização dos registros da tabela pelo código do contato.
Figura 29: Opções de pesquisa pelo campo Código do Contato.
Fonte: O autor
Fonte: O autor
As pesquisas pelo nome ou pelo telefone do contato são diferentes 
da pesquisa pelo código do contato, pois este último e do tipo INT e os 
dois primeiros são do tipo VARCHAR.
A Figura 29 mostra as opções de operadores para pesquisas pelo 
nome e/ou telefone do contato:
Destaca-se nessa pesquisa a presença de um caractere coringa “%”. 
Para ajudar a compreender como ele funciona, darei três exemplos: o primeiro 
sem usar o coringa e os dois últimos usando-o.
Introdução ao Coding Web 33
Figura 30: Pesquisa de registro por nome do contato.
Fonte: O autor
Fonte: O autor
Localize todos os contatos cujo campo nome tem a letra “A”. Se 
você utilizar o operador “=”,estará a procurar todos os contatos cujo nome 
é igual a “A”, o que deve retornar uma lista vazia. Se você utilizar o operador 
“LIKE” terá o mesmo resultado que o operador “=”, a não ser que você 
coloque o coringa, da seguinte maneira:
Figura 31: Localização de registros pelo nome, utilizando caractere coringa.
Figura 32: Localização de registros pelo nome, utilizando caractere coringa.
Fonte: O autor
Ao fazer como mostra a Figura 31, a pesquisa retornará uma lista 
de todos os contatos que começam com a letra “A” – no caso, apenas a 
Andreia.
Mas você pode utilizar o mesmo operador “LIKE” para buscar todos 
os contatos que possuem a letra “A” no nome. Para isso, deve-se utilizar o 
caractere coringa da seguinte maneira:
Nesse caso, o resultado é uma lista de registros cujos nomes dos 
contatos contenham a letra “a” ou “A” em qualquer lugar de seus nomes. 
Introdução ao Coding Web34
Agora que você já tem uma ideia de como funciona um banco de 
dados, já sabe criar uma tabela e manipular registros, vamos aplicar todo 
esse conhecimento no nosso blog pessoal.
Usando banco de dados no blog pessoal
No caso do blog pessoal, temos algumas informações impor-tantes 
que podem ser gravadas em banco de dados para posterior apresentação, 
histórico ou mesmo contagem de publi-cações e geração de relatórios. 
Nesse sentido, cabe a nós, antes de fazer qualquer tabela ou banco de 
dados no phpMyAdmin, entender quais são os valores e os tipos de dados, 
como eles se agrupam para formar tabelas e como essas tabelas devem ser 
dispostas.
A Figura 33 nos lembra como era o esquema inicial do nosso blog:
Figura 33: Esquema inicial do blog pessoal.
Fonte: O autor
1. HEADER
4. COLUNA ESQUERDA: 
POSTAGENS
5. COLUNA DIREITA: 
DESCRIÇÃO PESSOAL
6. COLUNA DIREITA: 
TOP 5
7. COLUNA DIREITA: 
FILTRO DE POSTAGENS
← 2. CONTEÚDO
3. FOOTER
Ele é dividido em duas colunas, sendo: a coluna de posta-gens (à 
esquerda) e coluna da direita que, por sua vez, é formada por três partes: 
a apresentação pessoal, a lista das cinco postagens mais comentadas e a 
lista de filtros de postagens.
É importante lembrar que sobre tudo isso está o cabeçalho do blog 
e, abaixo de tudo, o rodapé.
Muito bem, então vamos “atacar” por partes. Primeiro, a coluna da 
direita, dentro dessa coluna temos o painel de apresen-tação pessoal. 
Quais são as informações dispostas referente a essa parte? Resposta: 
Introdução ao Coding Web 35
são duas informações, a saber: o nome do dono do blog e uma breve 
descrição a respeito dele.
Assim, podemos criar uma tabela com três campos: nome, descrição 
e foto. Essa tabela pode ter o nome de “T_Apres” (tabela de apresentação). 
Que tal? Ela pode ser mais ou menos assim:
Nome Tipo Tam NULO? DESCRIÇÃO
Autor VarChar 50 Não Nome do autor do blog.
Desc VarCHar 500 Não
Breve descrição sobre o 
autor do blog
Foto VarChar 200 Não Foto do autor
Nome Tipo Tam NULO? DESCRIÇÃO
Código int ---- Não Chave-primária
Título VarChar 200 Não Título da postagem
NCom Int ----- Não
Número de comentários 
da postagem
Figura VarChar 300 Não
Endereço da imagem da 
postagem
Data Date ------ Não
Data da coleta das 
informações para as 
questões de histórico e 
bverificação
T_Apress
Tabela 1: Tabela de apresentação pessoal
Fonte: O autor
Tabela 2: Tabela das cinco postagens mais comentadas
Fonte: O autor
Passando agora para o próximo painel da coluna da direita, temos 
o TOP5. Ele deve conter uma figura, o título da postagem e o número de 
comentários. A tabela poderia ser chamada de T_TOP5 e seria mais ou 
menos assim:
Introdução ao Coding Web36
No próximo painel da coluna da direita, temos as categorias ou os 
filtros de postagens. Ele deve conter apenas o nome da categoria. A tabela 
poderia ser chamada de T_Cat e seria mais ou menos assim:
Tabela 3 – Tabela de categorias das postagens
Tabela 4 – Tabela de postagens
Nome Tipo Tam NULO? DESCRIÇÃO
Código int ---- Não Chave-primária
Título VarChar 100 Não Categoria da postagem
T_Cat
T_Post
Fonte: O autor
Fonte: O autor
Note que a Tabela 1 (T_Apres) não possui chave-primária e as outras 
(T_TOP5 e T_CAT) possuem. Isso ocorre porque a primeira (T_Apres) só vai 
conter um registro.
Passando agora para a próxima coluna da esquerda, temos as 
postagens. Ela deve conter a figura, o título, o subtítulo, o texto completo 
e a data da postagem. A tabela poderia ser chamada de T_Post e seria 
mais ou menos assim: 
Nome Tipo Tam NULO? DESCRIÇÃO
Código int ---- Não Chave-primária
Título VarChar 200 Não Título da postagem
Subtítulo VarChar 100 Não Subtítulo da postagem
Figura VarChar 250 Não
Endereço da imagem da 
postagem
Data Date ----- Não Data da postagem
Texto VarChar 300 Não Texto da postagem
Introdução ao Coding Web 37
Pronto! Todas as tabelas (ou quase todas) estão definidas. Após 
isso, precisamos criar um banco de dados no phpMyAdmin que contenha 
todas essas tabelas e seus respectivos campos. Esse banco de dados 
poderia ser chamado de BLOG. O que acha? Gostou? Então mãos à obra!
SAIBA MAIS:
Se você quiser aprofundar seus conhecimentos em 
phpMyAdmin, um bom lugar é o site Home and Learn – veja 
o tópico Create a database with phpMyAdmin. Disponível em: 
https://bit.ly/3dw5jC0
https://bit.ly/3dw5jC0
Introdução ao Coding Web38
Manipulação de dados no MYSQL via PHP
INTRODUÇÃO:
Neste momento, você já deve ter criado um banco de dados 
chamado BLOG, o qual deve ter quatro tabelas (T_Apres;, 
T_Cat, T_Post e T_Top5), cada uma com seus respectivos 
campos. Agora, vamos aprender a trabalhar com ele junto 
com o código PHP. Isso permite a manipulação dos dados 
do banco de dados dentro das páginas web. Muito legal, não 
é? O primeiro passo é entender como se conectar ao banco 
de dados usando PHP, depois manipular os dados, isto é, 
aprender a inserir, alterar, localizar excluir dados das tabelas 
do banco de dados via código PHP. Então vamos lá!
Conectando a página web ao banco de 
dados via PHP
Para conectar a página web do blog ao MySQL, é necessário usar 
uma função em linguagem php chamada “mysqli_connect”,que tem a 
seguinte sintaxe:
Obj_Conexão = mysqli_connect(<Servidor>, <usuário>, <senha>, 
<banco de dados>);
Em que:
Servidor é o localhost;
 • Usuário é o usuário que você cadastrou quando instalou o 
WampServer em sua máquina; 
 • Senha é aquela que você cadastrou quando instalou o 
WampServer em sua máquina;
 • Banco de dados é o que definimos como BLOG dentro do 
phpMyAdmin;
 • Obj_conexão é o retorno da função e representa o objeto 
da conexão entre o php e o MySQL.
Introdução ao Coding Web 39
IMPORTANTE:
Abra o NotePad++ e o arquivo php do blog e o renomeie para 
exe01_Blog_u3.php.
Ao inserir o comando php para conectar ao banco de dados MySQL, 
seu código deve ficar mais ou menos assim:
Figura 34: Código php para conectar ao banco de dados MySQL.
Fonte: O autor
<?php
header(“Content-Type: text/html; 
charset-ISO-8859-1”, true);
//Conexão com BD MySQL
define(“USUARIO”, “root”);
define(“SENHA”, “”);
define(“BD”, “blog”);
define(“SERVER”, “localhost”);
$conexao = mysqli_connect(SERVER, 
USUARIO, SENHA, BD);
Repare na Figura 34, que ao invés de usar variáveis usamos constantes 
(linhas 11 a 14), pois como você deve ter imaginado, esses valores não devem 
mudar no decorrer da execução do código.
Na linha 9, o comando “header” avisa o navegador para usar um 
charset, que permite utilizar acentuação nos textos apre-sentados na tela 
do navegador.
Sempre que você for fazer uma conexão com banco de dados 
usando a linguagem php ou qualquer outra, verifique se a mesma foi 
bem-sucedida. Para fazer essa verificação devemos utilizar a função 
“mysqli_connect_errno”, que retorna o número do erro ocorrido ao tentar 
se conectar. Caso não haja erro, retorna zero. O código deve ficar mais ou 
menos assim: 
Introdução ao Coding Web40
Figura 35 – Código php para conectar ao banco de dados MySQL e 
testar se a conexão foi bem-sucedida.
Fonte: O autor
header(“Content-Type: text/html; charset-I-
SO-8859-1”, true);
//Conexão com BD MySQL
define(“USUARIO”, “root”);
define(“SENHA”, “”);
define(“BD”, “blog”);
define(“SERVER”, “localhost”);
$conexao = mysqli_connect(SERVER, USUARIO, SENHA, 
BD);
/* verifica status da conexão */
if (mysqli_connect_error())
{
//avisa que aconteceu algo de errado e apresenta o 
motivo do erro na conexão
 echo “Falha ao conectar com o MySQL. Motivo:” . 
mysqli_connect_error();
}
else
{
//a conexão foi realizada com sucesso
 echo “Status OK. <br> Banco de dados “ .BD . “ 
conectado!”;
}
mysqli_close($conexao);
Note que da linha 17 até a linha 27 usamos um comando condicional 
que verifica se a conexão foi bem-sucedida, por meio da função php 
“mysqli_connect_errno”. Na linha 20 é empregada outra função, que 
retorna a descrição do erro, caso ele tenha ocorrido.
Na linha 28, a função “mysqli_close()” fecha a conexão que foi aberta 
na linha 15. É muito importante não deixar conexões com banco de dados 
abertas quando não são mais necessárias.
Caso sua conexão tenha dado certo, a parte superior esquerda do 
blog deve ter ficado como mostra a Figura 36:
Introdução ao Coding Web 41
Figura 36: Canto superior esquerdo do blog quando a conexão foi bemsucedida.
Fonte: O autor
Fonte: O autor
Status OK. 
Banco de dados blog conectado!!
MEU BLOG PESSOAL
Seja bem vindo. Criado por Marcos.
Atualizando a tabela de apresentação pessoa via 
MYSQL
Para que possamos fazer um teste adequado, entre no phpMySQL 
e insira alguns dados na tabela T_Apres, da seguinte maneira: (1) Clique no 
banco de dados BLOG na coluna do lado esquerdo da tela. (2) Na coluna, 
selecione a tabela “t_apres”, que aparece dentro do banco de dados 
BLOG, como mostra a Figura 37:
Depois de selecionar a tabela correta, clique na aba “Inserir”, 
apresentada na Figura 38, e preencha os campos na coluna valor.
Não esqueça de que o conteúdo do campo FOTO deve ser um link 
para a sua foto ou você pode copiar o link que está disponível no código 
Introdução ao Coding Web42
na página do blog e colocá-lo ali (foi o que eu fiz na Figura 38). Uma vez 
preenchidos os campos, clique no botão “Executar”.
Lendo os dados da tabela de apresentação via PHP
Agora que a tabela T_Apres está preenchida, vamos testar se 
conseguimos ler os dados registrados. Então, insira o código para fazer 
um o seguinte teste, como mostra a Figura 38:
Figura 38 – Código PHP para leitura dos dados da tabela T_Apres.
Fonte: O autor
 else
{
//a conexão foi realizada com sucesso
 echo “Status OK. <br> Banco de dados “ .BD . “ conectado! 
<br>”;
 $sql=select * FROM T_Apres”;
 if ($result=mysqli_query($conexao.$sql)){
 //Laço de repetição que Lê todas as linhas da tabela
 //uma de cada vez
 while ($registro=mysqli_fetch_row($result)){
 echi “Autor: “, $registro[0] , “<br>Descr: “, $regis-
tro[1], “<br>Fotos: “, $registro[2]; 
 }
 //libera o conteúdo da variável.
 mysqli_free_result($result);
 }
}
mysqli_close($conexao);
Explicando o código:
Na linha 27, escrevemos um comando SQL e o atribuímos a uma 
variável $sql. Esse comando pode ser traduzido da seguinte maneira: 
“Selecione todos os registros da tabela T_Apres”.
Na linha 32, o comando “while” faz um laço de repetição para 
atribuir a variável $result a cada registro selecionado na linha 27, um a 
cada repetição.
Na linha 34, o comando “echo” apresenta na tela do nave-gador os 
campos 0 (autor), 1 (descr) e 2 (link da foto) do registro que foi selecionado.
Introdução ao Coding Web 43
Como sabemos que a tabela T_Apres tem apenas um registro, o laço de 
repetição “while” vai acontecer apenas uma vez.
Na linha 37, o conteúdo da variável $result é liberado e na linha 40, 
a conexão com o banco é finalizada.
A tela do navegador deve ficar assim:
Figura 39
Fonte: O autor
Status OK. 
Banco de dados blog conectado!! 
Autor: Marcos 
Descr: Apenas eu, eu e eu mesmo, explorando o universo do conhecimento. Tenho interesse em... 
e quero compartilhar minhas ideias com você! 
Foto: https://www.w3schools.com/w3images/avatar_g.jpg
MEU BLOG PESSOAL
Seja bem vindo. Criado por Marcos.
Atualizando o blog pessoal
É claro que você não quer que os dados do seu blog apareçam da 
maneira como estão na Figura 40, por essse motivo, vamos colocar esses 
dados no local correto. A primeira coisa a fazer é reposicionar o conteúdo 
das linhas 39 e 40 (Figura 38) para o final do código php. A Figura 40 mostra 
como e onde as linhas de código devem ser reposicionadas.
Esse reposicionamento é necessário uma vez que preci-samos que 
todas as definições de matrizes sejam incluídas no comando condicional 
IF–ELSE que, como podemos notar pela Figura 40, agora vai de 19-23 (IF) 
e 24-113 (ELSE).
Introdução ao Coding Web44
Figura 40: Reposicionamento de linhas de código PHP dentro do arquivo.
Fonte: O autor
if (mysqli_connect_error())
{
//avisa que aconteceu algo de errado e apresenta o motivo do 
erro na conexão
 echo “Falha ao conectar com o MySQL. Motivo:” . mysqli_con-
nect_error();
}
else
{
//a conexão foi realizada com sucesso
 echo “Status OK. <br> Banco de dados “ .BD . “ conectado! 
<br>”;
 $sql=select * FROM T_Apres”;
 if ($result=mysqli_query($conexao.$sql)){
 //Laço de repetição que Lê todas as linhas da tabela
 //uma de cada vez
 while ($registro=mysqli_fetch_row($result)){
 echi “Autor: “, $registro[0] , “<br>Descr: “, $regis-
tro[1], “<br>Fotos: “, $registro[2]; 
 }
 //libera o conteúdo da variável.
 mysqli_free_result($result);
 }
 //definição de constante
 define(“AUTOR_BLOG”, “Marcos” );
 $Bloco_TOPS = ARRAY{
 
 }
}
mysqli_close($conexao);
Em segundo lugar, precisamos localizar, no código php, o local 
onde foi definida a matriz (array) Apresentação que fizemos na Unidade 
passada e que contém os dados que estamos a trabalhar agora.
A Figura 41 mostra o código Matriz Apresentação para que você 
possa localizá-lo no seu arquivo php:
Introdução ao Coding Web 45
Figura 41: Matriz Apresentação.Figura 42: Matriz apresentação a buscar dados da tabela T_Apres.
Fonte: O autor
Fonte: O autor
//Matriz Apresentação
$Bloco_Apres = array{
 “img” => “https://www.w3schools.com/w3images/avatar_g.jpg”,
 “nome” => AUTOR_BLOG.
 “descr” => “Apenas eu, eu e eu mesmo, explorando o universo 
do conhecimento.
Tenho interesse em... e quero compartilhar minhas ideias com 
você!”
};
Você deve ter percebido que se esses dados atribuídos à matriz 
estão gravados em tabela em um banco de dados, não é mais necessário 
que eles fiquem fixos no código. Assim, podemos trocar esses dados 
pelo conteúdo da tabela T_Apres. Para isso, altere o código apresentado 
anteriormente para ficar como o código apresentado na Figura 42:
Salve e atualize o navegador. Veja o que aconteceu com o Bloco de 
Apresentação (lado direito da tela).
Na Figura 42 você poderá comparar o seu resultado no seu 
computador com o resultado que eu obtive aqui. Note que o conteúdo 
da variável $registro, que ainda aparecem no canto superior esquerdo do 
blog, também está aparecendo no local correto (Bloco de Apresentação).
//Matriz Apresentação
$sql=select * FROM T_Apres”;
 if ($result=mysqli_query($conexao.$sql)){
 if (registro=mysqli_fetch_row($result)){
 //Laço de repetição que Lê todas as linhas da tabela
 //uma de cada vez
 $Bloco_Apres = array{
 “img” => $registro[2],
 “nome” => $registro[0],
 “descr” => $registro[1]
 };
 }
}
Introdução ao Coding Web46
Figura 43: Bloco de apresentação pessoal atualizado com dados da tabela T_Apres.
Fonte: O autor
Status OK. 
Banco de dados blog conectado!!
Autor: Marcos
Descr: Apenas eu, eu e eu mesmo, explorando o universo do conhecimento. Tenho interesse em... 
e quero compartilhar minhas ideias com você! 
Foto: https://www.w3schools.com/w3images/avatar_g.jpg
MEU BLOG PESSOAL
Seja bem vindo. Criado por Marcos.
Marcos
Apenas eu, eu e eu mesmo, 
explorando o universo 
do conhecimento. Tenho 
interesse em... e quero 
compartilhar minhas ideias 
com você!
Faça este teste fundamental:
1. Abra o phpMyAdmin e acesse a tabela T_Apres.
2. Clique na aba SQL e clique no botão UPDATE, como 
mostra a Figura 45.
O botão UPDATE está marcado em vermelho na Figura 46. Quando 
você clicar sobre ele, verá que o código SQL padrão que iniciava com 
“SELECT” foi alterado para o que está mostrado na referida figura.
Introdução ao Coding Web 47
Figura 44: Aba Update
Fonte: O autor
3. Altere o conteúdo do campo AUTOR para qualquer nome 
diferente de “Marcos”. Para fazer isso, altere o código da 
Figura 39 para o seguinte:
Isso fará com que apenas o nome do autor seja alterado na tabela 
T_Apres.
4. Volte à tela do blog e pressione F5 e verifique o resultado.
Não se preocupe em decorar os comandos SQL, pois você irá 
aprendê-los na disciplina de
Banco de Dados, mais adiante neste curso. Aqui só estou a dar uma 
amostra da sua potencialidade.
Muito bom, não é? Agora, eu o desafio a fazer a mesma coisa com 
os demais blocos do blog. Vamos lá! A aprendizagem não pode parar!
Introdução ao Coding Web48
Funções e manipulação de arquivos
Funções
Além das funções fornecidas pela linguagem PHP, nós podemos 
criar as nossas próprias, de acordo com nossas necessi-dades. Mas o que 
são funções?
Funções são trechos de código criados para executar alguma 
determinada tarefa, como somar um conjunto de números, validar e 
consistir se o CPF foi digitado corretamente, validar o conteúdo de uma 
variável, entre diversas outras aplicações.
Segundo Soares (2000), a função é um agrupamento de códigos que 
realizam uma tarefa especifica. Isso auxilia na organização e manutenção 
do programa. Já o site w3schools (s.d.) aponta três grandes características 
das funções: (1) Pode ser utilizado repetidamente em um programa. (2) 
Não será executada imediatamente quando a página web é carregada 
pelo navegador. (3) Pode ser executada por meio de uma chamada para 
a função.
Exemplo: Imagine que em um programa seja necessário realizar a 
soma de alguns números com grande frequência, sendo assim, em alguns 
momentos é necessário somar 2 números, em outros 3 ou mais. Sem 
o uso de funções seria preciso criar um código específico para realizar 
a soma desses números toda vez que necessário. Utilizando funções, 
esse código pode ser criado somente uma vez, e toda vez que houver a 
necessidade da soma de números, basta “chamar” a função fornec
Como você pode perceber, o uso de funções é essencial para se 
desenvolver um código de programa com qualidade. Lembre-se sempre 
que a repetição excessiva de código torna o programa muito trabalhoso 
tanto para construir quando para sua manutenção futura, além de se 
tornar bastante suscetível a erros. Com o uso de funções, os programas 
se tornam menores e sua análise se torna mais prática por ser feita 
modularmente.
Introdução ao Coding Web 49
A sintaxe básica de uma função é:
Em que:
function é o termo usado para declaração de uma função;
nome_da_função é o nome que identifica a função.
function nome_da_função{[argumentos]}
{
Comandos;
[return <expressão>];
}
Dar nomes às funções é algo muito importante para a cons-trução 
de um código eficiente. Assim, esse nome deve seguir algumas regras:
 • Deve ser único em toda a extensão do código;
 • Não pode iniciar com número e não pode conter caracteres 
como ponto, vírgula e espaço;
 • Deve ser um nome que lembre o objetivo da função, isto é, se 
você está a montar uma função que faz a soma de números, 
por favor, não chame esta função de “abacaxi”, “banana” ou 
“maçã”, chame-a simplesmente de “SOMA”.
 • Argumentos são os valores que a função receberá 
para realizar o objetivo, ou os objetivos, para o qual foi 
programada. Sim, uma única função pode realizar mais 
de um objetivo! A utilização de argumentos na criação de 
funções é opcional. Quando o programa chama a função, 
ele envia parâmetros e estes são entendidos como 
argumentos para a função;
 • Return é o comando necessário para retornar um valor 
ou uma expressão após a execução de uma função. 
Introdução ao Coding Web50
Ele também é um comando opcional, ou seja, algumas 
funções não precisam retornar um valor após a execução 
de seus comandos internos.
Não é possível que uma função retorne mais que um valor de uma 
única vez, mas é possível fazer com que ela devolva um valor composto 
como uma lista ou array.
Sempre que o PHP encontra uma chamada para uma função, a 
execução do programa é interrompida e o fluxo da execução passa para o 
início da função. Após a execução da função, o fluxo retorna ao ponto do 
programa em que foi feita a chamada e, então, o próximo comando será 
executado.
Usando funções no blog
Abra o arquivo exe06_blog_u2.php e o renomeie para exe02_blog_
u3.php. Deste modo, localize o bloco de código referente ao bloco de 
categorias ou filtros. Ele deve ser parecido com o apresentado na Figura 
45:
Figura 45: Bloco de filtros
Fonte: O autor
<!-- bloco Filtros -->
<div class=”w3-card w3-margin”>
 <div class=”w3-card w3-padding”>
 <h4>Categorias</h4>
 </div>
 <p>
 <span class=w3-tag w3-black w3- 
margin-bottom”>todas</span>
 <span class=”w3-tag w3-light-grey w3-s-
mall w3-margin-bottom”>Viagens</span>
 <span class=”w3-tag w3-light-grey w3-s-
mall w3-margin-bottom”>Esportes</span>
 <span class=”w3-tag w3-light-grey w3-s-
mall w3-margin-bottom”>Politica</span>
 <span class=”w3-tag w3-light-grey w3-s-
mall w3-margin-bottom”>Familia</span>
 <span class=”w3-tag w3-light-grey w3-s-
mall w3-margin-bottom”>Games</span>
 </p>
</div>
<div>
Introdução ao Coding Web 51
Note que muitas linhas são idênticas, apenas se troca no nome do 
filtro de “Viagens” para “Esportes” e assim por diante.
Podemos fazer uma função para não precisar repetir toda essa 
quantidade de classes W3.CSS. Para isso, precisamos verificar se a opção 
“Todas” se encaixa na regra da função ou se deve ficar de fora da mesma.
Analisando o códigoda Figura 46, percebemos que a opção “Todas” 
está selecionada e, por isso, fica em preto (w3-black), enquanto as outras 
ficam em cor cinza-claro (w3- light-grey). Além disso, a opção “Todas” fica 
em tamanho de letra padrão, enquanto às demais é atribuída a classe w3-
small, que diminui o tamanho da fonte.
Visto isso, sabemos que nossa função deve tratar dois casos: (1) a 
categoria ou filtro que está selecionado; e (2) as demais não selecionadas.
Nossa função pode ser chamada de “Exibe_Categoria()” e deve 
ter dois argumentos: (1) o nome da categoria ou filtro e, (2) status dessa 
categoria, que pode variar entre “selecionado” ou “não selecionado”.
Assim, nossa função poderia ser assim:
Figura 46: Minha primeira função em php dentro do blog.
Fonte: O autor
//Funções
function Exibe_Categorai($Nome, $Selecionado)
{
 $Texto=””;
 if($Selecionado)
 $Texto = “<span class= ‘w3-tag w3-black 
w3-margin-bottom’>”;
else
 $Texto = “<span class=”w3-tag w3-light-grey 
w3-small w3-margin-bottom’>”;
$Texto = $Texto . $Nome.”</span>”;
retur $Texto;
 
}
Onde:
$Nome é o parâmetro do tipo texto, que traz o nome da categoria 
ou filtro que será apresentado;
Introdução ao Coding Web52
$Selecionado é o parâmetro do tipo booleano, que pode conter 
“true” ou “false”, dependendo se a categoria está ou não está selecionada.
Veja que a função executa um comando condicional (IF) a verificar 
o parâmetro
$Selecionado e atribui conteúdo para a variável interna $Texto, 
dependendo do caso. Se o parâmetro $Selecionado for “true”, a função 
executa a linha 15 do código, mas se
$Selecionado for “false”, a função executa a linha 17 do código. Na 
linha 19, a função finaliza a composição do conteúdo da variável $Texto e, 
na linha 21 retorna essa variável para a mesma linha que a chamou.
Agora, precisamos chamar a função “Exibe_Categoria” lá do meio 
do código da página do blog (no bloco de filtros). Fazendo as devidas 
alterações, seu código de chamada da função deve ficar mais ou menos 
assim: 
Figura 47: Código melhorado para o bloco de filtros da Figura
Fonte: O autor
<!-- bloco Filtros -->
<div class=”w3-card w3=margin>
 <div class=”w3-container w3-padding”>
 <h4>Categorias</h4>
 </div>
 <div class=”w3-container w3-white>
 <p>
 <?php
 echo Exibe_Categori(“Todas”, true);
 echo Exibe_Categoria(“Viagens”, false); 
 echo Exibe_Categoria(“Esportes”, false);
 echo Exibe_Categoria(“Politica”, false);
 echo Exibe_Categoria(“Familia”, false);
 echo Exibe_Categoria(“Games”, false);
 ?>
 </p>
 </div>
</div>
Salve o arquivo e atualize o navegador para verificar o resultado. 
Você também pode, se desejar, alterar a ordem dos parâmetros “true” e 
“false”, no código apresentado na Figura 48, para verificar o que acontece 
quando outra categoria ou filtro é selecionado.
Introdução ao Coding Web 53
As variáveis que são enviadas como parâmetros não precisam ter 
os mesmos nomes dos argumentos definidos na função, entretanto, é 
importante que as variáveis estejam na ordem correta para que a associação 
entre parâmetros e argumentos seja realizada da forma esperada.
Exemplo: Vamos ao desafio número 1: modifique o código do 
blog, inserindo todo o conteúdo do bloco <header> em uma função. 
Resolvendo: para isso, precisamos criar uma função (Monta_Cabecalho_
Principal()) com um argumento chamado $autor e colocar dentro dessa 
função todo o conteúdo do bloco <header> concatenado em uma variável 
do tipo texto e retorná-la para ser exibida no local onde foi chamada. A 
Figura 48 mostra a referida função:
Figura: 48 Exemplo de função em PHP Blog Pessoal
Fonte: O autor
function Monta_Cabecalho_Principal($autor)
{
 $Texto = “<header classe=”w3-container w3-cen-
ter w3-padding-32>”;
 $Texto = $Texto - “<h1><b>Meu Blog Pessoal</
br></h1>;
 $Texto = $Texto - “<p>Seja Bem vindo, Criado 
por <span class=w3-tag”>”;
 $Texto = $Texto - $autor . “</span></p>; 
 $Texto = $Texto - “</header>”;
 return $Texto; 
}
Note que essa função tem os mesmos moldes que a função feita 
anteriormente.
A chamada para essa função é tão simples quanto isso:
Introdução ao Coding Web54
Figura 49: Chamada da função apresentada na Figura 48.
Figura 50: Código html5 referente ao rodapé da página do blog.
Fonte: O autor
Fonte: O autor
<body class=”w3-light-grey”>
 <!-- Cabeçalho do corpo da página Web -->
 <?php
 echo Monta_Cabecalho_Principal {$Blo-
co_Apres[“nome”]};
 ?>
<!-- cConteudo da pagina Web -->
Desafio 2: veja o código referente ao rodapé da página:
<!-- Rodapé da pagina Web -->
<footer class=”w3-container w3-dark-grey w3-margin-top w3-call-row>
 <div class=”w3-container w3-call w3-call-top>
 <button class=”w3-button w3-black w3-disable w3-padding-
-large w3-margin-button”>Anterior</button>
 <button class=”w3-button w3-black w3-padding-large 
w3-margin- button”>Próximo</button>
 </div>
 <div class=”w3-container w3-call w3-call-bottom>
 <br><br><br>
 <p>Introdução ao Coding [Web] by Luiz Fernando Corcini</p>
 </div>
 <div> class=”w3-container w3-call w3-call-top>
 <a href=”#” class=”w3-padding w3-large fa fa-facebook”> </a>
 <a href=”#” class=”w3-padding w3-large fa fa-twitter”> </a>
 <a href=”#” class=”w3-padding w3-large fa fa-instagram”> </a>
 </div>
</footer>
</body>
</html>
Tenho certeza que você consegue melhorar este código, não é? 
Mas este é por sua conta!
Se você quiser saber mais sobre funções em PHP, acesse: 
<https://bit.ly/2Y3yu8G>.
Vamos em frente!
https://bit.ly/2Y3yu8G
Introdução ao Coding Web 55
Manipulação de arquivos
Além de campos de tabelas (Banco de Dados) – como foi visto no 
item anterior –, o PHP nos permite trabalhar com arquivos no formato texto 
(.txt). Para os exemplos deste tópico, utilizaremos o arquivo texto “Tamanho_
Estados_BR.txt“ apresentado a seguir:
Tamanhos dos estados brasileiros em km2 AM – 1570,7
PA – 1247,6
MT – 903,3
MG – 587,5
BA – 564,6
MS – 357,1
GO – 340,0
MA – 332,0
RS – 281,7
TO – 277,6
PI – 251,5
SP – 248,2
RO – 237,5
RR – 224,2
PR – 199,3
AC – 152,5
CE – 148,8
AP – 142,8
PE – 98,3
SC – 95,3
PB – 56,4
RN – 52,8
ES – 46,0
RJ – 43,6
AL – 27,7
SE – 21,9
DF – 5,8
Crie esse arquivo para você poder testar os códigos nos exemplos.
Criar ou abrir um arquivo texto
Para ler ou gravar alguma informação em um arquivo no formato txt, 
é necessário que ele exista e esteja aberto, com as permissões de leitura 
e/ou gravação habilitadas. A linguagem PHP possui a função “fopen()” (file 
open), que realiza essas tarefas. Sua sintaxe é:
int fopen(arquivo, modo);
Introdução ao Coding Web56
Repare pela sintaxe apresentada, que essa função retorna um valor 
inteiro. Esse valor corresponde a um identificador diferente de zero, que 
identifica unicamente o arquivo aberto dentro do programa. Sendo diferente de 
zero, informa que a abertura ou criação do arquivo foi realizada com sucesso, 
mas se for zero, informa que o programa não conseguiu abrir ou mesmo criar 
o arquivo.
É importante notar também que a função “fopen()” possui dois 
argumentos: (1) arquivo - faz referência ao arquivo que deve ser criado 
ou aberto. Deve conter todo o caminho (path) do arquivo e sua extensão. 
Exemplo: “c:\curso\u3\arq.txt” e, (2) modo- define a maneira pela qual o 
arquivo vai ser criado ou aberto. A Tabela 5 apresenta as maneiras possíveis 
de se abrir ou criar um arquivo:
Tabela 5 - Maneiras possíveis de se abrir ou criar um arquivo
Fonte: O autor
MODO DESCRIÇÃO
r Abre o arquivo apenas para leitura.
r+
Abre o arquivo para leitura e escrita. O ponteiro de gravação ou 
leitura é posicionado no início do arquivo, o que faz, em caso de 
gravação, que o conteúdo do arquivo seja sobrescrito.
w
Abre o arquivo apenas para escrita. Caso o arquivo já exista, seu 
conteúdo é totalmente apagado. Caso contrário, o PHP tentará 
criá-lo.
w+
Abre o arquivo compermissão para leitura e escrita. As demais 
condições seguem a mesma regra que o modo “w”.
a
Abre o arquivo apenas para escrita. Caso o arquivo ainda não 
exista, o PHP tentará criá-lo. O ponteiro de escrita é posicionado 
no final do arquivo, o que não permite sobreposição de conteúdo.
a+
Abre o arquivo para leitura e escrita. As demais condições seguem 
o padrão do modo “a”.
x
Cria um arquivo apenas para escrita. Retorna “false” e um erro se 
o arquivo já existir.
x+
Cria um arquivo para leitura e escrita. Retorna “false” e um erro se 
o arquivo já existir.
Introdução ao Coding Web 57
Para evitar erros ao tentar abrir um arquivo que não exista ou criar 
um arquivo que já existe, o php disponibiliza a função “file_exists(a)”. Essa 
função retorna “true” se o arquivo já existe e “false” em caso contrário.
Fechar um arquivo texto
Exatamente como aconteceu no tratamento com banco de dados, 
o arquivo de texto deve ser fechado tão logo o programa não precise mais 
utilizá-lo.
Ao terminar as operações com um determinado arquivo, este deve 
ser fechado para evitar riscos de erros de gravação ou até mesmo causar 
problemas na integridade do conteúdo do mesmo.
Para fazer isso, a linguagem php utiliza a função “fclose()” (file close). 
Sua sintaxe é:
fclose(arquivo);
Note que a função não retorna qualquer valor e possui apenas 
um argumento que faz referência ao nome do arquivo (com respectivo 
caminho e extensão) que se deseja fechar.
Exemplo: Abra o NotePad++ e crie um arquivo php exe01_u3.php 
para abrir o arquivo Tamanho_ Estados_BR.txt, apresentar o número 
identificador desse arquivo e fechá-lo. Seria mais ou menos assim:
Figura 51: Código para abrir e fechar arquivo txt apenas para leitura.
Fonte: A autora
<?php
//nome do arquivo
$arquivo = “Tamanho_Estados_BR.txt”;
/* abre o arquivo no modo “r” (apenas para leitura) */
$id = fopen($arquivo, “r”);
/* mostra o numero identificador do arquivo aberto */
 echo $id;
//Fecha o arquivo
fclose($id);
?>
Introdução ao Coding Web58
Ler um arquivo texto
A linguagem php usa a função “fread()” (file read). Sua sintaxe é:
string fread(id, tamanho);
Exemplo: Conforme a sintaxe apresentada, que a função “fread()” 
retorna um valor string. Esse valor corresponde à parte do arquivo que o 
programa deseja ler.
É importante notar também que essa função possui dois 
argumentos: (1) id: faz referência ao identificador do arquivo que se quer 
ler. Esse parâmetro corresponde ao identificador retornado pela função 
“fopen()”; e (2) tamanho: informa o tamanho do bloco de texto (em número 
de bytes), dentro do arquivo, que se quer ler. Caso se queira ler todo o 
conteúdo do arquivo, deve ser usada a função “filesize(arquivo);”.
Abra o NotePad++ e crie um arquivo php exe02_u3.php para abrir o 
arquivo Tamanho_ Estados_BR.txt, apresentar o número identificador desse 
arquivo, ler os primeiros 40 bytes, apresentá-los na tela e, por fim, fechar o 
arquivo. Importante lembrar que cada byte corresponde a uma letra. Seria 
mais ou menos assim: 
Figura 52: Código para ler os primeiros 40 bytes do arquivo txt.
Fonte: O autor
<?php 
//Nome do arquivo
$arquivo = “Tamanho_Estados_BR.txt;
$Tamanho = 40; 
//Tamanho em bytes do 
//texto que deve ser lido
/* abre o arquivo no modo “r” (apenas para leitura) */
$id = fopen($arquivo, “r”);
/* mostra o número identificador do arquivo aberto */
echo $id, “<br>” ;
/* Lê os primeiros bytes do arquivo definidos pela 
variável $Tamanho */
 $Texto = fread($id, $Tamanho);
 echo $Texto;
//Fecha o arquivo
fclose($id);
?>
Introdução ao Coding Web 59
Lembre-se que para ler todo o conteúdo do arquivo txt use a função 
“filesize” (arquivo) no lugar da variável $Tamanho.
Ler uma linha do arquivo
Para ler uma linha do arquivo txt de cada vez, use a função “fgets()”, 
cuja sintaxe é: 
Exemplo: Abra o NotePad++ e crie um arquivo php exe03_u3.php 
para abrir o arquivo Tamanho_ Estados_BR.txt, apresentar o número 
identificador desse arquivo, ler e apresentar as primeiras quatro linhas, e 
fechá-lo. Fica mais ou menos assim:
Figura 53: Código para ler as 4 primeiras linhas do arquivo txt.
Fonte: Própria
<?php
 header(“Content-Type: text/html; 
charset=utf-8”, true) ;
//Nome do arquvio
$arquivo = “Tamanho_Estados_BR.txt”;
$nLinhas = 4; 
//Numero de linhas a serem lidas
/* abre o arquivo no modo “r”
(apenas para leitura) */
$id = fopen($arquivo, “r”);
/* mostra o número identificador do 
arquivo aberto */
echo $id, “<br>” ;
/* Lê as primeiras quatros linhas do 
arquivo pela variável $Tamanho */
for ($n = 1; $n<=$nLinhas;$n++)
{
 echo fgets($id). “<br>”;
}
//Fecha o arquvio
fclose($id);
?>
Introdução ao Coding Web60
Inserir conteúdo em um arquivo TXT
Para escrever em um arquivo txt, use a função “fwrite()”. Ela tem a 
seguinte sintaxe: fwrite(arquivo, texto);
Em que:
 • Arquivo é o identificador do arquivo que foi aberto para a 
inserção do conteúdo; 
 • Texto é o conteúdo a ser inserido.
Figura 54: Código
Fonte: O autor
<?php
 header(“Content-Type: text/html; charset 
=utf-8”, true) ;
//Nome do arquvio
$arquivo = “Tamanho_Estados_BR.txt”;
$Texto = “Teste de inserção de texto”;
/* Abre o arquivo no modo “z”
(apenas para escrita) */
$id = fopen($arquivo, “r”);
/* mostra o número identificador do arquivo 
aberto */
echo $id, “<br>” ;
//grava o conteúdo da variável $Texto no final 
//do arquivo txt
frite($id, $Texto);
//Fecha o arquivo
fclose($id);
?>
EXEMPLO: Abra o NotePad++ e crie um arquivo php exe04_u3.php. 
Para este exemplo, abriremos o arquivo para escrita usando o modo “a”, 
no qual o ponteiro de gravação é posicionado no final do arquivo. O texto 
a ser inserido pode ser da sua escolha. Aqui, vamos utilizar a frase: “teste 
de inserção de texto”. O código fica mais ou menos assim:
Introdução ao Coding Web 61
Depois de executar o código apresentado na Figura 52, 
verifique o arquivo de texto Tamanho_Estados_BR.txt. Agora você 
tem conhecimento para testar leituras e gravação de arquivos textos.
Vamos em frente!
Introdução ao Coding Web62
Cookies, sessões e tratamento de erros
Cookies
Cookies são variáveis gravadas pelo navegador do usuário de forma 
remota. As informações são gravadas no disco rígido do usuário cliente, 
mais especificamente no diretório de arquivos temporários. Assim, o 
uso de cookies não é recomendado quando se tratam de informações 
sigilosas. Para uma transmissão de dados segura, é aconselhável o uso 
de sessões. Na gravação de um cookie, pode ser especificado seu tempo 
de duração. Se esse tempo não for especificado, ele será válido até que o 
usuário encerre a sessão, ou seja, feche o navegador. Os cookies enviados 
são entendidos como variáveis PHP.
Para criar cookies usa-se a função setcookies, que tem a seguinte 
sintaxe: setcookies(nome, valor, duração);
Em que:
 • Nome” é o nome do cookie e se tornará o nome da variá-
vel que identifica o cookie específico dentro do programa 
php;
 • “Valor” se refere ao conteúdo do cookie, ou melhor, o 
valor da variável cookie dentro do programa php;
 • “Duração” define o tempo em segundos que o cookie irá 
permanecer no computador do visitante do site.
EXEMPLO: Para gravar um cookie chamado “Usuário”, cujo conteúdo 
é o nome do usuário, armazenado na variável $usr que seja válido por 
uma hora, você deve fazer assim:
setcookie(“Usuario”, $usr, 3600);
EXEMPLO: Para gravar um cookie chamado “Senha”, cujo conteúdo é 
o senha do usuário, armazenado na variável $pwd que seja válido até que o 
navegador seja fechado, você deve fazer assim:
Introdução ao Coding Web 63
setcookie(“Senha”, $pwd);
Para recuperar o conteúdo de um cookie gravado em seu 
computador, você deve usar o seguinte comando:
$_COOKIE[nome];
Onde: “Nome” é o nome do cookie gravado pela função setcookie.
Exemplo: Abra o NotePad++ e crie um arquivo php exe05_u3.php. 
Imagine que você queira gravar em seu computador um cookie que contenha 
o valor do saldo de sua conta corrente,depois de uma atualização de valores. 
O cookie deve durar por 2 horas.
Figura 55: Código para gravar e recuperar um cookie
Fonte: O autor
<?php
 header(“Content-Type: text/html; charset= 
utf-8”, true) ;
 $saldo = 1036.55; //valor de exemplo
 //simulação de retirada de dinheiro da conta
 $saldo = $saldo -36.55;
 //grava o cookie no computador
 //com o valor atualizado do saldo
 setcookie (“saldoConta”, $saldo, 7200);
 //recupera o cookie e compara com o valor
 //da variável saldo atualizada.
 $recuperado = $_COOKIE[“saldoConta”];
 echo “A variável Saldo é: “.$saldo, “<br>”;
Sessões
Quando você trabalha com uma aplicação desktop não on-line, você 
executa várias atividades com ela ou nela e depois a fecha. Na internet, 
isso se torna complicado porque o navegador não consegue saber quem 
é você depois que você o fecha e abre novamente. As variáveis de sessão 
conseguem resolver esse problema, armazenando informações do 
usuário durante toda a sua navegação. Sessões são estruturas bastante 
semelhantes aos cookies. Sua principal diferença está no fato de que as 
Introdução ao Coding Web64
sessões são armazenadas no servidor e não expiram a menos que isso 
seja programado no código-fonte do programa. As funções mais usadas 
em sessões são:
session_start(): responsável por criar ou restaurar dados de uma 
sessão; session_destroy(): finaliza todas as sessões do visitante.
EXEMPLO: Abra o NotePad++ e crie um arquivo php exe06_u3.php. 
Vamos iniciar uma sessão e gravar os dados de um formulário em variáveis 
de sessão. O código fica mais ou menos assim:
Figura 56: Exemplo de gravação de variáveis de sessão.
Fonte: O autor
<?php
 header(“Content-Type: text/html; charset=utf-8”, true) ;
//inicia a sessão
 session_start();
//Set session variables
 if (isset($_POST[‘usurario’]) && isset($_POST[‘email’])){
 $usr = $_POST [‘usuario’];
 $email = $_POST [‘email’];
 $_SESSION[“u”] = $usr;
 $_SESSION[“e”] = #email;
 echo “as variáveis de sessão foram gravadas!”;
}
?>
<!DOCTYPE HTML>
<html>
<body>
 <form action=”” method=”post”>
 Name: <input type=”text” name=”usuario”><br>
 E-Mail: <input type=”text” name=”email”><br>
 <input type=”submit”>
 </form>
</body>
</html>
Exemplo: Abra o NotePad++ e crie um arquivo php exe07_u3.php. 
Esse código recuperará os dados gravados no código do exemplo 
anterior. Fica mais ou menos assim:
Introdução ao Coding Web 65
Tratamento de erros
Atualmente, na linguagem PHP existem quatro tipos de erros para 
indicar problemas encontrados no código ou problemas que impactem 
o funcionamento de um programa durante sua execução. A Tabela 5 
apresenta esses tipos:
Figura 57 - Exemplo de recuperação de variáveis de sessão gravadas no exemplo anterior.
Fonte: O autor
<?php
 header(“Content-Type: text/html; charset= 
utf-8”, true) ;
 session_start();
<!DOCTYPE html>
<html>
<body>
<?php
//Apresenta as variáveis de sessão gravadas
//no exercicio anterior
echo “Usuário: “ . $_SESSION [‘u’] . “.<br>” ;
echo “Email :” . $_SESSION [‘e’] . “.”;
?>
</body>
</html>
Como você deve ter percebido, dá para fazer muito mais com o 
PHP. Mas nesta unidade, ficaremos por aqui. Não deixe de verificar as 
referências bibliográficas para aprender mais. Isso é só o começo e a 
aprendizagem não pode parar! Sucesso para você!
Introdução ao Coding Web66
REFERÊNCIAS
CHU, S. Y. Banco de dados: organização, sistemas e admi-nistração. 
São Paulo: Atlas, 1983. 397 p.
FREITAS, L. Introdução ao MySQL. Universidade Estadual de Goiás 
(UEG).Goiânia, p. 15. 2013. Disponível em: Acesso em: 24 ago. 2018.
HOSTNET. Banco de dados. (s.d.) Disponível em: <www.hostnet.com.
br/info/banco-de-dados/>. Acesso em: 21 ago. 2018.
MAIA, J. P. Iniciantes ao PHP (Fórum). PHP Brasil, 2018. Disponivel 
em: <http://phpbrasil.com/phorum/>. Acesso em: 19 ago. 2018.
MATOZZO, M. Introdução a banco de dados: o modelo relacional. 
Universidade Federal do Rio de Janeiro (UFRJ). Rio de Janeiro, p. 55. 2000. 
Disponível em: Acesso em: 21 ago. 2018.
PHP. Manual PHP – referência de linguagem. PHP.net, 16 ago. 
2018. Disponivel em: <http://php.net/manual/pt_BR/>. Acesso em: 17 
ago. 2018.
REZENDE, R. Conceitos Fundamentais de banco de dados. 
DevMedia, 2006. Disponivel em: <www.devmedia.com.br/conceitos-
fundamentais-de-banco-de-dados/1649>. Acesso em: 22 ago. 2018.
SANCHES, A. R. Fundamentos de armazenamento e manipulação 
de dados. Instituto de Matemática e Estatíca – Universidade de São Paulo 
(IME-USP). São Paulo. 2005. Disponível em: Acesso em: 23/08/2018.
SILBERSCHATZ, A.; KORTH, H. F.; SUDARSHAN, S. Sistemas de 
bancos de dados. Tradução de D. Vieira. 6. ed. Rio de Janeiro: Elsevier, 
2012.
SOARES, W. Programando em PHP: conceitos e aplicações. São 
Paulo: Érica, 2000.
SOURCEFORGE. WampServer Web Development platform. 
SourceForge, 2018. Disponivel em: <https://sourceforge.net/projects/
wampserver/>. Acesso em: 15 ago. 2018.
http://www.hostnet.com.br/info/
http://www.hostnet.com.br/info/
http://phpbrasil.com/phorum/
http://php.net/manual/pt_BR/
http://www.devmedia.com.br/conceitos-fundamentais-de-banco-de-
http://www.devmedia.com.br/conceitos-fundamentais-de-banco-de-
http://www.devmedia.com.br/conceitos-fundamentais-de-banco-de-
Introdução ao Coding Web 67
TAKAI, O.; ITALIANO, I.; FERREIRA, J. Introdução a banco de dados. 
Departamento de Ciência da Computação – Instituto de Matemática e 
Estatística – Universidade de São Paulo (DCC-IME-USP). [S.l.], p. 124. 2005.
TEIXEIRA, J. Introdução ao MySQL. DevMedia, 2013. 
Disponivel em: <www. devmedia.com.br/introducao-ao-mysql/ 
27799>. Acesso em: 20 ago. 2018.
W3SCHOOLS. PHP Functions. (s.d.) Disponível em: <www.w3schools.
com/php/ php_functions.asp>. Acesso em: 25 ago. 2018.
W3CSS. Disponivel em: <www.w3schools.com/w3css/index.htm>. 
Acesso em: 1 ago. 2018.
http://www/
http://www.w3schools.com/php/
http://www.w3schools.com/php/
http://www.w3schools.com/php/
http://www.w3schools.com/w3css/index.htm
http://www.w3schools.com/w3css/index.htm
Luis Fernando Corcini
Introdução ao Coding Web
	Introdução a banco de dados
	Conceitos importantes
	O que é banco de dados?
	Outros conceitos
	Propriedades gerais de um banco de dados
	Atributo-chave
	Banco de dados MYSQL
	Acessando o phpmyadmin
	Criando o primeiro banco de dados em MYSQL
	Manipulação de tabelas e campos
	Inserindo registros em uma tabela
	Alterando registros em uma tabela
	Excluindo registros em uma tabela
	Localizando registros em uma tabela
	Usando banco de dados no blog pessoal
	Manipulação de dados no MYSQL via PHP
	Conectando a página web ao banco de dados via PHP
	Atualizando a tabela de apresentação pessoa via MYSQL
	Lendo os dados da tabela de apresentação via PHP
	Atualizando o blog pessoal
	Funções e manipulação de arquivos
	Funções
	Usando funções no blog
	Manipulação de arquivos
	Criar ou abrir um arquivo texto
	Fechar um arquivo texto
	Ler um arquivo texto
	Ler uma linha do arquivo
	Inserir conteúdo em um arquivo TXT
	Cookies, sessões e tratamento de erros
	Cookies
	Sessões
	Tratamento de erros

Mais conteúdos dessa disciplina