0Pricing
PHP Academy · Leçon

Lire les données de formulaire avec les superglobales

Accéder aux champs du formulaire via les tableaux _GET et _POST.

Lire les données de formulaire avec les superglobales est une leçon PHP Academy gratuite sur CoddyKit. Ceci est la leçon 2 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage PHP Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours PHP Academy comprend 4 leçons au total.

Superglobales PHP

Les superglobales sont des tableaux PHP intégrés, disponibles dans toutes les portées : vous n’avez pas besoin de global pour y accéder dans les fonctions.

Superglobales liées aux formulaires : $_GET, $_POST, $_FILES, $_REQUEST

Accéder aux champs de $_POST

Lisez les valeurs du formulaire POST en accédant aux clés du tableau et en prévoyant une valeur de repli :

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

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

Accéder aux paramètres de $_GET

Lisez les paramètres de la chaîne de requête URL depuis $_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";

Gérer les cases à cocher

Les cases à cocher non sélectionnées ne sont PAS envoyées : vérifiez toujours avec isset ou ?? :

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

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

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

Tableaux de sélections multiples et de cases à cocher

Utilisez des attributs name sous forme de tableau pour recueillir plusieurs valeurs :

<!-- 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;
}

Informations de $_SERVER

$_SERVER fournit les données relatives à l’environnement du serveur et de la requête :

<?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() lit et nettoie les valeurs des superglobales en une seule étape :

<?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() pour la validation

Validez et nettoyez les valeurs déjà stockées dans des variables :

<?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 ou FILTER_VALIDATE

Deux modes de filter_var :

  • FILTER_VALIDATE_* — renvoie la valeur si elle est valide, et false dans le cas contraire
  • FILTER_SANITIZE_* — supprime ou encode les caractères dangereux et renvoie une valeur propre

Gérer $_FILES

$_FILES contient les métadonnées des fichiers téléversés : chaque fichier possède cinq clés :

<?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
}

Modèle de traitement d’un formulaire complet

Un modèle clair pour gérer l’envoi d’un formulaire avec validation :

<?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;
    }
}

Vérification rapide

Qu’envoie une case à cocher non sélectionnée au serveur PHP ?

Récapitulatif : superglobales

Superglobales principales pour les formulaires :

  • $_GET — paramètres d’URL
  • $_POST — corps de la requête
  • $_FILES — informations sur les fichiers téléversés
  • $_SERVER — environnement du serveur et de la requête
  • Utilisez ?? pour accéder aux valeurs par défaut en toute sécurité
  • Utilisez filter_input() pour récupérer et valider les données en une seule opération

Questions Fréquemment Posées

La leçon « Lire les données de formulaire avec les superglobales » est-elle gratuite ?

Oui — le texte complet de « Lire les données de formulaire avec les superglobales » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours PHP Academy, passe à CoddyKit PRO. Le cours PHP Academy comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « Lire les données de formulaire avec les superglobales » ?

Accéder aux champs du formulaire via les tableaux _GET et _POST. Tu pratiques PHP Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer PHP Academy ?

Aucune expérience préalable n'est requise. PHP Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 2 sur 4.

Combien de temps prend la leçon « Lire les données de formulaire avec les superglobales » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon PHP Academy ?

Oui. Chaque leçon PHP Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. GET ou POST : quand utiliser chacun
  2. Lire les données de formulaire avec les superglobales
  3. Techniques de validation des entrées
  4. Nettoyer les entrées utilisateur
← Retour à PHP Academy