Maison > Article > développement back-end > Avis PHP : Variable non définie : solution _POST
Dans le processus de développement avec PHP, nous rencontrons souvent des messages d'erreur tels que PHP Remarque : Variable non définie : _POST. Ce message d'erreur est dû à l'appel de variables non définies ou non attribuées dans notre code. Cet article explique comment résoudre ce message d'erreur.
1. Comprendre le message d'erreur de variable non définie
En PHP, $_POST est une variable globale prédéfinie utilisée pour recevoir les variables transmises par la méthode HTTP POST. Par exemple :
<?php if ($_POST['username'] == 'admin'){ //do something } ?>
Dans le code ci-dessus, nous utilisons $_POST['username'] pour obtenir le nom d'utilisateur dans la requête POST. Si $_POST['username'] n'est pas défini ou n'a pas de valeur, un message d'erreur Variable non définie : _POST sera généré.
2. Résolvez le message d'erreur de variable non définie
1 Évitez la génération de messages d'erreur
La meilleure façon d'éviter les messages d'erreur de variable non définie est pour les écrire dans le code Définir et initialiser les variables requises. Par exemple :
<?php $username = isset($_POST['username']) ? $_POST['username'] : ''; if ($username == 'admin'){ //do something } ?>
Dans le code ci-dessus, nous utilisons d'abord la fonction isset() pour déterminer si $_POST['username'] existe. S'il existe, attribuez sa valeur à la variable $username, sinon la variable sera initialisée est vide.
2. Désactivez les invites d'erreur
Dans un environnement de production, désactiver les invites d'erreur peut être un meilleur choix, ce qui peut éviter de divulguer des informations d'erreur aux utilisateurs et améliorer également les performances de l'application. sécurité. Bien entendu, pendant le processus de développement, la désactivation des invites d'erreur peut entraîner la découverte et la résolution de certaines erreurs à temps. Vous devez donc faire attention à l'activation des invites d'erreur en temps opportun. La méthode pour désactiver l'invite d'erreur est la suivante :
<?php error_reporting(0); ?>
Le code ci-dessus désactivera l'invite d'erreur PHP. Bien sûr, vous pouvez également ajuster le niveau du rapport d'erreur selon vos besoins, par exemple, définissez-le sur :
<?php error_reporting(E_ALL ^ E_NOTICE); ?>
Le code ci-dessus signifie définir le niveau du rapport d'erreur sur tous les messages d'erreur, à l'exception de l'avis. niveau.
3. Gestion des messages d'erreur
Lorsqu'un message d'erreur de variable non définie apparaît, nous devons le traiter comme un avertissement plutôt que comme une erreur fatale. Vous pouvez utiliser les méthodes suivantes pour gérer les messages d'erreur de variable non définie :
1 Utilisez le symbole @
Utilisez le symbole @ pour supprimer le message d'erreur, par exemple : #🎜. 🎜#
<?php @$username = $_POST['username']; if ($username == 'admin'){ //do something } ?>#🎜🎜 #Dans le code ci-dessus, utilisez le symbole @ pour éliminer la variable non définie : message d'erreur _POST.
2. Déterminez si la variable est définie
Avant d'utiliser des variables non définies, vous pouvez utiliser la fonction isset() pour déterminer, par exemple :
<?php if (isset($_POST['username'])){ $username = $_POST['username']; } if ($username == 'admin'){ //do something } ?>#🎜 🎜# Dans le code ci-dessus, nous utilisons d'abord isset() pour déterminer si $_POST['username'] existe, et s'il existe, attribuons sa valeur à la variable $username. De cette façon, vous pouvez éviter les messages d'erreur de variable non définie. Summary Pendant le processus de développement, le message d'erreur de variable non définie est un message d'avertissement courant. Nous devons choisir la méthode appropriée à traiter en fonction de la situation réelle afin d'éviter la génération de fausses informations. Dans le même temps, nous devons également faire attention à porter des jugements avant d'utiliser des variables non définies afin d'éviter des messages d'erreur inutiles.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!