top of page

PHP, HTML, CSS e MySQL: Criando Aplicações Web do Zero



O desenvolvimento web é uma área vibrante e em constante evolução. Hoje em dia, criar aplicações que sejam dinâmicas, interativas e com um visual atraente é essencial para qualquer empresa de tecnologia. Este artigo foi pensado para aqueles que estão iniciando nessa área ou que desejam solidificar seus conhecimentos nas tecnologias fundamentais do desenvolvimento web: HTML, CSS, PHP e MySQL.

Neste tutorial, você aprenderá:

  • Os conceitos básicos de HTML para estruturar páginas.

  • Como aplicar estilos com CSS, adotando um design que remete à aparência clássica do Windows 7.

  • A lógica de programação do PHP para criar páginas dinâmicas.

  • Como utilizar o MySQL para gerenciar bases de dados.

  • A configuração do ambiente de desenvolvimento com o Apache e o XAMPP no Linux.

  • O desenvolvimento de uma aplicação CRUD completa, permitindo criar, ler, atualizar e excluir registros de um banco de dados.

Cada seção trará exemplos práticos e trechos de código, de modo que, ao final deste artigo, você terá os conhecimentos necessários para construir sua própria aplicação web do zero.

1. Fundamentos do HTML

O HTML (HyperText Markup Language) é a espinha dorsal de qualquer página web. Ele permite definir a estrutura e o conteúdo, organizando textos, imagens, links e outros elementos que compõem uma página. Antes de mais nada, é fundamental compreender como o HTML organiza a informação.

1.1. Estrutura Básica de um Documento HTML

Toda página HTML inicia com uma estrutura básica que define o tipo de documento e o idioma, além de conter os elementos essenciais dentro das tags <head> e <body>. Vejamos um exemplo:

<!DOCTYPE html>
<html lang="pt-BR">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Minha Primeira Página</title>
</head>
<body>
    <header>
        <h1>Bem-vindo ao Meu Site</h1>
    </header>
    <section>
        <p>Este é um exemplo básico de um documento HTML.</p>
    </section>
    <footer>
        <p>© 2025 - Todos os direitos reservados.</p>
    </footer>
</body>
</html>

Neste exemplo, temos:

  • <!DOCTYPE html>: Declara que o documento é HTML5.

  • <html lang="pt-BR">: Define o idioma do conteúdo.

  • <head>: Contém meta informações, links para folhas de estilo, scripts, entre outros.

  • <body>: Abriga o conteúdo visível da página.

1.2. Elementos e Semântica

O HTML5 introduziu elementos semânticos que facilitam a organização e a interpretação do conteúdo, tanto por navegadores quanto por mecanismos de busca. Exemplos incluem <header>, <nav>, <article>, <section>, <aside> e <footer>. Usar esses elementos corretamente melhora a acessibilidade e a estrutura da página.

Exemplo com Elementos Semânticos:

<!DOCTYPE html>
<html lang="pt-BR">
<head>
    <meta charset="UTF-8">
    <meta name="description" content="Exemplo de página com elementos semânticos">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Exemplo Semântico</title>
</head>
<body>
    <header>
        <h1>Meu Site Semântico</h1>
        <nav>
            <ul>
                <li><a href="#inicio">Início</a></li>
                <li><a href="#sobre">Sobre</a></li>
                <li><a href="#contato">Contato</a></li>
            </ul>
        </nav>
    </header>
    <main>
        <article id="inicio">
            <h2>Bem-vindo</h2>
            <p>Esta página demonstra o uso correto de elementos semânticos em HTML.</p>
        </article>
        <article id="sobre">
            <h2>Sobre Nós</h2>
            <p>Informações sobre a empresa e a equipe.</p>
        </article>
    </main>
    <aside>
        <h3>Notícias Recentes</h3>
        <p>Confira as últimas atualizações.</p>
    </aside>
    <footer>
        <p>Contato: contato@exemplo.com</p>
    </footer>
</body>
</html>

1.3. Formulários em HTML

Os formulários são essenciais para coletar dados dos usuários. Eles permitem a entrada de informações, que podem ser enviadas para processamento em um servidor via PHP.

Exemplo de Formulário:

<form action="processa.php" method="POST">
    <label for="nome">Nome:</label>
    <input type="text" id="nome" name="nome" required>
    <br>
    <label for="email">Email:</label>
    <input type="email" id="email" name="email" required>
    <br>
    <button type="submit">Enviar</button>
</form>

Nesse exemplo:

  • O atributo action indica o script PHP que irá processar os dados.

  • O atributo method define o método HTTP utilizado (POST, neste caso).

