Você está na página 1de 27

Imprimir

NÃO PODE FALTAR

CONEXÃO DE BANCO DE

0
Ver anotações
DADOS EM PHP
Ely Fernando do Prado

O QUE É UM SGBD?
Um Sistema Gerenciador de Banco de Dados (SGBD) é um software responsável pelo
gerenciamento dos dados, controlando os acessos, a consistência e a integridade
desses dados. 

Fonte: Shutterstock.

Áudio disponível no material digital.


PRATICAR PARA APRENDER

O que uma rede social, um e-commerce e um site de notícias têm em


comum? Uma grande quantidade de dados, que são exibidos
rapidamente a cada vez que algum usuário acessa o site. Nos casos em

0
que temos um grande volume de dados, o simples armazenamento de

Ver anotações
deles em arquivos não é satisfatório, pois caria muito lento,
desestruturado e inseguro. Pense, por exemplo, em um site de e-
commerce: a cada acesso devem ser disponibilizadas diversas
informações a respeito dos produtos disponíveis, incluindo a descrição,
código de referência, preço, informações técnicas, saldo de estoque

disponível, volume para cálculo de frete, fotos e outras. Além disso, os

produtos devem ser classi cados em categorias e o site deve permitir que
o usuário faça pesquisa ltrando os produtos que deseja. São muitas

informações, e é fundamental que elas estejam armazenadas e

organizadas em um banco de dados. Nesta seção estudaremos a


utilização do banco de dados MySQL com a linguagem de programação

para web PHP.

Para colocarmos em prática os conhecimentos a serem obtidos, vamos

analisar a seguinte situação-problema: na startup em que você trabalha,


solicitaram o desenvolvimento de uma página capaz de auxiliar o usuário

a decidir qual o melhor combustível para seu uso, considerando o preço

do litro da gasolina e do etanol. Essa página também deve efetuar


cálculos levando em conta o consumo do veículo (9 km/litro de etanol e

11 km/litro de gasolina) e a distância a ser percorrida.

Além disso, foi solicitado que você mantivesse salvos os dados inseridos

pelos usuários, de maneira que fosse possível gerar posteriormente um


relatório contendo a data, o valor da gasolina e o valor do etanol que os

usuários digitaram. Esses dados estavam sendo salvos em arquivo, porém

essa não é a melhor estratégia. Portanto, visando ao melhor desempenho


do site, sua startup deverá desenvolver funcionalidades que permitam
que os dados inseridos pelo usuário sejam salvos e posteriormente

exibidos no relatório com base em manipulação e consultas no banco de

dados MySQL.

0
Com a utilização de banco de dados, as suas aplicações web carão ainda

mais robustas e pro ssionais. Bons estudos!

Ver anotações
CONCEITO-CHAVE

Caro aluno, as diversas mídias dizem que estamos atualmente na Era da

Informação, e que o bem mais precioso é a informação. Portanto, sempre


que você desenvolver uma aplicação web é importante armazenar e

disponibilizar informações aos seus usuários, incluindo dados sobre o


produto que ele visitou no e-commerce, recorrência de acesso e quais

cliques o usuário deu dentro do site. Considere a quantidade de

informações armazenadas em um e-commerce: os dados cadastrais dos


clientes, dados sobre os produtos, preços, estoque, carrinhos de compra,

pagamentos e outros. São tantas informações que seria inviável

desenvolver um sistema desse tipo sem um banco de dados. Sempre que


precisamos fazer persistência de dados, ou seja, armazenar e recuperar

dados, uma estratégia muito utilizada é utilizar um Sistema Gerenciador


de Banco de Dados (SGBD). Um SGBD é um software responsável pelo

gerenciamento dos dados, controlando os acessos, a consistência e a

integridade desses dados. Alguns exemplos de SGBDs são o MySQL,

MariaDB, PostgreSQL, Oracle e Microsoft SQL Server.

SISTEMA GERENCIADOR DE BANCO DE DADOS MYSQL

O MySQL é um SGBD relacional cuja primeira versão foi lançada em 1994.

