Prévia do material em texto
MATERIAL DE APOIO – CURSO TÉCNICO EM INFORMÁTICA – PROFESSOR ROULIEN MELO
PROGRAMAÇÃO PARA INTERNET
ÍNDICE
Parte 1: Fundamentos de Programação para Internet
1. Introdução à Linguagem PHP
o O que é PHP?
o História e evolução.
o Configuração do ambiente de
desenvolvimento.
o Estrutura básica de um script PHP.
2. Conceitos de Programação Estruturada
o Variáveis, tipos de dados e operadores.
o Estruturas condicionais (if-else, switch).
o Estruturas de repetição (for, while, do-
while).
o Funções e modularização do código.
3. Recuperação de Dados de Formulários
o Formulários HTML e métodos GET e
POST.
o Validação e sanitização de dados.
o Processamento de dados no servidor.
o Exemplo completo de interação com
formulários.
Parte 2: Desenvolvimento de Aplicações Dinâmicas
4. Programação Dinâmica
o Conceito e vantagens.
o Geração de conteúdo dinâmico com
PHP.
o Reutilização de código com include e
require.
o Estruturação de páginas dinâmicas.
5. Introdução e Conceitos de Servidores Web
o O que é um servidor web?
o Configuração de um ambiente local com
XAMPP.
o Principais servidores web (Apache,
Nginx).
o Práticas recomendadas para
configuração e segurança.
6. Programação Lado Servidor (Server-Side)
o Diferença entre client-side e server-side.
o Gerenciamento de sessões e cookies.
o Processamento de formulários no
servidor.
o Upload de arquivos e segurança.
Parte 3: Integração com Banco de Dados
7. Tipos de Dados, Funções e Vetores
o Tipos de dados em PHP.
o Manipulação de arrays indexados e
associativos.
o Funções úteis para arrays e strings.
o Iteração sobre coleções de dados.
8. Conexão com Banco de Dados
o Introdução ao MySQL e estrutura básica.
o Configuração e conexão ao banco de
dados com PHP.
o Operações CRUD (Create, Read, Update,
Delete).
o Práticas de segurança com SQL Injection.
9. Autenticação de Usuário
o Registro e login de usuários.
o Gerenciamento de sessões.
o Proteção de áreas restritas.
o Logout e segurança na autenticação.
Parte 4: Construção de Sites e Aplicações Avançadas
10. Conexão com Banco de Dados Utilizando PDO
o Introdução ao PDO e vantagens.
o Configuração de conexão segura.
o Uso de prepared statements para
consultas seguras.
o Operações CRUD com PDO.
11. Introdução ao WordPress e Suas Ferramentas
o O que é WordPress e como instalar.
o Painel de administração e principais
funcionalidades.
o Personalização de temas e instalação de
plugins.
o Criação de conteúdo dinâmico com
WordPress.
12. Projeto Final: Desenvolvimento de Uma
Aplicação Web Completa
o Estruturação de um sistema de
gerenciamento de tarefas.
o Registro e autenticação de usuários.
o Operações CRUD com tarefas.
o Integração de todas as funcionalidades
aprendidas.
Anexos
• Exercícios adicionais.
• Referências e links úteis.
• Guia rápido de comandos PHP e SQL.
Capítulo 1: Introdução à Linguagem PHP
Objetivo
Este capítulo tem como objetivo apresentar a linguagem PHP, seus principais conceitos, histórico e características,
bem como demonstrar como configurar o ambiente necessário para desenvolver aplicações web dinâmicas.
1.1 O que é PHP?
PHP (Hypertext Preprocessor) é uma linguagem de programação de código aberto usada principalmente para o
desenvolvimento web. Ela é executada no lado do servidor (server-side), o que significa que o código é processado
no servidor antes de ser enviado ao navegador do usuário.
Características principais:
• Fácil de aprender e usar.
• Suporte para diversos bancos de dados, como MySQL, PostgreSQL, SQLite, entre outros.
• Ampla compatibilidade com servidores web (Apache, Nginx, etc.).
• Grande comunidade e vasto ecossistema de bibliotecas e frameworks.
Exemplo básico em PHP:
php
1.2 História e Evolução
O PHP foi criado em 1994 por Rasmus Lerdorf como um conjunto de scripts CGI para acompanhar visitantes em seu
site. Desde então, evoluiu para uma linguagem robusta, sendo uma das mais utilizadas para desenvolvimento web.
Principais versões:
• PHP 5: Introduziu o suporte robusto à programação orientada a objetos.
• PHP 7: Melhorias significativas em desempenho e novas funcionalidades.
• PHP 8: Introduziu o JIT (Just-In-Time Compiler), tornando a execução ainda mais eficiente.
1.3 Por que Usar PHP?
• Amplo uso na web: PHP é usado por grandes sites, como Facebook e Wikipedia.
• Flexibilidade: Pode ser integrado com HTML, CSS e JavaScript para criar aplicações web completas.
• Velocidade: É leve e eficiente para desenvolver aplicações escaláveis.
• Custo-benefício: Por ser open-source, não há custos de licenciamento.
1.4 Configuração do Ambiente
Antes de começar a programar em PHP, é necessário configurar um ambiente de desenvolvimento. Um ambiente
comum inclui:
• Servidor Web: Apache ou Nginx.
• Interpretador PHP: Instalado no servidor para processar o código PHP.
• Banco de Dados: MySQL ou outra tecnologia de banco de dados suportada.
Passo a passo para configurar o ambiente com XAMPP:
1. Baixar o XAMPP: Acesse o site oficial (apachefriends.org) e faça o download.
2. Instalar o XAMPP: Siga as instruções de instalação de acordo com seu sistema operacional.
3. Configurar o ambiente:
o Abra o painel de controle do XAMPP.
o Inicie os serviços "Apache" e "MySQL".
4. Testar a instalação:
o Crie um arquivo chamado info.php na pasta htdocs do XAMPP.
o Adicione o seguinte código:
php
o Acesse http://localhost/info.php no navegador. Você deve ver uma página com informações sobre o
PHP.
1.5 Primeiros Passos com PHP
O código PHP é embutido em páginas HTML usando a tag . Ele pode ser usado para exibir conteúdo
dinâmico, manipular dados de formulários e interagir com bancos de dados.
Exemplo básico com HTML e PHP:
php
Primeiro Exemplo em PHP
https://www.apachefriends.org/
Olá, Mundo!
Saída esperada no navegador:
html
Olá, Mundo!
Hoje é 08/11/2024.
1.6 Estrutura de um Arquivo PHP
Um arquivo PHP geralmente tem a extensão .php e pode conter:
• Código HTML: Para estruturar a página.
• Código PHP: Para lógica e processamento.
• Estilo CSS: Para personalização visual.
• Scripts JavaScript: Para interatividade.
Exemplo estruturado:
php
Exemplo Estruturado
body {
font-family: Arial, sans-serif;
background-color: #f9f9f9;
}
Bem-vindo ao PHP!
1.7 Exercícios Práticos
1. Exercício 1: Instale o XAMPP, configure o servidor e crie um arquivo info.php para testar a instalação.
2. Exercício 2: Crie uma página PHP que exiba:
o O nome do usuário armazenado em uma variável.
o A data e hora atual.
3. Exercício 3: Modifique o exemplo básico para exibir diferentes saudações baseadas no horário do dia.
Resumo do Capítulo
Neste capítulo, você aprendeu:
• O que é PHP e suas principais características.
• Como configurar o ambiente de desenvolvimento com XAMPP.
• Os primeiros passos para criar páginas dinâmicas usando PHP.
No próximo capítulo, exploraremos os conceitos de programação estruturada e aprofundaremos na manipulação de
dados e controle de fluxo em PHP.
Capítulo 2: Conceitos de Programação Estruturada
Objetivo
Este capítulo apresenta os fundamentos da programação estruturada em PHP, incluindo conceitos básicos de
variáveis, operadores, estruturascondicionais e laços de repetição. O objetivo é desenvolver a lógica de programação
para manipulação de dados e controle de fluxo.
2.1 O Que é Programação Estruturada?
Programação estruturada é um paradigma que organiza o código em blocos lógicos, tornando-o mais legível,
reutilizável e fácil de manter. Em PHP, a programação estruturada é essencial para criar scripts funcionais e bem
organizados.
Características principais:
• Uso de funções para modularizar o código.
• Controle lógico baseado em condições e repetições.
• Declaração de variáveis para armazenar dados.
2.2 Variáveis em PHP
Variáveis são usadas para armazenar dados que podem ser manipulados durante a execução do script. Em PHP, uma
variável:
• Sempre começa com $.
• Pode conter letras, números e o caractere _, mas não pode começar com números.
• É case-sensitive (distinção entre maiúsculas e minúsculas).
Exemplo:
php
Tipos de dados comuns em PHP:
1. String: Cadeias de caracteres. Exemplo: "Olá, mundo!".
2. Integer: Números inteiros. Exemplo: 42.
3. Float: Números com ponto decimal. Exemplo: 3.14.
4. Boolean: Valores verdadeiro ou falso. Exemplo: true, false.
5. Array: Conjuntos de dados. Exemplo: ["maçã", "banana", "laranja"].
2.3 Operadores
Os operadores são usados para realizar cálculos, comparar valores ou manipular dados. Os principais operadores em
PHP são:
Operadores Aritméticos
• Soma: $a + $b
• Subtração: $a - $b
• Multiplicação: $a * $b
• Divisão: $a / $b
• Módulo (resto da divisão): $a % $b
Operadores Relacionais
• Igual: $a == $b
• Diferente: $a != $b
• Maior que: $a > $b
• Menor que: $a = $b
• Menor ou igual: $a 15) {
echo "As condições foram satisfeitas.";
}
?>
2.4 Estruturas Condicionais
As estruturas condicionais permitem executar diferentes blocos de código com base em condições.
Instrução IF-ELSE
Usada para tomar decisões simples ou complexas.
php
= 18) {
echo "Você é maior de idade.";
} else {
echo "Você é menor de idade.";
}
?>
Instrução SWITCH
Útil para verificar múltiplas condições.
php
2.5 Estruturas de Repetição
As estruturas de repetição permitem executar blocos de código várias vezes, dependendo de uma condição.
Laço FOR
Usado quando se conhece o número de iterações.
php
";
}
?>
Laço WHILE
Executa enquanto a condição for verdadeira.
php
";
$i++;
}
?>
Laço DO-WHILE
Garante a execução pelo menos uma vez.
php
";
$i++;
} while ($i
2.6 Funções em PHP
As funções são blocos de código que realizam tarefas específicas. Elas ajudam a modularizar e reutilizar o código.
Sintaxe:
php
Funções úteis em PHP:
• strlen($string): Retorna o tamanho da string.
• strtoupper($string): Converte a string para maiúsculas.
• array_push($array, $valor): Adiciona um valor ao final do array.
2.7 Exercícios Práticos
1. Exercício 1: Crie um script PHP que exiba os números de 1 a 10 usando um laço for.
2. Exercício 2: Modifique o script acima para exibir apenas os números pares.
3. Exercício 3: Crie uma função que receba a idade de uma pessoa e retorne se ela é maior ou menor de idade.
4. Exercício 4: Crie um formulário HTML que receba o nome do usuário e, ao enviar, exiba uma saudação
personalizada utilizando PHP.
Resumo do Capítulo
Neste capítulo, aprendemos:
• O conceito de programação estruturada.
• Como declarar e utilizar variáveis em PHP.
• O uso de operadores aritméticos, relacionais e lógicos.
• Como implementar estruturas condicionais e de repetição.
• A criação e utilização de funções para modularizar o código.
No próximo capítulo, exploraremos como recuperar e manipular dados de formulários usando PHP.
Capítulo 3: Recuperação de Dados de Formulários
Objetivo
Este capítulo tem como objetivo ensinar como utilizar formulários HTML para coletar dados do usuário e processá-los
com PHP. Além disso, será abordado como validar e sanitizar as entradas para garantir a segurança e funcionalidade
da aplicação.
3.1 O que são Formulários em HTML?
Os formulários HTML são a principal forma de coleta de dados em páginas web. Eles permitem que o usuário insira
informações que podem ser enviadas para o servidor.
Elementos básicos de um formulário:
• : Define o início e o fim de um formulário.
• : Usado para entrada de texto, botões, e outros tipos de dados.
• : Área para entrada de texto longo.
• e : Criam menus suspensos para escolha de opções.
• : Botão para envio ou interação com o formulário.
Exemplo básico:
html
Nome:
Idade:
Enviar
3.2 Métodos GET e POST
Ao enviar dados de um formulário, é possível utilizar os métodos GET ou POST.
GET
• Os dados são enviados na URL.
• Ideal para buscas ou requisições que não envolvam dados sensíveis.
• Limitação no tamanho dos dados enviados.
Exemplo:
html
Enviar
URL gerada: http://meusite.com/processar.php?nome=Maria
POST
• Os dados são enviados no corpo da requisição HTTP.
• Mais seguro para dados sensíveis.
• Sem limite de tamanho para os dados enviados.
Exemplo:
html
Enviar
3.3 Recuperando Dados em PHP
Para acessar os dados enviados por um formulário, utilizamos os arrays superglobais $_GET e $_POST.
Exemplo com GET:
php
Exemplo com POST:
php
3.4 Validação de Dados
Antes de processar os dados, é essencial validar as entradas para evitar erros e ataques maliciosos.
Validação Básica:
• Verificar se os campos estão preenchidos:
php
• Verificar tipos de dados (exemplo: números):
php
3.5 Sanitização de Dados
A sanitização remove ou escapa caracteres indesejados, protegendo contra injeções de código e outros ataques.
Funções úteis em PHP:
• htmlspecialchars(): Escapa caracteres especiais do HTML.
• filter_var(): Filtra e valida dados.
Exemplo com htmlspecialchars():php
Exemplo com filter_var():
php
3.6 Exemplo Completo
Formulário:
html
Nome:
Idade:
E-mail:
Enviar
Processamento (processar.php):
php
";
echo "Idade: $idade";
echo "E-mail: $email";
?>
3.7 Exercícios Práticos
1. Exercício 1: Crie um formulário com os campos nome, idade e cidade. Exiba os dados enviados utilizando o
método GET.
2. Exercício 2: Crie um formulário que aceite uma mensagem do usuário. Valide se o campo está preenchido e
exiba o texto sanitizado na tela.
3. Exercício 3: Modifique o exemplo completo para verificar se o e-mail enviado é válido usando a função
filter_var().
Resumo do Capítulo
Neste capítulo, aprendemos:
• Como criar e configurar formulários em HTML.
• A diferença entre os métodos GET e POST.
• Como recuperar e processar dados do formulário em PHP.
• Técnicas básicas de validação e sanitização de entradas do usuário.
No próximo capítulo, exploraremos os conceitos de programação dinâmica, criando páginas dinâmicas e interativas
com PHP.
Capítulo 4: Programação Dinâmica
Objetivo
Este capítulo explora o conceito de programação dinâmica, ensinando como utilizar PHP para gerar páginas web
dinâmicas. Também abordaremos como incluir arquivos reutilizáveis e manipular conteúdos com base na interação
do usuário.
4.1 O Que é Programação Dinâmica?
Programação dinâmica refere-se à criação de páginas web que mudam ou geram conteúdo automaticamente com
base em variáveis, interações do usuário ou dados armazenados em um banco de dados.
Exemplos de páginas dinâmicas:
• Sistemas de login.
• Exibição de produtos em uma loja virtual.
• Fóruns ou blogs que mostram novos posts automaticamente.
• Páginas que exibem dados baseados em preferências do usuário.
Vantagens:
• Personalização do conteúdo.
• Maior interação e engajamento.
• Automatização de processos.
4.2 Gerando Conteúdo Dinâmico com PHP
Uma das principais funções do PHP é permitir que páginas HTML sejam personalizadas com base em dados
fornecidos pelo usuário ou armazenados em sistemas externos.
Exemplo básico:
php
Saída:
Bem-vindo, João!
4.3 Trabalhando com Dados Dinâmicos
Os dados podem ser obtidos de várias fontes:
1. Formulários HTML: Dados enviados pelo usuário.
2. URLs Dinâmicas: Usando variáveis passadas na URL.
3. Banco de Dados: Extração de informações armazenadas.
Exemplo com Dados de Formulários:
php
Exemplo com Variáveis na URL:
php
URL:
http://meusite.com/pagina.php?categoria=tecnologia
Saída:
Você está visualizando a categoria: tecnologia.
4.4 Reutilização de Código
PHP permite a inclusão de arquivos externos, o que facilita a organização e reutilização de código.
Funções Include e Require
• include: Inclui um arquivo e continua a execução mesmo que o arquivo não seja encontrado.
• require: Inclui um arquivo, mas interrompe a execução se o arquivo não for encontrado.
Exemplo:
1. Crie um arquivo chamado cabecalho.php:
php
Meu Site
Bem-vindo ao Meu Site
2. Inclua o arquivo em outra página:
php
Este é o conteúdo principal da página.
4.5 Estruturando Páginas Dinâmicas
Uma aplicação dinâmica geralmente é composta por:
1. Cabeçalho (Header): Inclui o menu e o título.
2. Conteúdo Dinâmico: Mostrado com base na ação do usuário.
3. Rodapé (Footer): Informações gerais, como direitos autorais.
Exemplo de Estrutura:
1. Arquivo header.php:
php
Meu Site
Home
Sobre
Contato
2. Arquivo footer.php:
php
© 2024 Meu Site. Todos os direitos reservados.
3. Arquivo index.php:
php
Bem-vindo!
Este é o conteúdo da página inicial.
4.6 Personalizando Conteúdo
Páginas dinâmicas permitem personalizar a experiência do usuário com base em:
• Dados do banco de dados.
• Preferências do usuário (cookies ou sessões).
• Ações do usuário.
Exemplo de Personalização com Sessões:
1. Inicie a sessão:
php
2. Exiba a personalização:
php
4.7 Exercício Prático
1. Exercício 1: Crie um site com três páginas principais (Home, Sobre e Contato). Use include para compartilhar
o mesmo cabeçalho e rodapé entre elas.
2. Exercício 2: Modifique o site para exibir o nome do usuário no cabeçalho após ele preencher um formulário
na página de login.
3. Exercício 3: Crie uma página que mostre diferentes categorias de produtos com base em uma variável
passada na URL.
Resumo do Capítulo
Neste capítulo, aprendemos:
• O que é programação dinâmica e como usá-la para gerar conteúdo personalizado.
• Como trabalhar com dados obtidos de formulários, URLs e bancos de dados.
• A importância da reutilização de código com include e require.
• Como estruturar páginas dinâmicas de forma organizada.
No próximo capítulo, exploraremos os conceitos de servidores web e como configurar um ambiente para execução
eficiente de aplicações PHP.
Capítulo 5: Introdução e Conceitos de Servidores Web
Objetivo
Este capítulo apresenta os conceitos fundamentais de servidores web, sua arquitetura e o papel crucial no
funcionamento de aplicações web. Também serão abordados os principais servidores web, como configurar um
ambiente local para o desenvolvimento e práticas recomendadas.
5.1 O Que é um Servidor Web?
Um servidor web é um software ou hardware responsável por armazenar, processar e entregar páginas web aos
usuários por meio de navegadores. Ele interpreta solicitações HTTP enviadas pelos navegadores e retorna os arquivos
correspondentes (HTML, CSS, JavaScript, imagens, etc.).
Funcionamento Básico:
1. O navegador do usuário (cliente) envia uma solicitação HTTP ao servidor.
2. O servidor processa a solicitação e localiza o recurso solicitado.
3. O servidor envia uma resposta HTTP contendo o recurso solicitado.
Exemplo de Comunicação:
• Cliente: GET /index.html HTTP/1.1
• Servidor: Retorna o conteúdo da página index.html.
5.2 Principais Servidores Web
1. ApacheHTTP Server
• Um dos servidores web mais populares e amplamente usados.
• Código aberto e altamente configurável.
• Suporte para módulos, como PHP e SSL.
2. Nginx
• Focado em alta performance e escalabilidade.
• Amplamente usado como proxy reverso e balanceador de carga.
• Suporte para servidores estáticos e dinâmicos.
3. Microsoft IIS (Internet Information Services)
• Integrado ao sistema operacional Windows.
• Oferece suporte para ASP.NET e outras tecnologias Microsoft.
4. Lighttpd
• Leve e eficiente, ideal para servidores de baixa capacidade.
• Projetado para alta performance com carga mínima de recursos.
5.3 Configuração do Ambiente Local
Para desenvolver aplicações web com PHP, é necessário configurar um servidor local que simula um ambiente de
produção.
5.3.1 Ferramentas Recomendadas
• XAMPP: Inclui Apache, MySQL, PHP e Perl.
• WAMP: Uma alternativa para Windows com Apache, MySQL e PHP.
• LAMP: A versão Linux, com Apache, MySQL e PHP.
• Docker: Permite configurar ambientes isolados e consistentes.
5.3.2 Instalando o XAMPP
1. Baixe o XAMPP do site oficial: https://www.apachefriends.org.
2. Siga as instruções de instalação.
3. Inicie os serviços Apache e MySQL pelo painel de controle do XAMPP.
5.3.3 Testando o Servidor Local
1. Acesse http://localhost no navegador.
2. Crie um arquivo chamado index.php na pasta htdocs do XAMPP.
3. Adicione o seguinte código:
php
4. Acesse http://localhost/index.php para verificar.
5.4 Configurações Básicas do Servidor
Os servidores web permitem diversas configurações para personalizar seu funcionamento.
5.4.1 Arquivo de Configuração do Apache
O arquivo httpd.conf contém a configuração principal do Apache.
Configurações comuns:
• Definir o diretório raiz: Onde os arquivos do site são armazenados.
apache
https://www.apachefriends.org/
DocumentRoot "C:/xampp/htdocs"
• Habilitar módulos: Ativar suporte para PHP, SSL, entre outros.
apache
LoadModule php_module modules/libphp.so
5.4.2 Arquivo .htaccess
Permite configurações específicas em diretórios do servidor.
Exemplo:
• Redirecionar todas as requisições para HTTPS:
apache
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
5.5 Práticas Recomendadas para Configuração
1. Segurança:
o Configure permissões apropriadas nos diretórios.
o Desative a listagem de diretórios.
o Use HTTPS para proteger a comunicação.
2. Performance:
o Habilite o cache para recursos estáticos.
o Use compressão GZIP para reduzir o tamanho das respostas.
3. Logs e Monitoramento:
o Ative logs de acesso e erros para monitorar o servidor.
o Utilize ferramentas como Grafana ou ELK Stack para análise avançada.
5.6 Servidores Web e PHP
Os servidores web precisam estar configurados para processar scripts PHP.
Integração do Apache com PHP
No XAMPP, o Apache já vem configurado para executar arquivos .php. No entanto, em instalações manuais, é
necessário adicionar suporte ao PHP no arquivo de configuração.
Exemplo no httpd.conf:
apache
AddType application/x-httpd-php .php
Configuração de Virtual Hosts
Permite criar múltiplos sites no mesmo servidor.
Exemplo de Configuração:
1. Adicione no arquivo httpd-vhosts.conf:
apache
ServerName meusite.local
DocumentRoot "C:/xampp/htdocs/meusite"
2. Atualize o arquivo hosts do sistema para mapear o domínio:
lua
127.0.0.1 meusite.local
3. Reinicie o Apache e acesse http://meusite.local.
5.7 Exercício Prático
1. Exercício 1: Instale o XAMPP e configure um servidor local. Crie um arquivo PHP que exiba "Servidor
funcionando corretamente!".
2. Exercício 2: Configure um virtual host para um projeto fictício chamado "lojavirtual" e teste o acesso.
3. Exercício 3: Modifique o arquivo .htaccess para redirecionar todo o tráfego para HTTPS.
Resumo do Capítulo
Neste capítulo, aprendemos:
• O que é um servidor web e seu papel no funcionamento de aplicações web.
• Os principais servidores web, como Apache e Nginx.
• Como configurar um ambiente local para desenvolvimento com XAMPP.
• Boas práticas de configuração e segurança para servidores.
No próximo capítulo, exploraremos a programação lado servidor (server-side) e como criar aplicações interativas
utilizando PHP.
Capítulo 6: Programação Lado Servidor (Server-Side)
Objetivo
Este capítulo apresenta os fundamentos da programação lado servidor (server-side), abordando como o PHP
processa requisições do cliente, gerencia sessões, manipula cookies e realiza interações com o servidor para criar
aplicações web dinâmicas e seguras.
6.1 O Que é Programação Lado Servidor?
A programação lado servidor refere-se ao processamento que ocorre no servidor antes de uma resposta ser enviada
ao cliente (navegador). É responsável por:
• Gerenciar a lógica de negócios.
• Interagir com bancos de dados.
• Gerenciar autenticação e sessões.
• Garantir a segurança das operações.
Exemplo de fluxo server-side:
1. O cliente envia uma solicitação ao servidor.
2. O servidor processa a lógica e, se necessário, consulta o banco de dados.
3. O servidor retorna o conteúdo gerado dinamicamente (HTML, JSON, etc.) ao cliente.
6.2 Diferença entre Client-Side e Server-Side
Aspecto Client-Side Server-Side
Execução Navegador do usuário Servidor web
Linguagens HTML, CSS, JavaScript PHP, Python, Ruby, Node.js
Controle Gerencia a interface do usuário Gerencia a lógica e dados
Segurança Exposto ao cliente Mais seguro
Exemplo Validação básica de formulários Processamento e armazenamento dos dados
6.3 Manipulação de Sessões
Sessões são utilizadas para armazenar informações do usuário entre diferentes requisições. O PHP utiliza a variável
superglobal $_SESSION para gerenciar sessões.
6.3.1 Como Iniciar uma Sessão
1. Adicione o comando session_start() no início do script:
php
2. Recuperar os dados da sessão:
php
3. Encerrar a sessão:
php
6.4 Manipulação de Cookies
Cookies são pequenos arquivos armazenados no navegador do usuário para guardar informações como preferências
ou autenticação.
6.4.1 Criar um Cookie
php
6.4.2 Recuperar um Cookie
php
6.4.3 Apagar um Cookie
php
6.5 Processamento de Formulários no Servidor
O PHP pode receber e processar dados enviados por formulários HTML. Os dados podem ser manipulados, validados
e armazenados no servidor.
Exemplo de Processamento:
Formulário:
html
Nome:
E-mail:
Enviar
Script processar.php:
php
";
echo "E-mail: $email";
} else {
echo"Campos não preenchidos!";
}
?>
6.6 Upload de Arquivos
O PHP suporta o upload de arquivos através do atributo enctype="multipart/form-data" no formulário.
Formulário para Upload:
html
Fazer Upload
Processamento de Upload:
php
6.7 Práticas de Segurança
1. Validação de Dados: Sempre verifique os dados recebidos.
2. Proteção contra CSRF: Utilize tokens de autenticação.
3. Proteção contra SQL Injection: Use prepared statements para interagir com bancos de dados.
4. Gerenciamento de Sessões Seguras: Use cookies seguros e sessões com tempo de expiração.
6.8 Exercício Prático
1. Exercício 1: Crie uma página que armazene o nome do usuário em uma sessão e o exiba em uma página
subsequente.
2. Exercício 2: Crie um formulário para fazer upload de uma imagem e exiba a imagem enviada.
3. Exercício 3: Adicione um botão de logout que encerre a sessão e redirecione o usuário para a página inicial.
Resumo do Capítulo
Neste capítulo, aprendemos:
• A diferença entre client-side e server-side.
• Como gerenciar sessões e cookies em PHP.
• Como processar formulários no servidor.
• Técnicas de segurança para proteger aplicações server-side.
No próximo capítulo, exploraremos tipos de dados, funções e vetores, aprofundando no gerenciamento e
manipulação de informações em PHP.
Capítulo 7: Tipos de Dados, Funções e Vetores
Objetivo
Este capítulo aborda os tipos de dados suportados pelo PHP, como utilizar funções para modularizar o código e como
trabalhar com vetores (arrays) para manipular coleções de dados. Esses conceitos são fundamentais para criar
aplicações web eficientes e bem estruturadas.
7.1 Tipos de Dados em PHP
O PHP é uma linguagem de tipagem dinâmica, ou seja, o tipo da variável é definido automaticamente com base no
valor atribuído.
Tipos Básicos:
1. String: Cadeias de caracteres.
php
$nome = "Maria";
2. Integer: Números inteiros.
php
$idade = 25;
3. Float: Números de ponto flutuante.
php
$preco = 19.99;
4. Boolean: Valores lógicos verdadeiro (true) ou falso (false).
php
$ativo = true;
5. Array: Coleção de dados indexados ou associativos.
php
$frutas = ["maçã", "banana", "laranja"];
6. Null: Variável sem valor.
php
$vazio = null;
Funções Úteis para Tipos de Dados:
• is_int($var): Verifica se a variável é um número inteiro.
• is_string($var): Verifica se a variável é uma string.
• gettype($var): Retorna o tipo da variável.
Exemplo:
php
7.2 Funções em PHP
As funções permitem encapsular blocos de código para reutilização e melhor organização.
7.2.1 Criando uma Função
A declaração de uma função é feita com a palavra-chave function.
Exemplo:
php
7.2.2 Funções com Parâmetros e Valores Padrão
As funções podem receber valores como entrada e ter valores padrão.
Exemplo:
php
7.2.3 Funções Recursivas
Uma função pode chamar a si mesma para resolver problemas como cálculo de fatorial.
Exemplo:
php
7.3 Vetores (Arrays)
Os vetores permitem armazenar múltiplos valores em uma única variável.
7.3.1 Arrays Indexados
Os elementos são acessados por índices numéricos.
php
7.3.2 Arrays Associativos
Os elementos são acessados por chaves nomeadas.
php
"Carlos",
"idade" => 30,
"cidade" => "São Paulo"
];
echo $pessoa["nome"]; // Saída: Carlos
?>
7.3.3 Funções Úteis para Arrays
• count($array): Retorna o número de elementos no array.
• array_push($array, $valor): Adiciona um elemento no final.
• array_pop($array): Remove o último elemento.
• sort($array): Ordena o array em ordem crescente.
Exemplo:
php
7.3.4 Iterando Sobre Arrays
Use loops para percorrer os elementos de um array.
Exemplo com for:
php
";
}
?>
Exemplo com foreach:
php
"Carlos", "idade" => 30];
foreach ($pessoa as $chave => $valor) {
echo "$chave: $valor";
}
?>
7.4 Exercícios Práticos
1. Exercício 1: Crie uma função que receba dois números e retorne a soma deles.
2. Exercício 2: Crie um array de 5 frutas e exiba os elementos usando um loop foreach.
3. Exercício 3: Crie uma função que receba um array de números e retorne o maior valor.
4. Exercício 4: Crie um array associativo para representar um aluno (nome, idade, notas) e exiba os dados
formatados.
Resumo do Capítulo
Neste capítulo, aprendemos:
• Os tipos de dados disponíveis em PHP.
• Como criar e usar funções, incluindo funções recursivas.
• Como manipular arrays indexados e associativos.
• Funções úteis e métodos para iterar sobre arrays.
No próximo capítulo, exploraremos a conexão com bancos de dados e como realizar operações básicas utilizando
PHP.
Capítulo 8: Conexão com Banco de Dados
Objetivo
Este capítulo apresenta como conectar aplicações PHP a bancos de dados para realizar operações como inserção,
consulta, atualização e exclusão de dados. Serão utilizados conceitos básicos de SQL em conjunto com PHP para criar
sistemas dinâmicos que armazenam e recuperam informações de forma eficiente.
8.1 O Que é um Banco de Dados?
Um banco de dados é um sistema organizado para armazenar, gerenciar e recuperar informações. Ele é essencial
para aplicações que precisam lidar com grandes volumes de dados ou manter informações persistentes.
Principais Tipos de Banco de Dados
1. Relacional: Organiza os dados em tabelas (ex.: MySQL, PostgreSQL).
2. Não Relacional: Armazena dados em estruturas não tabulares (ex.: MongoDB).
8.2 Introdução ao MySQL
O MySQL é um sistema de gerenciamento de banco de dados relacional amplamente utilizado. Ele é gratuito, de
código aberto e fácil de integrar ao PHP.
Instalando e Configurando o MySQL
1. Use o XAMPP para instalar o MySQL como parte do pacote.
2. Inicie o serviço MySQL no painel de controle do XAMPP.
3. Acesse a interface gráfica do MySQL usando o phpMyAdmin em http://localhost/phpmyadmin.
8.3 Estrutura Básica de um Banco de Dados Relacional
Um banco de dados relacional é composto por tabelas, que possuem:
• Colunas: Representam os atributos (nome, idade, etc.).
• Linhas: Representam os registros (valores armazenados).
Exemplo de Tabela:
Tabela: usuarios
ID Nome Email
1 João joao@email.com
2 Maria maria@email.com
8.4 Conexão com o Banco de Dados em PHP
Função mysqli_connect
O PHP fornece a extensão mysqli para conexão com bancos de dados MySQL.
Exemplo de Conexão:
php
$usuario = "root";
$senha = "";
$banco = "meubanco";
// Conexão
$conn = mysqli_connect($servidor, $usuario, $senha, $banco);
// Verificar Conexão
if (!$conn) {
die("Falha na conexão: " . mysqli_connect_error());
}
echo "Conexão bem-sucedida!";
?>
8.5 Operações CRUD
CRUD é o acrônimo para as quatro operações básicas de manipulação de dados em um banco de dados: Create
(criar), Read (ler), Update (atualizar) e Delete (excluir).
8.5.1 Create (Inserir Dados)
php
8.5.2 Read (Consultar Dados)
php
0) {
while ($row = mysqli_fetch_assoc($result)) {
echo "ID: " . $row["ID"] . " - Nome: " . $row["nome"] . " - Email: " . $row["email"] . "";
}
} else {
echo "Nenhum registro encontrado.";
}
?>
8.5.3 Update (Atualizar Dados)
php
8.5.4 Delete (Excluir Dados)
php
8.6 Fechando a Conexão
Após realizar todas as operações, é uma boa prática fechar a conexão com o banco de dados.
Exemplo:
php
8.7 Segurança na Conexão com Banco de Dados
1. Sanitização de Dados: Use funções como mysqli_real_escape_string para evitar SQL Injection.
php
$nome = mysqli_real_escape_string($conn, $_POST['nome']);
2. Prepared Statements: Utilize prepared statements para proteger consultas dinâmicas.
php
prepare("INSERT INTO usuarios (nome, email) VALUES (?, ?)");
$stmt->bind_param("ss", $nome, $email);
$stmt->execute();
?>
3. Gestão de Usuários do Banco: Crie usuários específicos para cada aplicação com permissões limitadas.
8.8 Exercícios Práticos
1. Exercício 1: Crie um banco de dados chamado "loja" e uma tabela "produtos" com as colunas: ID, Nome,
Preço e Quantidade. Insira três registros manualmente no phpMyAdmin.
2. Exercício 2: Desenvolva um script PHP que conecte ao banco de dados "loja" e exiba os produtos
cadastrados.
3. Exercício 3: Adicione um formulário para cadastrar novos produtos no banco de dados usando PHP.
Resumo do Capítulo
Neste capítulo, aprendemos:
• O que é um banco de dados e sua importância nas aplicações web.
• Como conectar um banco de dados MySQL ao PHP.
• Realizar operações CRUD com mysqli.
• Implementar boas práticas de segurança ao interagir com bancos de dados.
No próximo capítulo, exploraremos autenticação de usuários e como implementar sistemas de login e
gerenciamento de sessões em PHP.
Capítulo 9: Autenticação de Usuário
Objetivo
Este capítulo aborda como criar sistemas de autenticação de usuário utilizando PHP. Será explorado como
implementar o processo de login, logout e gerenciamento de sessões para proteger áreas restritas de uma aplicação
web.
9.1 O Que é Autenticação de Usuário?
A autenticação é o processo de verificar a identidade de um usuário antes de conceder acesso a recursos ou
informações protegidas. Este processo geralmente envolve:
1. Identificação: O usuário informa suas credenciais (nome de usuário, e-mail, etc.).
2. Verificação: O sistema valida as credenciais fornecidas.
3. Autorização: O acesso é concedido se a autenticação for bem-sucedida.
9.2 Estrutura Básica do Sistema de Autenticação
Um sistema de autenticação típico envolve:
1. Banco de Dados: Armazena as informações dos usuários, como nome, e-mail e senha.
2. Formulário de Login: Permite que o usuário insira suas credenciais.
3. Validação de Credenciais: Verifica se o e-mail e a senha estão corretos.
4. Sessão: Armazena informações do usuário autenticado.
9.3 Criando a Tabela de Usuários
Crie uma tabela no banco de dados para armazenar informações dos usuários.
SQL para criar a tabela:
sql
CREATE TABLE usuarios (
id INT AUTO_INCREMENT PRIMARY KEY,
nome VARCHAR(100) NOT NULL,
email VARCHAR(100) UNIQUE NOT NULL,
senha VARCHAR(255) NOT NULL
);
9.4 Registro de Usuário
Permitir que novos usuários se cadastrem no sistema.
Formulário de Registro:
html
Nome:
E-mail:
Senha:
Registrar
Processamento do Registro:
php
connect_error) {
die("Falha na conexão: " . $conn->connect_error);
}
$sql = "INSERT INTO usuarios (nome, email, senha) VALUES (?, ?, ?)";
$stmt = $conn->prepare($sql);
$stmt->bind_param("sss", $nome, $email, $senha);
if ($stmt->execute()) {
echo "Usuário registrado com sucesso!";
} else {
echo "Erro ao registrar: " . $stmt->error;
}
$stmt->close();
$conn->close();
}
?>
9.5 Implementando Login
Formulário de Login:
html
E-mail:
Senha:
Entrar
Processamento do Login:
php
connect_error) {
die("Falha na conexão: " . $conn->connect_error);
}
$sql = "SELECT id, nome, senha FROM usuarios WHERE email = ?";
$stmt = $conn->prepare($sql);
$stmt->bind_param("s", $email);
$stmt->execute();
$result = $stmt->get_result();
if ($result->num_rows === 1) {
$usuario = $result->fetch_assoc();
if (password_verify($senha, $usuario['senha'])) {
$_SESSION['usuario_id'] = $usuario['id'];
$_SESSION['usuario_nome'] = $usuario['nome'];
echo "Login bem-sucedido. Bem-vindo, " . $usuario['nome'];
} else {
echo "Senha incorreta.";
}
} else {
echo "Usuário não encontrado.";
}
$stmt->close();
$conn->close();
}
?>
9.6 Logout e Finalização de Sessão
Para encerrar a sessão do usuário e fazer logout, use o seguinte script:
php
9.7 Protegendo Áreas Restritas
Para proteger páginas que exigem autenticação, verifique se o usuário está logado.
Exemplo:
php
9.8 Boas Práticas de Segurança
1. Hash de Senhas:
o Use password_hash() para armazenar senhas de forma segura.
o Verifique as senhas compassword_verify().
2. Sessões Seguras:
o Sempre use session_start() no início do script.
o Configure o tempo de expiração da sessão.
3. Proteção Contra SQL Injection:
o Use prepared statements para evitar injeções SQL.
4. HTTPS:
o Certifique-se de que o sistema está hospedado em um servidor com HTTPS habilitado.
9.9 Exercícios Práticos
1. Exercício 1: Implemente um sistema de login e logout usando sessões.
2. Exercício 2: Adicione uma funcionalidade para permitir que os usuários redefinam suas senhas.
3. Exercício 3: Crie uma página protegida que exiba uma mensagem de boas-vindas ao usuário logado.
Resumo do Capítulo
Neste capítulo, aprendemos:
• Como criar uma tabela de usuários e registrar novos usuários.
• Como implementar login e logout utilizando sessões.
• Boas práticas de segurança para proteger credenciais e sessões.
No próximo capítulo, exploraremos a conexão com banco de dados utilizando PDO, abordando como criar consultas
seguras e eficientes.
Capítulo 10: Conexão com Banco de Dados Utilizando PDO (PHP Data Objects)
Objetivo
Este capítulo apresenta o uso de PDO (PHP Data Objects), uma extensão poderosa e flexível do PHP para interagir
com bancos de dados. Vamos explorar como conectar ao banco de dados, realizar operações CRUD e implementar
medidas de segurança como prepared statements para evitar SQL Injection.
10.1 O Que é PDO?
PDO é uma interface de acesso a bancos de dados em PHP que oferece uma forma consistente de interagir com
diferentes sistemas de banco de dados, como MySQL, PostgreSQL, SQLite, entre outros.
Vantagens do PDO:
• Suporte para diversos bancos de dados.
• Uso de prepared statements, tornando as consultas seguras contra SQL Injection.
• Métodos padronizados para manipular dados, independentemente do sistema de banco.
10.2 Configuração e Conexão
A conexão com o banco de dados usando PDO é realizada instanciando a classe PDO.
Exemplo de Conexão ao MySQL:
php
setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
echo "Conexão bem-sucedida!";
} catch (PDOException $e) {
echo "Erro de conexão: " . $e->getMessage();
}
?>
Parâmetros Importantes do DSN:
• host: Endereço do servidor.
• dbname: Nome do banco de dados.
• charset: Define o conjunto de caracteres.
Exemplo com Charset:
php
$dsn = "mysql:host=localhost;dbname=meubanco;charset=utf8";
10.3 Realizando Operações CRUD
10.3.1 Create (Inserir Dados)
Usando prepared statements para inserir dados no banco.
php
prepare($sql);
// Associando os valores
$stmt->bindParam(':nome', $nome);
$stmt->bindParam(':email', $email);
// Valores para inserção
$nome = "João";
$email = "joao@email.com";
$stmt->execute();
echo "Registro inserido com sucesso!";
} catch (PDOException $e) {
echo "Erro ao inserir: " . $e->getMessage();
}
?>
10.3.2 Read (Consultar Dados)
Recuperando dados com PDOStatement.
php
query($sql);
foreach ($stmt as $row) {
echo "ID: " . $row['id'] . " - Nome: " . $row['nome'] . " - Email: " . $row['email'] . "";
}
} catch (PDOException $e) {
echo "Erro ao consultar: " . $e->getMessage();
}
?>
10.3.3 Read com Parâmetros
Consultas filtradas com parâmetros.
php
prepare($sql);
$stmt->bindParam(':id', $id);
$id = 1;
$stmt->execute();
$usuario = $stmt->fetch(PDO::FETCH_ASSOC);
echo "Nome: " . $usuario['nome'] . " - Email: " . $usuario['email'];
} catch (PDOException $e) {
echo "Erro ao consultar: " . $e->getMessage();
}
?>
10.3.4 Update (Atualizar Dados)
Atualizando registros existentes.
php
prepare($sql);
$stmt->bindParam(':email', $email);
$stmt->bindParam(':id', $id);
$email = "novoemail@email.com";
$id = 1;
$stmt->execute();
echo "Registro atualizado com sucesso!";
} catch (PDOException $e) {
echo "Erro ao atualizar: " . $e->getMessage();
}
?>
10.3.5 Delete (Excluir Dados)
Excluindo registros do banco de dados.
php
prepare($sql);
$stmt->bindParam(':id', $id);
$id = 1;
$stmt->execute();
echo "Registro excluído com sucesso!";
} catch (PDOException $e) {
echo "Erro ao excluir: " . $e->getMessage();
}
?>
10.4 Boas Práticas com PDO
1. Uso de Prepared Statements:
o Sempre use prepared statements para consultas dinâmicas.
o Evita SQL Injection e melhora a segurança.
2. Tratamento de Exceções:
o Utilize try-catch para capturar erros.
php
try {
// Código PDO
} catch (PDOException $e) {
echo "Erro: " . $e->getMessage();
}
3. Fechamento de Conexão:
o A conexão é automaticamente fechada quando o script termina, mas pode ser explicitamente
encerrada.
php
$conn = null;
10.5 Exercícios Práticos
1. Exercício 1: Crie um script para inserir novos usuários no banco usando PDO.
2. Exercício 2: Implemente uma funcionalidade para consultar todos os registros de uma tabela e exibi-los em
uma tabela HTML.
3. Exercício 3: Desenvolva um formulário que permita atualizar o e-mail de um usuário com base no seu ID.
4. Exercício 4: Adicione uma funcionalidade para excluir um usuário selecionado.
Resumo do Capítulo
Neste capítulo, aprendemos:
• Como usar PDO para conectar ao banco de dados.
• Realizar operações CRUD de forma segura.
• Implementar boas práticas de segurança e tratamento de erros com PDO.
No próximo capítulo, exploraremos a introdução ao WordPress e suas ferramentas, ampliando o conhecimento para
construção de sites dinâmicos.
Capítulo 11: Introdução ao WordPress e Suas Ferramentas
Objetivo
Este capítulo apresenta o WordPress como uma plataforma poderosa para construção de sites dinâmicos. Você
aprenderá os conceitos básicos, como instalar o WordPress, criar conteúdo, personalizar temas e explorar as
ferramentas que ele oferece.
11.1 O Que é WordPress?
WordPress é um sistema de gerenciamento de conteúdo (CMS) open-source amplamente utilizado para criar blogs,
portfólios, lojas virtuais e sites institucionais.
Principais Características:
• Flexibilidade: Permite criar qualquer tipo de site.
• Facilidade de Uso: Interface intuitiva para gestão de conteúdo.
• Extensibilidade: Milhares de plugins e temas disponíveis.
• SEO-Friendly: Ferramentas integradas para otimização de mecanismos de busca.
11.2 Instalação do WordPress
Requisitos Básicos:
• Servidor com suporte a PHP 7.4 ou superior.
• Banco de dados MySQL ou MariaDB.
• Ferramenta como XAMPP ou WAMP para desenvolvimento local.
Etapas de Instalação:
1. Baixar o WordPress:
o Acesse https://wordpress.org e faça o download da versão mais recente.
2. Configurar o Ambiente Local:
o Copie os arquivos do WordPress para a pasta htdocs (XAMPP) ou www (WAMP).
o Crie um banco de dados para o site no phpMyAdmin.
3. Executar a Instalação:
o Acesse http://localhost/nomedosite no navegador.
o Siga as etapas de configuração: informe o nome do banco de dados, usuário, senha e prefixo de
tabelas.
11.3 Painel de Administração
O painel de administração do WordPress é o ponto central para gerenciar o site. Acesse-oem
http://localhost/nomedosite/wp-admin.
Principais Seções do Painel:
1. Dashboard (Painel):
o Visão geral do site e atalhos para ações comuns.
2. Posts:
o Gerencie artigos do blog.
o Adicione, edite ou exclua posts.
https://wordpress.org/
3. Páginas:
o Crie páginas estáticas como "Sobre" ou "Contato".
4. Mídia:
o Gerencie imagens, vídeos e outros arquivos.
5. Aparência:
o Personalize o tema, menus e widgets.
6. Plugins:
o Instale e gerencie funcionalidades adicionais.
7. Usuários:
o Gerencie os papéis e permissões de usuários do site.
11.4 Temas no WordPress
Os temas definem a aparência e o layout do site.
Instalando um Tema:
1. Vá para Aparência > Temas.
2. Clique em Adicionar Novo.
3. Pesquise e instale um tema do diretório oficial ou faça o upload de um tema personalizado.
Personalizando Temas:
1. Acesse Aparência > Personalizar.
2. Ajuste cores, fontes, menus e widgets.
11.5 Plugins no WordPress
Os plugins adicionam funcionalidades extras ao WordPress, como formulários, SEO, segurança e lojas virtuais.
Instalando um Plugin:
1. Vá para Plugins > Adicionar Novo.
2. Pesquise o plugin desejado (ex.: Contact Form 7, Yoast SEO).
3. Clique em Instalar e, em seguida, Ativar.
Plugins Recomendados:
1. Yoast SEO: Ferramentas para otimização de SEO.
2. WooCommerce: Para criação de lojas virtuais.
3. Elementor: Construtor de páginas arrastáveis.
4. Wordfence: Para segurança do site.
11.6 Criando Conteúdo no WordPress
Posts e Páginas:
1. Acesse Posts > Adicionar Novo ou Páginas > Adicionar Novo.
2. Insira o título, conteúdo e imagens.
3. Publique o conteúdo.
Categorias e Tags:
• Categorias: Organizem os posts em grandes temas.
• Tags: Marquem conteúdos relacionados.
Editor Gutenberg:
• Use blocos para criar layouts dinâmicos e modernos.
11.7 Configurações Gerais
Configure aspectos importantes do site em Configurações:
• Geral: Nome do site, slogan e endereço.
• Leitura: Define a página inicial do site.
• Links Permanentes: Ajuste a estrutura das URLs para SEO-friendly.
11.8 Ferramentas Avançadas
1. Widgets:
• Acesse Aparência > Widgets para adicionar elementos como barra de pesquisa, lista de categorias, entre
outros.
2. Menus:
• Configure os menus de navegação em Aparência > Menus.
3. Backup e Restauração:
• Use plugins como UpdraftPlus para criar backups automáticos.
4. Personalização com CSS:
• Adicione estilos personalizados em Aparência > Personalizar > CSS Adicional.
11.9 Exercícios Práticos
1. Exercício 1: Instale o WordPress localmente e crie um blog com três posts e duas páginas.
2. Exercício 2: Personalize o tema do site e configure um menu de navegação.
3. Exercício 3: Instale o plugin Yoast SEO e configure-o para otimizar o conteúdo do site.
4. Exercício 4: Crie um formulário de contato usando um plugin (ex.: Contact Form 7).
Resumo do Capítulo
Neste capítulo, aprendemos:
• O que é WordPress e como instalá-lo localmente.
• Como usar o painel de administração para criar conteúdo, instalar temas e gerenciar plugins.
• Ferramentas e configurações avançadas para personalizar o site.
No próximo capítulo, desenvolveremos um projeto final, integrando todos os conceitos aprendidos para criar uma
aplicação web completa.
Capítulo 12: Projeto Final: Desenvolvimento de Uma Aplicação Web Completa
Objetivo
Neste capítulo, você integrará todos os conceitos aprendidos ao longo do curso para desenvolver uma aplicação web
completa utilizando PHP, MySQL, e conceitos dinâmicos de programação. O projeto incluirá autenticação de usuários,
manipulação de banco de dados, e personalização de uma interface interativa.
12.1 Estrutura do Projeto
A aplicação será uma plataforma de gerenciamento de tarefas com as seguintes funcionalidades:
1. Registro e login de usuários.
2. Criação, leitura, atualização e exclusão (CRUD) de tarefas.
3. Interface de usuário personalizada.
12.2 Planejamento do Projeto
Banco de Dados:
Crie um banco de dados chamado gestor_tarefas com duas tabelas: usuarios e tarefas.
Tabela usuarios:
sql
CREATE TABLE usuarios (
id INT AUTO_INCREMENT PRIMARY KEY,
nome VARCHAR(100) NOT NULL,
email VARCHAR(100) UNIQUE NOT NULL,
senha VARCHAR(255) NOT NULL
);
Tabela tarefas:
sql
CREATE TABLE tarefas (
id INT AUTO_INCREMENT PRIMARY KEY,
usuario_id INT NOT NULL,
titulo VARCHAR(255) NOT NULL,
descricao TEXT,
status ENUM('pendente', 'concluida') DEFAULT 'pendente',
criado_em TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (usuario_id) REFERENCES usuarios(id)
);
12.3 Desenvolvimento da Aplicação
12.3.1 Registro de Usuários
Crie um formulário para os usuários se registrarem.
Formulário (registro.php):
html
Nome:
E-mail:
Senha:
Registrar
Processamento (registro_processar.php):
php
prepare($sql);
$stmt->execute([':nome' => $nome, ':email' => $email, ':senha' => $senha]);
echo "Usuário registrado com sucesso!";
} catch (PDOException $e) {
echo "Erro ao registrar usuário: " . $e->getMessage();
}
}
?>
12.3.2 Login de Usuários
Crie um formulário e valide as credenciais para autenticar o usuário.
Formulário (login.php):
html
E-mail:
Senha:
Entrar
Processamento (login_processar.php):
php
prepare($sql);
$stmt->execute([':email' => $email]);
$usuario = $stmt->fetch(PDO::FETCH_ASSOC);
if ($usuario && password_verify($senha, $usuario['senha'])) {
$_SESSION['usuario_id'] = $usuario['id'];
$_SESSION['usuario_nome'] = $usuario['nome'];
header('Location: tarefas.php');
} else {
echo "Credenciais inválidas!";
}
} catch (PDOException $e) {
echo "Erro ao autenticar: " . $e->getMessage();
}
}
?>
12.3.3 Gerenciamento de Tarefas
Crie um CRUD para manipular as tarefas associadas ao usuário autenticado.
Página de Tarefas (tarefas.php):
php
prepare($sql);
$stmt->execute([':usuario_id' => $_SESSION['usuario_id']]);
$tarefas = $stmt->fetchAll(PDO::FETCH_ASSOC);
} catch (PDOException $e) {
echo "Erro ao carregar tarefas: " . $e->getMessage();
}
?>
Bem-vindo,
Logout
Suas Tarefas
-
">Editar
">Excluir
Título:
Descrição:
Adicionar Tarefa
12.4 Exercícios Práticos
1. Exercício 1: Expanda o sistema para incluir um filtro de status (pendente/concluída).
2. Exercício 2: Adicione uma funcionalidade para marcar uma tarefa como concluída.
3. Exercício 3: Implemente a paginação para exibir tarefas em lotes.
Resumo do Capítulo
Neste capítulo, você desenvolveu uma aplicação web completa utilizando PHP e MySQL, integrando autenticação de
usuários e gerenciamento de dados. Este projeto demonstra como aplicar os conceitos de programação web para
criar soluções práticas e funcionais.
No próximo capítulo, revisaremos o conteúdo e exploraremos como implementar funcionalidades adicionais para
expandir sua aplicação.