1.4. Boas Práticas com HTML

  • Organização: Utilize indentação e comentários para facilitar a leitura e manutenção do código.

  • Acessibilidade: Sempre inclua atributos como alt em imagens e associe <label> aos campos de formulário para melhorar a experiência de usuários com deficiência.

  • Validação: Use ferramentas de validação (como o W3C Markup Validation Service) para garantir que seu HTML esteja correto e compatível com os padrões da web.

Com esses fundamentos, você estará preparado para iniciar a construção das páginas web que serão dinamizadas com CSS, PHP e integradas com bancos de dados MySQL.

2. Introdução ao CSS: Estilizando com o Visual do Windows 7

O CSS (Cascading Style Sheets) é responsável por dar vida e identidade visual às páginas HTML. Neste capítulo, exploraremos como aplicar estilos e criar uma interface que remeta à aparência clássica do Windows 7 – com suas janelas, sombras e uma paleta de cores suave.

2.1. Conceitos Básicos do CSS

O CSS funciona separando a estrutura do conteúdo (HTML) da apresentação (estilos). Com ele, podemos definir cores, fontes, espaçamentos, alinhamentos, e muito mais.

Exemplo Básico:

body {
    font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
    background-color: #e5e5e5;
    margin: 0;
    padding: 20px;
    color: #333;
}
h1, h2, h3 {
    color: #005A9E;
}

Nesse exemplo, definimos:

  • Uma fonte moderna e limpa, comum em sistemas Windows.

  • Um fundo claro e neutro.

  • Cores para títulos que lembram a paleta de cores do Windows 7.

2.2. Seletores, Classes e IDs

Os seletores permitem que você aplique estilos a elementos HTML específicos, enquanto classes e IDs ajudam a segmentar e organizar o CSS.

Exemplo:

<!-- HTML -->
<div id="janela" class="estilo-windows">
    <h2>Minha Janela</h2>
    <p>Conteúdo da janela com aparência do Windows 7.</p>
</div>
/* CSS */
#janela {
    border: 1px solid #ccc;
    border-radius: 4px;
    background-color: #fff;
    box-shadow: 2px 2px 8px rgba(0, 0, 0, 0.1);
    padding: 15px;
    margin: 20px 0;
}
.estilo-windows h2 {
    font-size: 18px;
    background-color: #005A9E;
    color: #fff;
    padding: 10px;
    margin: -15px -15px 15px -15px;
    border-top-left-radius: 4px;
    border-top-right-radius: 4px;
}

Neste código, a <div> com id janela recebe um estilo que simula uma “janela” do Windows, com bordas, cantos arredondados e uma sombra suave.

2.3. Layouts e Posicionamento

Para criar layouts semelhantes aos do Windows 7, é importante entender conceitos como box model, float, flexbox e grid. Uma interface “desktop-like” pode utilizar janelas, barras de tarefas e menus.

Exemplo com Flexbox:

.container {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
}

.janela {
    flex: 1 1 300px;
    border: 1px solid #ccc;
    background-color: #fff;
    box-shadow: 2px 2px 8px rgba(0, 0, 0, 0.1);
    border-radius: 4px;
    overflow: hidden;
}

E no HTML:

<div class="container">
    <div class="janela">
        <h3>Cabeçalho</h3>
        <p>Conteúdo da janela 1</p>
    </div>
    <div class="janela">
        <h3>Cabeçalho</h3>
        <p>Conteúdo da janela 2</p>
    </div>
</div>

2.4. Estilizando Elementos de Formulário

Para manter a consistência visual, até os formulários podem ter um estilo que lembre o Windows 7. Veja um exemplo:

input[type="text"],
input[type="email"],
textarea {
    width: 100%;
    padding: 8px;
    border: 1px solid #999;
    border-radius: 3px;
    box-shadow: inset 1px 1px 3px rgba(0,0,0,0.1);
    margin-bottom: 10px;
}

button {
    background-color: #005A9E;
    color: #fff;
    padding: 10px 20px;
    border: none;
    border-radius: 3px;
    cursor: pointer;
    font-weight: bold;
}
button:hover {
    background-color: #004080;
}

2.5. Recursos para Recriar o Visual do Windows 7

Para que a aplicação tenha uma aparência mais próxima ao ambiente Windows 7, você pode utilizar:

  • Cores e Gradientes: O Windows 7 utiliza uma paleta de cores suaves. Experimente gradientes discretos e sombras leves.

  • Bordas e Sombreamentos: Use bordas finas e sombras para dar a impressão de “camadas” e janelas flutuantes.

  • Ícones e Tipografia: Utilize fontes como “Segoe UI” e ícones que remetam à interface do Windows (existe até a possibilidade de importar conjuntos de ícones gratuitos inspirados no design da Microsoft).