Em 2008 foi adquirido pela empresa Sun Microsystems e, em 2010 a

gigante Oracle, que tem um SGBD de mesmo nome, comprou a Sun

Microsystems. Assim, atualmente o MySQL é de propriedade da Oracle,

que mantém a distribuição do MySQL com código aberto (open source)


sob a licença GPL (General Public License), permitindo o uso gratuito do
MySQL, disponde, também, de uma versão paga que pode ser

incorporada a sistemas comerciais.

0
REFLITA

A licença do MySQL costuma ser um assunto que confunde

Ver anotações
muitas pessoas. Pesquise a respeito das condições de uso do

MySQL e re ita sobre elas. Veja, ainda, as condições de uso do

MariaBD e quais as diferenças desse SGBD com o MySQL.

Quando falamos de banco de dados relacional, dizemos que os dados são

organizados em uma estrutura que relaciona e organiza os dados por

meio dos seguintes elementos: tabelas (entidades), colunas (atributos) e

registros (tuplas).

Para se comunicar com o banco de dados MySQL é utilizada a linguagem


SQL (Structured Query Language), ou Linguagem de Consulta Estruturada.

A linguagem SQL é adotada por praticamente todos os sistemas

gerenciadores de banco de dados relacionais, sofrendo apenas pequenas

mudanças quanto a sua sintaxe. Dessa forma, antes de aprendermos

como se conecta ao banco de dados MySQL com PHP, vamos estudar um

pouco a linguagem SQL, que permite a manipulação dos dados com as


seguintes operações:

Inserção: para inserir um registro em uma tabela utiliza-se o seguinte

comando:

INSERT INTO nome_da_tabela (atributo1, atributo2) VALUES

(3, ‘valor2’);

Observe que há um parêntese em que são adicionados os atributos da

tabela que se deseja fazer a inserção separados por vírgula. No segundo

parêntese são adicionados os valores desses mesmos atributos, seguindo


a mesma ordem em que foram adicionados no primeiro parêntese. Caso

o valor for algum texto ou data, deve-se colocar os valores entre aspas

simples.

0
Alteração: para alterar um registro de uma tabela é importante que
se tenha o valor da chave primária (atributo que identi ca unicamente

Ver anotações
uma tupla) do registro que se deseja alterar. A alteração é realizada

pelo seguinte comando:

UPDATE nome_da_tabela SET atributo1 = 3, atributo2 =

’valor2’ 

WHERE chaveprimaria = 1;

A cláusula WHERE serve para indicar qual é o registro a ser alterado.

Exclusão: para excluir um registro de uma tabela é necessário que se

tenha o valor da chave primária do registro que se deseja excluir,

passando-o na cláusula WHERE, semelhante ao que acontece no


comando para alteração:

DELETE FROM nome_da_tabela WHERE chaveprimaria = 1;

Entre os comandos da linguagem SQL, o mais versátil é o comando para


consultar dados. Neste momento veremos apenas sua sintaxe básica,

mas vale a pena você estudar mais a fundo esse importante comando.

Para consultar todas as colunas de todos os registros de uma tabela basta

utilizar o seguinte comando:

SELECT * FROM nome_da_tabela;

O símbolo asterisco indica que serão consultados todos os atributos da

tabela, mas muitas vezes desejamos consultar apenas alguns, o que deixa

a consulta mais rápida. Para especi car as colunas que se deseja

consultar, pode-se substituir o asterisco pelo nome das colunas


separados por vírgula, conforme este exemplo:
SELECT atributo1, atributo2 FROM nome_da_tabela;

É possível ainda adicionar ltros para que sejam mostrados apenas os

registros que atendem a esse critério com a cláusula WHERE. Também é

0
possível ordenar os dados utilizando a cláusula ORDER BY, conforme

mostrado neste código:

Ver anotações
SELECT atributo1, atributo2 

FROM nome_da_tabela
WHERE atributo2 = ‘teste’

ORDER BY atributo1;

CRIANDO O BANCO DE DADOS

Para criar as tabelas do seu banco de dados você pode utilizar


