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 stringfilter_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)); // stringFILTER_SANITIZE ou FILTER_VALIDATE
Deux modes de filter_var :
FILTER_VALIDATE_*— renvoie la valeur si elle est valide, et false dans le cas contraireFILTER_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
- GET ou POST : quand utiliser chacun
- Lire les données de formulaire avec les superglobales
- Techniques de validation des entrées
- Nettoyer les entrées utilisateur