Com o CSS bem estruturado, o design de sua aplicação pode ter uma identidade visual consistente e agradável, remetendo à familiaridade dos usuários com o ambiente Windows 7.

3. Introdução ao PHP: A Lógica por Trás da Web Dinâmica

O PHP é uma linguagem de programação de servidor, amplamente utilizada para criar sites e aplicações dinâmicas. Com o PHP, é possível processar formulários, interagir com bancos de dados e gerar conteúdos dinâmicos com facilidade.

3.1. Conceitos Básicos do PHP

O PHP é executado no servidor e o resultado é enviado ao navegador do usuário. A sintaxe é simples e permite a integração direta com HTML.

Exemplo Simples:

<?php
echo "Olá, mundo!";
?>

Esse trecho de código, ao ser processado pelo servidor, exibirá “Olá, mundo!” na página.

3.2. Variáveis, Estruturas de Controle e Funções

Como qualquer linguagem de programação, o PHP utiliza variáveis, estruturas condicionais e laços de repetição para controlar o fluxo da aplicação.

Variáveis e Condicionais:

<?php
$usuario = "Administrador";
if ($usuario == "Administrador") {
    echo "Bem-vindo, administrador!";
} else {
    echo "Bem-vindo, visitante!";
}
?>

Laço de Repetição:

<?php
for ($i = 1; $i <= 5; $i++) {
    echo "Número: " . $i . "<br>";
}
?>

Funções:

<?php
function saudacao($nome) {
    return "Olá, " . $nome . "!";
}

echo saudacao("Carlos");
?>

3.3. Manipulação de Formulários com PHP

Para processar os dados enviados por um formulário HTML, o PHP utiliza as variáveis superglobais, como $_POST e $_GET.

Exemplo de Processamento de Formulário:

HTML (form.html):

<!DOCTYPE html>
<html lang="pt-BR">
<head>
    <meta charset="UTF-8">
    <title>Formulário de Cadastro</title>
</head>
<body>
    <form action="processa.php" method="POST">
        <label for="nome">Nome:</label>
        <input type="text" id="nome" name="nome" required>
        <br>
        <label for="email">Email:</label>
        <input type="email" id="email" name="email" required>
        <br>
        <button type="submit">Cadastrar</button>
    </form>
</body>
</html>

PHP (processa.php):

<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
    $nome = $_POST["nome"];
    $email = $_POST["email"];
    echo "Usuário: " . $nome . "<br>";
    echo "Email: " . $email;
}
?>

3.4. Conexão com o MySQL Usando PHP

Uma das principais funcionalidades do PHP é a integração com bancos de dados, especialmente o MySQL. A seguir, veremos como estabelecer essa conexão e realizar operações básicas.

Exemplo de Conexão:

<?php
$servidor = "localhost";
$usuario = "root";
$senha = "";
$banco = "crud_exemplo";

$conn = new mysqli($servidor, $usuario, $senha, $banco);

if ($conn->connect_error) {
    die("Falha na conexão: " . $conn->connect_error);
}

echo "Conexão realizada com sucesso!";
?>

Com esses fundamentos, o PHP se torna uma poderosa ferramenta para processar dados e interagir com o banco de dados, permitindo o desenvolvimento de aplicações web dinâmicas e interativas.

4. Introdução ao MySQL: Gerenciando Dados de Forma Eficiente

O MySQL é um sistema de gerenciamento de banco de dados relacional (SGBD) amplamente utilizado para armazenar e recuperar dados. Integrado com o PHP, ele permite que suas aplicações manipulem informações de maneira robusta.

4.1. Conceitos Básicos do MySQL

Em um banco de dados MySQL, os dados são organizados em tabelas. Cada tabela possui colunas (campos) e linhas (registros). É fundamental planejar a estrutura do banco de dados para que as informações sejam armazenadas de maneira eficiente.

4.2. Criando um Banco de Dados e Tabelas

Vamos criar um exemplo de banco de dados para uma aplicação CRUD de usuários.

Exemplo SQL:

-- Criação do banco de dados
CREATE DATABASE crud_exemplo;
USE crud_exemplo;