ferramentas auxiliares, como o MySQL Workbank ou o PHPMyAdmin. É

possível utilizar, por exemplo, a PHPMyAdmin dentro do ambiente


PaizaCloud e assim não há necessidade de instalar algo mais no seu
computador. Para isso, crie ambiente no PaizaCloud (PAIZA INC, c2014),

marcando as opções PHP, MySQL e phpMyAdmin, conforme mostrado na


Figura 4.7 a seguir:

Figura 4.7 | Criação do servidor PaizaCloud

Fonte: captura de tela do PaizaCloud elaborada pelo autor.


Depois de criar o servidor, abra o navegador existente dentro do

PaizaCloud e acesse o endereço https://localhost/phpmyadmin/. 


Dentro desse endereço clique no menu “Banco de Dados” e crie um

banco de dados, conforme exempli cado na Figura 4.8: 

0
Ver anotações
Figura 4.8 | Criação do banco de dados

Fonte: captura de tela do PaizaCloud elaborada pelo autor.

CRIANDO TABELAS

Depois que criar o banco de dados deve-se elaborar as tabelas que


receberão os dados a serem armazenados. Na Figura 4.9 está sendo
criada uma tabela chamada “pessoa”, com os atributos de idpessoa,

nome, cpf e telefone. O atributo “idpessoa” é uma chave primária


(identi cador único de cada registro), portanto, foi selecionada a opção

PRIMARY KEY. Marcamos também a opção A.I., que signi ca


“autoincremento”, ou seja, esse campo terá o seu valor atribuído
automaticamente por meio de uma sequência numérica única.

Figura 4.9 | Criação da tabela

Fonte: captura de tela do PaizaCloud elaborada pelo autor.


REFLITA

A plataforma de desenvolvimento on-line PaizaCloud quando


usada na licença gratuita, permite a criação de servidores

temporários, ou seja, depois de 4 horas você perde todos os

0
arquivos e o banco de dados criado. Será que podemos usar
essa plataforma para projetos pro ssionais? Vale a pena

Ver anotações
con gurar todo o ambiente de desenvolvimento localmente no
seu computador?

CONECTANDO AO BANCO DE DADOS

Agora que temos um banco de dados e uma tabela criados, podemos


fazer a conexão utilizando a linguagem PHP, que disponibiliza algumas

bibliotecas para conectar-se em diversos SGBDs disponíveis no mercado.


No caso das conexões com o MySQL, usaremos a biblioteca MySQLi. Essa

biblioteca disponibiliza diversas funções, com destaque para as seguintes:

Abrir conexão: antes de executar qualquer comando no banco de

dados, é necessário abrir uma conexão com a função


mysqli_connect, passando como parâmetros o endereço do servidor,
o nome do usuário, a senha e o nome do banco de dados. É

necessário salvar o retorno dessa função em uma variável, que será


utilizada nas funções seguintes para apontar para a conexão com o

banco de dados, conforme este exemplo: $con =


mysqli_connect($server, $username, $password,
$database);

Executar comando SQL: para executar um comando SQL (para


inserção, alteração, exclusão ou consulta), podemos utilizar a função

mysqli_query, passando por parâmetro uma variável que indica a


conexão com o banco de dados e a string contendo o comando SQL

que se deseja executar. Nos casos em que o comando sql é de


consulta de dados, é necessário salvar o retorno da variável para que
possa ser utilizado na recuperação dos dados, conforme este
exemplo: $res = mysqli_query($con, $sql);

Ler dados da consulta: o comando mysqli_fetch_array é capaz de

0
ler um registro da consulta que foi realizada no banco de dados.
Como parâmetro, deve-se passar uma variável contendo o resultado

Ver anotações
da consulta e o seu retorno é um vetor contendo as colunas e valores
do registro. Caso queira fazer a leitura de todos os registros de uma

consulta, é necessário combinar esse comando com uma estrutura de


repetição, conforme mostrado neste exemplo:
 while ($row = mysqli_fetch_array($res)) {

           echo $row[“coluna”];
}

Fechar conexão: os SGBDs têm um limite permitido para realização


