0Pricing
PHP Academy · Aula

Leitura de dados de formulários com superglobais

Acesse os campos do formulário por meio dos arrays _GET e _POST.

Leitura de dados de formulários com superglobais é uma aula grátis de PHP Academy no CoddyKit. Esta é a aula 2 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de PHP Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de PHP Academy inclui 4 aulas no total.

Superglobais do PHP

Superglobais são arrays internos do PHP disponíveis em todos os escopos — não é necessário usar global para acessá-las nas funções.

Superglobais relacionadas a formulários: $_GET, $_POST, $_FILES, $_REQUEST

Acesso aos campos de $_POST

Leia os valores do formulário POST acessando as chaves do array e fornecendo um valor padrão de reserva:

<?php
// Safe access with null coalescing
$username = $_POST['username'] ?? '';
$email    = $_POST['email']    ?? '';
$age      = (int) ($_POST['age'] ?? 0);

var_dump($username, $email, $age);

Acesso aos parâmetros de $_GET

Leia os parâmetros da cadeia de consulta da URL em $_GET:

<?php
// URL: /products.php?category=electronics&page=2&sort=price

$category = $_GET['category'] ?? 'all';
$page     = max(1, (int) ($_GET['page'] ?? 1));
$sort     = in_array($_GET['sort'] ?? '', ['price', 'name', 'date'])
            ? $_GET['sort']
            : 'name';

echo "Category: $category, Page: $page, Sort: $sort";

Tratamento de caixas de seleção

Caixas de seleção desmarcadas não são enviadas — sempre verifique com isset ou ??:

<?php
// HTML: <input type="checkbox" name="newsletter">

$wantsNewsletter = isset($_POST['newsletter']);
// or:
$wantsNewsletter = ($_POST['newsletter'] ?? null) !== null;

echo $wantsNewsletter ? 'Subscribed' : 'Not subscribed';

Arrays de seleção múltipla e caixas de seleção

Use atributos name no formato de array para coletar vários valores:

<!-- HTML -->
<!-- <input type="checkbox" name="tags[]" value="php"> -->
<!-- <input type="checkbox" name="tags[]" value="mysql"> -->

<?php
$tags = $_POST['tags'] ?? [];

if (!is_array($tags)) $tags = [];

foreach ($tags as $tag) {
    echo htmlspecialchars($tag) . PHP_EOL;
}

Informações de $_SERVER

$_SERVER fornece dados sobre o servidor e o ambiente da requisição:

<?php
echo $_SERVER['REQUEST_METHOD'];   // GET or POST
echo $_SERVER['REQUEST_URI'];       // /page.php?foo=bar
echo $_SERVER['HTTP_HOST'];         // example.com
echo $_SERVER['REMOTE_ADDR'];       // client IP
echo $_SERVER['HTTP_USER_AGENT'];   // browser string

filter_input()

filter_input() lê e higieniza valores de superglobais em uma única etapa:

<?php
// Retrieve and validate an integer from POST
$age = filter_input(INPUT_POST, 'age', FILTER_VALIDATE_INT);
if ($age === false) {
    echo 'Invalid age';
}

// Retrieve and sanitize a string from GET
$name = filter_input(INPUT_GET, 'name', FILTER_SANITIZE_SPECIAL_CHARS);
echo $name;

filter_var() para validação

Valide e higienize valores que já estão em variáveis:

<?php
$email = 'user@example.com';
$ip    = '192.168.1.1';
$url   = 'https://example.com';

var_dump(filter_var($email, FILTER_VALIDATE_EMAIL));  // string
var_dump(filter_var($ip,    FILTER_VALIDATE_IP));     // string
var_dump(filter_var($url,   FILTER_VALIDATE_URL));    // string

FILTER_SANITIZE versus FILTER_VALIDATE

Dois modos de filter_var:

  • FILTER_VALIDATE_* — retorna o valor se ele for válido e false caso contrário
  • FILTER_SANITIZE_* — remove ou codifica caracteres perigosos e retorna o valor limpo

Tratamento de $_FILES

$_FILES contém metadados de arquivos enviados — cada arquivo tem cinco chaves:

<?php
if (isset($_FILES['avatar'])) {
    $file = $_FILES['avatar'];
    
    echo $file['name'];     // original filename: photo.jpg
    echo $file['type'];     // MIME type: image/jpeg
    echo $file['size'];     // bytes: 45231
    echo $file['tmp_name']; // temp path on server
    echo $file['error'];    // 0 = no error
}

Padrão de processamento de formulário completo

Um padrão organizado para tratar o envio de um formulário com validação:

<?php
$errors = [];
$name   = '';

if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    $name = trim($_POST['name'] ?? '');
    if (empty($name)) {
        $errors[] = 'Name is required';
    }
    if (empty($errors)) {
        // process...
        header('Location: /thanks.php');
        exit;
    }
}

Verificação rápida

O que uma caixa de seleção desmarcada envia ao servidor PHP?

Resumo: superglobais

Principais superglobais para formulários:

  • $_GET — parâmetros da URL
  • $_POST — corpo da requisição
  • $_FILES — informações dos arquivos enviados
  • $_SERVER — ambiente do servidor e da requisição
  • Use ?? para acessar valores padrão com segurança
  • Use filter_input() para combinar obtenção e validação

Perguntas Frequentes

A aula “Leitura de dados de formulários com superglobais” é grátis?

Sim — o texto completo de “Leitura de dados de formulários com superglobais” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de PHP Academy, atualize para CoddyKit PRO. O curso de PHP Academy inclui 4 aulas no total.

O que vou aprender em “Leitura de dados de formulários com superglobais”?

Acesse os campos do formulário por meio dos arrays _GET e _POST. Você pratica PHP Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar PHP Academy?

Nenhuma experiência prévia é necessária. PHP Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 2 de 4.

Quanto tempo leva a aula “Leitura de dados de formulários com superglobais”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de PHP Academy?

Sim. Cada aula de PHP Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. GET versus POST: quando usar cada um
  2. Leitura de dados de formulários com superglobais
  3. Técnicas de validação de entrada
  4. Sanitização de dados inseridos pelo usuário
← Voltar para PHP Academy