-- Criação da tabela de usuários
CREATE TABLE usuarios (
    id INT AUTO_INCREMENT PRIMARY KEY,
    nome VARCHAR(100) NOT NULL,
    email VARCHAR(100) NOT NULL,
    data_cadastro TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

Nesse script:

  • Criamos o banco de dados crud_exemplo.

  • Definimos a tabela usuarios com campos para id, nome, email e data de cadastro.

4.3. Inserindo, Atualizando e Excluindo Dados

A seguir, exemplos de como manipular os dados na tabela:

Inserindo Dados:

INSERT INTO usuarios (nome, email) VALUES ('João Silva', 'joao.silva@example.com');

Atualizando Dados:

UPDATE usuarios SET email = 'joao.novo@example.com' WHERE id = 1;

Excluindo Dados:

DELETE FROM usuarios WHERE id = 1;

4.4. Consultas e Recuperação de Dados

Para exibir os dados armazenados, usamos a instrução SELECT:

SELECT * FROM usuarios;

Este comando retorna todos os registros da tabela. Em uma aplicação PHP, os resultados podem ser processados e exibidos dinamicamente.

5. Configurando o Ambiente de Desenvolvimento: Apache e XAMPP no Linux

Antes de colocar em prática os conceitos vistos, é fundamental configurar um ambiente de desenvolvimento. Neste capítulo, veremos como instalar e configurar o XAMPP – um pacote que inclui o Apache, PHP e MySQL – no Linux.

5.1. O que é o Apache?

O Apache é um dos servidores web mais utilizados no mundo. Ele é responsável por receber as requisições do navegador e servir os arquivos (HTML, CSS, PHP, etc.) processados. Sua configuração é simples e altamente customizável.

5.2. Instalando o XAMPP no Linux

O XAMPP é um pacote que facilita a instalação e configuração do Apache, PHP e MySQL em diferentes sistemas operacionais, incluindo o Linux. Para instalar o XAMPP, siga estes passos:

  1. Baixe o XAMPP:

    Acesse o site oficial do XAMPP e baixe a versão compatível com Linux. Geralmente, o arquivo terá um nome como xampp-linux-x64-7.4.XX-0-installer.run.

  2. Torne o instalador executável:

    Abra o terminal e navegue até a pasta onde o instalador foi baixado. Em seguida, execute:

    chmod +x xampp-linux-x64-7.4.XX-0-installer.run

  3. Execute o instalador:

    Ainda no terminal, execute:

    sudo ./xampp-linux-x64-7.4.XX-0-installer.run

    Siga as instruções na tela para concluir a instalação.

  4. Iniciando o XAMPP:

    Após a instalação, você pode iniciar o XAMPP com o comando:

    sudo /opt/lampp/lampp start

    Esse comando iniciará os serviços do Apache, MySQL e FTP.

  5. Acessando o Painel de Controle:

    O XAMPP fornece um painel de controle via navegador para gerenciar os serviços. Geralmente, ele pode ser acessado em:

    http://localhost/dashboard

    Aqui, você pode verificar se todos os serviços estão funcionando corretamente.

5.3. Configurando o Ambiente para o Desenvolvimento do CRUD

Após instalar o XAMPP, organize seu ambiente de trabalho:

  • Diretório de Projeto: Crie uma pasta para seu projeto, por exemplo, crud_app, dentro do diretório de projetos do XAMPP (geralmente /opt/lampp/htdocs/):

    sudo mkdir /opt/lampp/htdocs/crud_app sudo chown -R $USER:$USER /opt/lampp/htdocs/crud_app

  • Editor de Código: Utilize um editor de código de sua preferência (VS Code, Sublime Text, Atom, etc.) para editar os arquivos dentro do diretório do projeto.

  • Testando a Instalação: Crie um arquivo index.php no diretório do projeto com o seguinte conteúdo:

    <?php phpinfo(); ?>

    Acesse http://localhost/crud_app/index.php no navegador. Se tudo estiver configurado corretamente, você verá a página com informações sobre o PHP.

5.4. Dicas de Configuração no Linux

  • Permissões de Pasta: Certifique-se de que as pastas onde os arquivos residem tenham as permissões corretas para evitar problemas de escrita e leitura.

  • Firewall: Se estiver utilizando um firewall no Linux, verifique se as portas necessárias (geralmente a porta 80 para o Apache) estão liberadas.

  • Logs e Erros: Monitore os logs do Apache em /opt/lampp/logs/error_log para identificar e corrigir eventuais problemas durante o desenvolvimento.

Com o ambiente configurado, você está pronto para desenvolver a aplicação CRUD que integrará PHP, HTML, CSS e MySQL.

6. Criando um CRUD: Do Básico à Aplicação Completa

Nesta seção, vamos construir passo a passo uma aplicação CRUD (Create, Read, Update, Delete). O objetivo é que o leitor, ao final, consiga criar, listar, atualizar e excluir registros de um banco de dados MySQL, utilizando PHP para processar os dados e HTML/CSS para exibir o conteúdo com uma interface inspirada no Windows 7.

6.1. Estrutura do Projeto

Organize seu projeto em pastas para facilitar a manutenção. Uma sugestão de estrutura é:

crud_app/
├── css/
│   └── estilo.css
├── includes/
│   ├── conexao.php
│   └── header.php
├── index.php
├── criar.php
├── atualizar.php
└── excluir.php
  • css/estilo.css: Arquivo que conterá os estilos para a interface.

  • includes/conexao.php: Script PHP para conectar ao banco de dados.

  • includes/header.php: Cabeçalho comum às páginas (pode incluir menu, logo, etc.).

  • index.php: Página principal que lista os registros.

  • criar.php: Página para inserir novos registros.

  • atualizar.php: Página para editar registros existentes.

  • excluir.php: Script para excluir registros.

6.2. Configurando a Conexão com o Banco de Dados

Crie o arquivo includes/conexao.php com o seguinte conteúdo:

<?php
$servidor = "localhost";
$usuario = "root";
$senha = "";
$banco = "crud_exemplo";

$conn = new mysqli($servidor, $usuario, $senha, $banco);

if ($conn->connect_error) {
    die("Falha na conexão: " . $conn->connect_error);
}
?>

Esse arquivo será incluído em todas as páginas que precisarem de acesso ao banco de dados.

6.3. Cabeçalho Comum e Layout Inspirado no Windows 7

Crie o arquivo includes/header.php para centralizar o layout e o menu de navegação:

<!DOCTYPE html>
<html lang="pt-BR">
<head>
    <meta charset="UTF-8">
    <title>CRUD - Aplicação Web</title>
    <link rel="stylesheet" href="css/estilo.css">
</head>
<body>
    <header id="barra-windows">
        <h1>CRUD - Aplicação Web</h1>
        <nav>
            <ul>
                <li><a href="index.php">Lista de Usuários</a></li>
                <li><a href="criar.php">Novo Cadastro</a></li>
            </ul>
        </nav>
    </header>
    <div class="conteudo">

E finalize com um arquivo de rodapé, por exemplo, crie um arquivo includes/footer.php com:

    </div> <!-- Fim da div .conteudo -->
    <footer id="rodape-windows">
        <p>© 2025 - Desenvolvido com PHP, HTML, CSS e MySQL</p>
    </footer>
</body>
</html>

6.4. Estilizando a Interface com CSS

No arquivo css/estilo.css, adicione os estilos que remetam ao visual do Windows 7:

/* Reset básico */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
    background-color: #e5e5e5;
    color: #333;
    padding: 20px;
}