de conexões, logo é importante, ao concluir as operações com o

banco de dados, fechar a conexão pelo comando mysqli_close,


conforme mostrado a seguir: mysqli_close($con);

Exibir erro: quando estamos trabalhando com banco de dados,


enviamos para ele comandos SQL, que serão interpretados pelo
SGBD. Como esses comandos dependem da interpretação do MySQL,

é possível que haja algum tipo de falha. Nesses casos pode-se exibir o
erro na execução do comando sql por meio do comando mysqli_error,

passando como parâmetro a variável que identi ca a


conexão: mysqli_error($con);

EXEMPLIFICANDO

A linguagem PHP permite que executemos comandos SQL no


banco de dados MySQL. Mas como podemos utilizar todos
esses comandos na prática? Considere o banco de dados

chamado “meubd”, que contém uma tabela chamada “pessoa”


com os atributos de “nome”, “telefone” e “cpf”. A seguir
podemos ver um exemplo de código PHP capaz de inserir um
registro nessa tabela e logo em seguida consultar todos os

dados contidos na tabela. Cada linha do código está


comentada com a função sua função.

0
Ver anotações
Código 4.40 | Inserção e consulta de registro de registro utilizando SQL
1 <?php

2
3 //define as variáveis de configuração da
conexão

0
4 $servername = "localhost"; //banco de dados

Ver anotações
local
5 $database = "meubd"; //nome do banco de dados
6 $username = "root"; //usuário padrão do MySQL é
root

7 $password = ""; //por padrão o Paiza.cloud não


coloca senha no banco de dados
8
9 //abre a conexão com o banco

10 $con = mysqli_connect($servername, $username,


$password, $database);
11 if (!$con) {

12 //caso a conexão falhe, ele encerra a


página PHP imprimindo a mensagem de erro
13 die("Falha de conexão: " .
mysqli_connect_error());
14 }
15
16 //monta o comando SQL para inserção
17 $sql = "INSERT INTO pessoa (nome, telefone,

cpf) VALUES ('Bill Gates', '(99)9999-9999',


'123.123.123-12')";
18 //executa a string SQL e valida se foi executa
com sucesso ou não
19 if (mysqli_query($con, $sql)) {
20 echo "Novo registro inserido com
sucesso!";
21 } else {
22 echo "Erro: " . $sql . "<br>" .

mysqli_error($con);
23 }
24
25 //monta o comando SQL para consulta dos dados
26 $sql = "SELECT * FROM pessoa ORDER BY nome";

0
27
28 //executa a string SQL e atribui o seu

Ver anotações
resultado na variável $res
29 $res=mysqli_query($con,$sql);

30 //imprime uma tabela em HTML


31 echo "<table border='1'>";
32 //faz um laço de repetição que irá durar
enquanto tiverem registros na consulta
33 while($row = mysqli_fetch_array($res)){
34 //imprime os dados do registro dentro de
uma tabela HTML
35 //lembre-se que <TR> é coluna e que <TD> é

uma coluna da tabela


36 echo "<tr>";
37 echo "<td>" . $row["nome"] . "</td>";
38 echo "<td>" . $row["telefone"] . "</td>";
39 echo "<td>" . $row["cpf"] . "</td>";
40 echo "</tr>";
41 }
42 //fecha a tabela do HTML
43 echo "</table>";

44
45 //fecha a conexão com o banco de dados
46 mysqli_close($con);
47 ?>

Fonte: elaborado pelo autor

AUTENTICAÇÃO DE USUÁRIO, SESSÕES E COOKIES


Caro aluno, agora que você já pode realizar a manipulação e consultas de

dados no banco de dados, abordaremos a autenticação de usuário. Em

uma rede social, por exemplo, quando você clica para ver seus amigos é
mostrada uma lista contendo apenas os seus amigos, enquanto outro

0
usuário que clica no mesmo link enxerga a lista dos amigos dele. Ou seja,

Ver anotações
para cada usuário é exibida uma informação diferente. Isso acontece
também em sites de e-commerce, quando são sugeridos produtos

