Logo Passei Direto
Buscar

MATERIAL DE APOIO - PROGRAMAÇÃO PARA INTERNET

User badge image
Roulien Melo

em

Ferramentas de estudo

Material
páginas com resultados encontrados.
páginas com resultados encontrados.
left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

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

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

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

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

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

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

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

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

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

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

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

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

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

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

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

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

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

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

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

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.

Mais conteúdos dessa disciplina