/* Cabeçalho estilo Windows 7 */
#barra-windows {
    background-color: #005A9E;
    color: #fff;
    padding: 15px;
    box-shadow: 0 2px 5px rgba(0,0,0,0.3);
    border-bottom: 2px solid #004080;
    margin-bottom: 20px;
}

#barra-windows h1 {
    font-size: 24px;
    margin-bottom: 10px;
}

#barra-windows nav ul {
    list-style: none;
    display: flex;
}

#barra-windows nav ul li {
    margin-right: 15px;
}

#barra-windows nav ul li a {
    color: #fff;
    text-decoration: none;
    font-weight: bold;
}

/* Conteúdo */
.conteudo {
    background-color: #fff;
    padding: 20px;
    border: 1px solid #ccc;
    border-radius: 4px;
    box-shadow: 2px 2px 8px rgba(0,0,0,0.1);
}

/* Tabelas */
table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 20px;
}
table, th, td {
    border: 1px solid #ccc;
}
th, td {
    padding: 10px;
    text-align: left;
}
th {
    background-color: #f4f4f4;
}

/* Botões */
button, input[type="submit"] {
    background-color: #005A9E;
    color: #fff;
    padding: 8px 12px;
    border: none;
    border-radius: 3px;
    cursor: pointer;
    font-weight: bold;
}
button:hover, input[type="submit"]:hover {
    background-color: #004080;
}

/* Formulários */
form label {
    display: block;
    margin-top: 10px;
}
form input[type="text"],
form input[type="email"] {
    width: 100%;
    padding: 8px;
    margin-top: 5px;
    border: 1px solid #999;
    border-radius: 3px;
}

Esses estilos garantem uma aparência limpa e profissional, com elementos que lembram as janelas e menus do Windows 7.

6.5. Criando a Página de Listagem (Read)

A página index.php listará os usuários cadastrados no banco de dados. Crie ou edite o arquivo index.php:

<?php
include 'includes/conexao.php';
include 'includes/header.php';

$sql = "SELECT * FROM usuarios ORDER BY id DESC";
$resultado = $conn->query($sql);
?>

<h2>Lista de Usuários</h2>
<table>
    <tr>
        <th>ID</th>
        <th>Nome</th>
        <th>Email</th>
        <th>Ações</th>
    </tr>
    <?php while($row = $resultado->fetch_assoc()) { ?>
    <tr>
        <td><?php echo $row['id']; ?></td>
        <td><?php echo $row['nome']; ?></td>
        <td><?php echo $row['email']; ?></td>
        <td>
            <a href="atualizar.php?id=<?php echo $row['id']; ?>"><button>Editar</button></a>
            <a href="excluir.php?id=<?php echo $row['id']; ?>" onclick="return confirm('Deseja realmente excluir este usuário?');"><button>Excluir</button></a>
        </td>
    </tr>
    <?php } ?>