direcionados para o usuário que está acessando a página. A visualização

ocorre dessa maneira porque cada usuário fez o seu login de acesso e
tem sua identi cação de nida em todas as páginas que ele acessa na

aplicação. Uma forma muito comum de se identi car o usuário é por

meio da sessão, que em PHP é identi cada pelo vetor (array) chamado

$_SESSION. Nesse vetor podem ser armazenados dados exclusivos para


aquele usuário, de modo que ele tenha uma identi cação única e

diferente da dos demais usuários. Quando o usuário fecha o navegador

essa sessão é excluída automaticamente, garantindo a segurança do


acesso daquele usuário. Para se utilizar a sessão de usuário em uma

página PHP, é obrigatório que na primeira linha da página seja feita a

inicialização da sessão pela função session_start().

Um complemento ao uso da sessão é a utilização do banco de dados para

validar o login do usuário; caso ele tenha digitado usuário e senha válidos,

pode-se guardar o seu nome no vetor da sessão. Assim, qualquer página


a que ele tiver acesso posteriormente, seu nome poderá ser resgatado

para identi cação ou para ltrar dados que serão exibidos para este

usuário. Considere que você tem um banco de dados com a tabela


chamada “usuario” contendo os atributos de “idusuario”, “nome”, “email”

e “senha”. Faremos, portanto, um formulário HTML em que o usuário

poderá digitar o seu e-mail e senha. Caso ele digite um usuário ou senha
válidos, seu nome será armazenado na sua sessão, então ele poderá

navegar em todas as páginas da aplicação tendo seu nome exibido no


topo das páginas. Acompanhe o exemplo a seguir, que ilustra um sistema

de autenticação de usuário. A página index.html disponibiliza um

formulário em que o usuário poderá digitar o seu e-mail e senha:

0
Código 4.41 | index.html – formulário de autenticação

Ver anotações
1 <html>
2 <head>
3 <title>Formulário de Autenticação</title>
4 </head>

5 <body>
6 <!-- formulário que irá enviar os dados para a página
login.php -->
7 <form action="login.php" method="post">
8 <!--atributo para digitação do e-mail -->
9 E-mail: <input type="text" name="email"/>
10 <br/>
11 <!--atributo para digitação do e-mail -->

12 Senha: <input type="password" name="senha"/>


13 <br/>
14 <!--botão que executa a ação do formulário --
>
15 <input type="submit" value="entrar"/>
16 </form>
17 </body>
18 </html>

Fonte: elaborado pelo autor.

Quando o usuário clicar no botão “submit” ele será redirecionado para a


página “login.php”, a qual receberá os dados digitados pelo usuário no

vetor $_POST. Note que a primeira linha do arquivo “login.php” é

justamente a abertura do código PHP com a inicialização da sessão do


usuário. Depois disso é realizada uma consulta no banco de dados para

saber se o e-mail existe no cadastro de usuários e se a senha está correta.

Caso o usuário e a senha sejam válidos, o nome do usuário é salvo no


vetor de sessão e é disponibilizado um link para o usuário navegar até a

0
página de menu:

Ver anotações
Código 4.42 | login.php
1 <?php
2 //inicializa a sessão do usuário
3 session_start();

4 ?>

0
5 <html>

Ver anotações
6 <head>
7 <title>Autenticação do Usuário</title>
8 </head>
9 <body>
10 <?php
11 //declara as variáveis de configuração da conexão
12 $servername = "localhost"; //endereço do servidor

local do mysql
13 $database = "meubd"; //nome do banco de dados
14 $username = "root"; //nome do usuário
15 $password = ""; //senha do banco de dados
16 //abre a conexão com o banco de dados
17 $con = mysqli_connect($servername, $username,
$password, $database);
18 //caso não consiga fazer a conexão, mostra uma
mensagem de erro

19 if (!$con) {
20 die("Falha de conexão: " .
mysqli_connect_error());
21 }
22 //pega os dados de email e senha digitados pelo
usuário no formulário
23 $email = $_POST["email"];
24 $senha = $_POST["senha"];

25 //monta a string sql capaz de consultar todos os