</table>

<?php include 'includes/footer.php'; ?>

Este código:

  • Conecta ao banco de dados e executa uma consulta para listar todos os usuários.

  • Exibe os dados em uma tabela com botões para editar e excluir cada registro.

6.6. Criando a Página de Cadastro (Create)

A página criar.php apresentará um formulário para inserir novos usuários:

<?php
include 'includes/conexao.php';
include 'includes/header.php';

if ($_SERVER["REQUEST_METHOD"] == "POST") {
    $nome = $_POST["nome"];
    $email = $_POST["email"];

    $sql = "INSERT INTO usuarios (nome, email) VALUES ('$nome', '$email')";

    if ($conn->query($sql) === TRUE) {
        echo "<p>Usuário cadastrado com sucesso!</p>";
    } else {
        echo "<p>Erro ao cadastrar usuário: " . $conn->error . "</p>";
    }
}
?>

<h2>Novo Cadastro</h2>
<form action="criar.php" method="POST">
    <label for="nome">Nome:</label>
    <input type="text" id="nome" name="nome" required>
    
    <label for="email">Email:</label>
    <input type="email" id="email" name="email" required>
    
    <input type="submit" value="Cadastrar">
</form>

<?php include 'includes/footer.php'; ?>

Esse script processa o formulário ao ser enviado e insere os dados no banco de dados.

6.7. Criando a Página de Atualização (Update)

A página atualizar.php permitirá que o usuário edite um registro já existente. Veja como estruturá-la:

<?php
include 'includes/conexao.php';
include 'includes/header.php';

if (!isset($_GET['id'])) {
    echo "<p>ID inválido.</p>";
    exit;
}

$id = $_GET['id'];

if ($_SERVER["REQUEST_METHOD"] == "POST") {
    $nome = $_POST["nome"];
    $email = $_POST["email"];
    
    $sql = "UPDATE usuarios SET nome='$nome', email='$email' WHERE id=$id";
    
    if ($conn->query($sql) === TRUE) {
        echo "<p>Usuário atualizado com sucesso!</p>";
    } else {
        echo "<p>Erro ao atualizar usuário: " . $conn->error . "</p>";
    }
}

// Consulta para buscar os dados atuais do usuário
$sql = "SELECT * FROM usuarios WHERE id=$id";
$resultado = $conn->query($sql);
$usuario = $resultado->fetch_assoc();
?>

<h2>Editar Usuário</h2>
<form action="atualizar.php?id=<?php echo $id; ?>" method="POST">
    <label for="nome">Nome:</label>
    <input type="text" id="nome" name="nome" value="<?php echo $usuario['nome']; ?>" required>
    
    <label for="email">Email:</label>
    <input type="email" id="email" name="email" value="<?php echo $usuario['email']; ?>" required>
    
    <input type="submit" value="Atualizar">
</form>

<?php include 'includes/footer.php'; ?>

Aqui, o script:

  • Verifica se um ID foi passado na URL.

  • Se o formulário for enviado, atualiza o registro no banco.

  • Caso contrário, busca os dados atuais e os exibe no formulário para edição.

6.8. Criando o Script de Exclusão (Delete)

A página excluir.php é responsável por excluir um registro. Ela recebe o ID via GET e realiza a exclusão:

<?php
include 'includes/conexao.php';

if (!isset($_GET['id'])) {
    echo "ID inválido.";
    exit;
}

$id = $_GET['id'];

$sql = "DELETE FROM usuarios WHERE id=$id";

if ($conn->query($sql) === TRUE) {
    header("Location: index.php");
    exit;
} else {
    echo "Erro ao excluir usuário: " . $conn->error;
}
?>

Após a exclusão, o usuário é redirecionado para a página principal (index.php).

6.9. Testando a Aplicação CRUD

Após criar todas as páginas, seu diretório de projeto deverá conter os arquivos e pastas conforme a estrutura definida. Para testar:

  1. Acesse http://localhost/crud_app/index.php no navegador.

  2. Verifique a listagem de usuários (que estará vazia inicialmente).

  3. Clique em "Novo Cadastro" para inserir um novo usuário.

  4. Após cadastrar, o usuário aparecerá na lista.

  5. Teste as funcionalidades de editar e excluir.

6.10. Possíveis Melhorias e Funcionalidades Adicionais

Com a aplicação básica funcionando, há várias melhorias que você pode implementar:

  • Validação de Dados: Utilize funções de validação para garantir que os dados inseridos estão corretos e seguros.

  • Segurança: Implemente medidas contra injeção de SQL (por exemplo, utilizando consultas preparadas com mysqli_prepare ou PDO).

  • Interface Responsiva: Embora este exemplo utilize um layout inspirado no Windows 7, você pode aprimorar o CSS para que a aplicação seja responsiva e funcione bem em dispositivos móveis.

  • Paginação e Pesquisa: Se o número de registros crescer, a adição de paginação e uma funcionalidade de busca pode melhorar a usabilidade.

  • Autenticação: Proteja a área de administração implementando um sistema de login e permissões.

Cada melhoria pode ser implementada de forma incremental, permitindo que a aplicação evolua para um sistema mais robusto e profissional.


Neste artigo, exploramos de forma detalhada os fundamentos do desenvolvimento web utilizando PHP, HTML, CSS e MySQL. Começamos definindo a estrutura básica de um documento HTML e avançamos para os elementos semânticos e formulários, essenciais para a construção de páginas acessíveis e organizadas.

Em seguida, vimos como o CSS pode transformar a aparência de uma aplicação. Com dicas para recriar o visual clássico do Windows 7 – utilizando cores suaves, bordas arredondadas, sombras e uma tipografia familiar – mostramos que, com poucos recursos, é possível criar interfaces modernas e agradáveis.

A parte de PHP demonstrou a lógica por trás da criação de conteúdos dinâmicos, desde simples comandos de saída com echo até o processamento de formulários e a conexão com o banco de dados MySQL. Vimos exemplos de variáveis, estruturas de controle, laços de repetição e funções, além de como integrar esses elementos para construir uma aplicação interativa.

No capítulo dedicado ao MySQL, discutimos como organizar os dados em tabelas, criar e gerenciar um banco de dados, e executar operações fundamentais como inserção, atualização, exclusão e consulta de registros. Esses conhecimentos são essenciais para armazenar informações de forma estruturada e eficiente.

A configuração do ambiente de desenvolvimento é outro passo crucial. Abordamos a instalação do XAMPP no Linux, destacando como esse pacote facilita a criação de um servidor local com Apache, PHP e MySQL. Além disso, mostramos como ajustar as permissões e configurar o ambiente para que a aplicação funcione sem problemas.

O ponto alto deste artigo foi a construção de uma aplicação CRUD completa. Desde a criação da estrutura de pastas e arquivos até o desenvolvimento das páginas para criar, listar, atualizar e excluir registros, você viu como integrar todas as tecnologias apresentadas. Foram oferecidos exemplos de código para cada etapa, permitindo que você acompanhe e implemente seu próprio sistema de gerenciamento de usuários.


Desenvolver uma aplicação web do zero pode parecer desafiador, mas, com a combinação de HTML, CSS, PHP e MySQL, você dispõe de uma base sólida para criar sistemas robustos e interativos. A prática é fundamental: experimente modificar os exemplos, implementar novas funcionalidades e melhorar a interface visual conforme suas necessidades.

Lembre-se também da importância da segurança e da validação dos dados. À medida que sua aplicação cresce, proteja-a contra vulnerabilidades, utilize técnicas como consultas preparadas e mantenha seu ambiente atualizado.

Por fim, encorajo você a continuar explorando novas tecnologias e frameworks que podem complementar o que foi aprendido aqui. Ferramentas modernas, como bibliotecas JavaScript e frameworks PHP, podem acelerar o desenvolvimento e oferecer funcionalidades avançadas, mas nunca se esqueça que a base do desenvolvimento web permanece essencialmente construída sobre HTML, CSS, PHP e MySQL.

Este tutorial é apenas o começo da sua jornada no desenvolvimento web. Com dedicação e curiosidade, você poderá evoluir para aplicações mais complexas e integradas, sempre buscando oferecer a melhor experiência para os usuários finais.

Recursos Adicionais e Leituras Complementares

Para aprofundar seus conhecimentos, seguem algumas sugestões de recursos:

  • Documentação Oficial do PHP:php.net/manual/pt_BR/A documentação oficial é uma fonte valiosa para aprender sobre funções, classes e boas práticas.

  • MDN Web Docs (Mozilla Developer Network):developer.mozilla.org/pt-BR/Uma referência abrangente para HTML, CSS e JavaScript, com tutoriais e exemplos práticos.

  • Documentação do MySQL:dev.mysql.com/doc/Aqui você encontrará guias e exemplos para gerenciamento de bancos de dados.

  • Tutoriais sobre XAMPP:Consulte o site oficial do XAMPP para instruções detalhadas e atualizadas de instalação e configuração.

  • Cursos e Vídeos no YouTube:Diversos canais especializados oferecem tutoriais passo a passo sobre a criação de aplicações CRUD com PHP e MySQL, além de dicas de design para interfaces inspiradas no Windows.