usuários com o email
26 //digitado pelo usuário
27 $sql = "SELECT * FROM usuario WHERE email='$email'";
28 //executa a instrução no banco de dados
29 $res=mysqli_query($con,$sql);
30 //verifica se a instrução retornou algum registro
31 if($row = mysqli_fetch_array($res)){
32 //confirma se a senha no BD é igual à digitada

0
pelo usuário
33 if ($row["senha"]==$senha) {

Ver anotações
34 //se a senha for válida, mostra mensagem de
bem vindo seguido
35 //pelo nome do usuário e um link para o menu
36 echo "Seja bem vindo(a) ";
37 echo $row["nome"];
38 echo "<br/>";
39 echo "<a href='menu.php'>Menu</a>";

40 //guarda o nome do usuário logado na sessão


41 $_SESSION["nome"] = $row["nome"];
42 } else {
43 //se a senha não é igual, mostra mensagem de
senha inválida
44 echo "Senha inválida";
45 }
46 } else {

47 //se não encontrou nenhum registro na tabela para


aquele usuário,
48 //mostra mensagem de que o usuário é inválido
49 echo "Usuário inválido";
50 }
51 mysqli_close($con);
52 ?>
53 </body>
54 </html>

Fonte: elaborado pelo autor.


Quando o usuário clicar no link para abrir a página de menu ou qualquer
outra página que ele acessar a partir de então, basta iniciar a sessão com

a função session_start() e buscar o nome do usuário que está logado por

meio do vetor $_SESSION:

0
Código 4.43 | Função session_start() para inicializar a sessão do usuário

Ver anotações
1 <?php
2 //inicializa a sessão do usuário
3 session_start();
4 ?>
5 <html>

6 <head>
7 <title>Menu personalizado do usuário</title>
8 </head>
9 <body>
10 <h1>
11 <!-- mostra o nome do usuário logado -->
12 Menu do <?php echo $_SESSION["nome"]; ?>
13 </h1>

14 </body>
15 </html>

Fonte: elaborado pelo autor.

O nome do usuário pode ser usado para muito mais do que

simplesmente mostrar quem está logado. Pode-se, por exemplo, utilizar o

nome do usuário para ltrar os produtos relacionados a ele em um site


de e-commerce ou as notícias com os assuntos que o usuário costuma

ler, ou, ainda, uma lista de seus amigos em uma rede social. Essas

consultas podem ser facilmente realizadas pelo banco de dados.

Existem casos em que não há área no site para se fazer autenticação do

usuário por meio de login e senha, mas, mesmo assim, deseja-se manter

alguma informação salva sobre ele. A sessão de usuário então não é útil,
pois quando o navegador é fechado os valores da sessão se perdem.
Quando há a necessidade de se armazenar alguma informação

especi camente daquele usuário é possível utilizar cookies, que

basicamente são pequenas informações salvas no navegador do usuário.

0
Toda vez que o usuário voltar a acessar o seu site, você poderá ler os

Ver anotações
cookies que foram salvar no navegador de quem está acessando. É

importante notar que nos cookies devem ser salvas realmente poucas

informações, pois geralmente há um limite de no máximo 4Kb apenas


para guardar informações desse tipo no navegador. Para salvar um dado

no cookie do usuário utilize a função do PHP setcookie, passando por

parâmetro um nome identi cador do valor e o valor que se deseja


salvar. Também é possível enviar a data de expiração para esse valor,

somando a uma função time() a quantidade de segundos que você quer

deixar esse dado disponível. É obrigatório que a chamada da função

setcookie venha antes de qualquer código html ou impressão de dados


com php, semelhante ao que ocorre com a função session_start, a qual

colocamos logo no início do arquivo. Para recuperar algum dado

armazenado no cookie de usuário basta acessar o vetor $_COOKIE,


conforme mostrado no exemplo a seguir:

Código 4.44 | Função setcookie para salvar um dado no cookie do usuário


1 <?php

2 //salva o nome no cookie do navegador


3 setcookie("nome", "Alan Turing");
4 //salva o email pelo tempo de 1 hora (3600 segundos)

0
5 setcookie("email", "alan@gmail.com", time()+3600);

Ver anotações
6
7 //mostra o nome salvo no cookie.
8 //este valor estará disponível em qualquer página que
o usuário acessar

9 echo $_COOKIE["nome"];
10 ?>

Fonte: elaborado pelo autor.

Infelizmente os cookies não podem ser utilizados dentro do ambiente do

PaizaCloud ou do Paiza.io, pois são salvos no navegador do usuário

(Chrome, Firefox, Edge) e ambas as plataformas de desenvolvimento on-

line não utilizam navegadores reais, mas simuladores on-line. Portanto,


para testar os cookies é recomendável que você instale e con gure o PHP

no seu próprio computador para ter acesso a todos os recursos da

linguagem PHP sem limitação. Você pode então instalar o software


WAMPServer ([s. d.]), além de um editor de código como o Microsoft

Visual Studio Code (2021). A Figura 4.10 a seguir apresenta como a página

PHP que grava cookie pode ser executada utilizando WAMPServer:

Figura 4.10 | Execução da página com WAMPServer

Fonte: captura de tela elaborada pelo autor.

ASSIMILE
Uma informação importante para saber se o seu site está

tendo sucesso ou não é a taxa de recorrência de seus


usuários, ou seja, a quantidade de vezes que um usuário volta

ao seu site. Nos casos em que não há interface para o usuário

0
fazer login, é possível analisar essa taxa com um contador de

Ver anotações
acessos que utiliza cookies. Esse contador de acesso é único

por usuário, pois o seu valor é salvo no navegador do próprio

usuário. Assim, cada vez que um novo usuário acessa sua


página, o contador inicia a contagem novamente, e você

saberá que é um novo usuário entrando na sua página. A

seguir, podemos observar um código que faz esse contador:

Código 4.45 | Contador de acesso de usuários


1 <?php

2 //inicializa a variavel de quantidade com zero


3 $quantidade = 0;

0
5 //faz um verificação, pois caso seja o primeiro

Ver anotações
acesso do usuário o valor do cookie é nulo

6 if ($_COOKIE["contador"]!=null) {
7 //caso exista um valor de cookie salvo

anteriormente, atualiza a variável de


quantidade com o valor do cookie

8 $quantidade = $_COOKIE["contador"];
9 }

10

11 //soma +1 no valor atual da variável quantidade


12 $quantidade++;

13 //salva o novo valor de quantidade no cookie do


navegador do usuário

14 setcookie("contador", $quantidade);
15

16 //exibe o valor atual da variável quantidade


17 echo $quantidade;

18 ?>

Fonte: elaborado pelo autor.

SAIBA MAIS 

Um dos recursos mais relevantes do PHP é a capacidade de

gerar conteúdo HTML dinâmico. Quando se usa um banco de


dados, essa funcionalidade ca ainda mais interessante, pois

podemos permitir que nossa página mude de conteúdo à


medida que o banco de dados é alimentado. Acompanhe o
exemplo a seguir, que mostra a realização de uma consulta em

uma tabela de alunos e suas notas. Note que de acordo com a


nota do aluno a linha da tabela muda de cor: cará em

vermelho quando o aluno for reprovado ou em azul, quando


for aprovado:

0
Figura 4.11 | Lista de Alunos

Ver anotações
Fonte: captura de tela elaborada pelo autor.

Código 4.46 | Lista de Alunos


1 <html>

2 <head>

3 <title>Lista de Alunos</title>
4 </head>

0
5 <body>

Ver anotações
6 <h1>Lista de Alunos</h1>

7 <?php
8 //declara as variáveis de configuração da

conexão ao banco de dados


9 //endereço do servidor

10 $servername = "localhost";

11 //nome do banco de dados


12 $database = "meubd";

13 //usuário do MySQL
14 $username = "root";

15 //senha do MySQL
16 $password = "";

17 //conecta ao banco de dados MySQL


18 $con = mysqli_connect($servername, $username,

$password, $database);