Recapitulação do Projeto CRUD

A seguir, um breve resumo dos principais passos desenvolvidos ao longo deste artigo:

  1. Estrutura do Projeto:Organize os arquivos e pastas de forma lógica, separando CSS, scripts PHP e outros recursos.

  2. Conexão com o Banco de Dados:Crie um arquivo de conexão (includes/conexao.php) para centralizar a comunicação com o MySQL.

  3. Interface Comum:Utilize arquivos de cabeçalho e rodapé (header.php e footer.php) para manter a consistência visual em todas as páginas.

  4. Listagem de Registros:Em index.php, crie uma consulta ao banco de dados para exibir todos os usuários cadastrados em uma tabela estilizada.

  5. Cadastro de Novos Registros:Desenvolva a página criar.php com um formulário para inserir novos usuários, processando os dados com PHP.

  6. Atualização de Registros:Em atualizar.php, permita que o usuário edite informações já existentes, mostrando os dados atuais e salvando as alterações no banco.

  7. Exclusão de Registros:Crie o script excluir.php para remover registros indesejados, garantindo a integridade do banco de dados.

Cada uma dessas etapas foi acompanhada de exemplos de código práticos, facilitando a compreensão e a aplicação dos conceitos.

Considerações sobre Boas Práticas de Desenvolvimento

Além dos passos técnicos, é importante destacar alguns pontos que contribuirão para um desenvolvimento mais profissional:

  • Organização do Código:Mantenha seu código limpo e bem comentado. Utilize indentação adequada e separe a lógica de apresentação da lógica de negócios sempre que possível.

  • Reutilização e Modularidade:Evite duplicação de código. Utilize arquivos de inclusão para funcionalidades comuns, como a conexão com o banco e a criação de cabeçalhos e rodapés.

  • Validação e Sanitização:Antes de processar os dados recebidos de formulários, valide e sanitize as entradas para evitar problemas de segurança, como injeção de SQL.

  • Documentação:Documente as funcionalidades e estruturas do seu projeto. Isso facilitará a manutenção e a escalabilidade da aplicação no futuro.

  • Testes e Depuração:Teste sua aplicação em diferentes navegadores e dispositivos. Utilize as ferramentas de depuração do navegador e monitore os logs do servidor para identificar e corrigir erros.


Chegamos ao fim deste extenso artigo que teve como objetivo guiá-lo desde os conceitos básicos do HTML, CSS, PHP e MySQL até a implementação de um sistema CRUD completo com uma interface inspirada no Windows 7. Passamos por todos os aspectos essenciais: desde a criação de páginas estáticas até a configuração de um ambiente de desenvolvimento robusto com o XAMPP no Linux, passando pela conexão com o banco de dados e a manipulação dinâmica de informações com PHP.

Com as informações e os exemplos apresentados, você agora possui as ferramentas necessárias para:

  • Desenvolver páginas web estruturadas e semanticamente corretas.

  • Estilizar sua aplicação com um visual limpo e familiar, remetendo ao clássico design do Windows 7.

  • Criar scripts PHP que processam dados e interagem de forma dinâmica com o usuário.

  • Configurar um banco de dados MySQL e realizar operações CRUD com segurança e eficiência.

  • Instalar e configurar o ambiente XAMPP no Linux, permitindo que você teste e desenvolva localmente com facilidade.

A prática é fundamental para solidificar os conhecimentos adquiridos, então não hesite em experimentar, modificar e aprimorar os exemplos fornecidos. Ao fazer isso, você não só ganhará confiança no desenvolvimento web, como também poderá evoluir para projetos mais complexos, integrando novas tecnologias e abordagens.

Esperamos que este tutorial tenha sido útil e inspirador para sua jornada no desenvolvimento de aplicações web. Continue estudando, explorando e inovando, pois o universo da tecnologia está sempre em transformação, oferecendo novas oportunidades para aqueles que se dedicam a aprender e a criar.


Obs.: Ao implementar este projeto, adapte os exemplos conforme as necessidades específicas do seu ambiente e fique atento às atualizações das tecnologias utilizadas.

 
 
 

Commentaires


CONTATO
REDES SOCIAIS

Distrito Agrícola de Ubu

Goiana - PE 55900-000

              

              81 9 9193-1883

  • Facebook ícone social
  • Instagram
  • X
  • YouTube
Whatsapp
nascimento networks symbol new_edited.pn
SCM - ISM
Nascimento Networks Empire

©2025 Nascimento Networks Technologies    CNPJ: 50.191.234/0001-31

Protegido com tecnologia desenvolvida 

em Israel.

bottom of page