19 if (!$con) {
20 die("Falha de conexão: " .

mysqli_connect_error());
21 }

22
23 //instrução SQL para consulta de dados

24 $sql = "SELECT * FROM aluno ORDER BY nome";


25 //executa a instrução SQL

26 $res=mysqli_query($con,$sql);

27
28 //abre a tabela e define o cabeçalho

29 echo "<table border='1'>";


30 echo "<th>nome</th>";

31 echo "<th>nota 1</th>";


32 echo "<th>nota 2</th>";

33 echo "<th>média</th>";
34 //estrutura de repetição para percorrer todas

as linhas da tabela

0
35 while($row = mysqli_fetch_array($res)){
36 //calcula a média entre as 2 notas

Ver anotações
37 $media = ($row["nota1"]+$row["nota2"]) /
2;

38
39 //se a nota for maior ou igual a 6 ele

coloca a linha em azul

40 if ($media >= 6) {
41 echo "<tr bgcolor='blue'>";

42 } else {
43 //caso contrário (nota menor que 6)

ele coloca a linha em vermelho


44 echo "<tr bgcolor='red'>";

45 }
46 //imprime as colunas dda tabela

47 echo "<td>" . $row["nome"] . "</td>";

48 echo "<td>" . $row["nota1"] . "</td>";


49 echo "<td>" . $row["nota2"] . "</td>";

50 echo "<td>" . $media . "</td>";


51 echo "</tr>";

52 }
53 echo "</table>";

54
55 //fecha a conexão com o banco de dados

56 mysqli_close($con);

57
58 ?>

59 </body>
60 </html>

Fonte: elaborado pelo autor.


PESQUISE MAIS

Para aprender mais acerca da utilização de banco de dados


com PHP, recomendamos a leitura das páginas 71 a 88 do
material indicado a seguir.

0
BOECHAT, G. C. Apostila de Linguagem de Programação I e II

Ver anotações
PHP. Guarulhos, SP: Instituto Federal de Educação, Ciência e
Tecnologia de São Paulo, 2014.

É incrível a quantidade de funções e recursos que a linguagem PHP nos


disponibiliza. Vimos, nesta seção, o acesso ao banco de dados por meio
de uma linguagem de programação, um recurso extremamente

importante que permite desenvolver aplicações web complexas. Aplique


os conceitos apresentados neste material e crie seus próprios portais
para internet.

REFERÊNCIAS

BABIN, L. Ajax com PHP: do iniciante ao pro ssional: crie poderosos


aplicativos web interativos utilizando a força de Ajax e PHP. Rio de Janeiro:
Alta Books, 2007. 208 p. ISBN 9788576081463.

BOECHAT, G. C. Apostila de Linguagem de Programação I e II PHP.


Guarulhos, SP: Instituto Federal de Educação, Ciência e Tecnologia de São
Paulo, 2014. Disponível

em: https://onbus.com.br/leeia.com.br/pdf/ApostilaPHP_2014.pdf. Acesso
em: 2 mar. 2021.

MILANI, A. Construindo aplicações web com PHP e MySQL. São Paulo:


Novatec, 2010. 336 p. ISBN 9788575222195.

PAIZA CLOUD. Página inicial. Paiza Inc, c2014. Disponível em:


https://paiza.cloud/. Acesso em: 28 fev. 2021.
THE PHP GROUP. História do PHP. PHP, 2020. Disponível em:
https://www.php.net/manual/pt_BR/history.php.php. Acesso em: 18 set.
2020.

0
VISUAL STUDIO CODE. Página inicial. Seattle: Microsoft, 2021. Disponível

em: https://code.visualstudio.com/. Acesso em: 2 mar. 2021.

Ver anotações
WAMPSERVER. Página inicial. WampServer, [s. d.]. Disponível em:
https://www.wampserver.com/en/download.php. Acesso em: 28 fev.

2021.

ZERVAAS, Q.; LIMA, E. C.; KINOSHITA, L. Aplicações práticas de web 2.0


com PHP. Rio de Janeiro: Alta Books, 2009. 521 p. ISBN 9788576083269.

Você também pode gostar