Comment vérifier si $_GET existe?
Donc, j'ai un code PHP qui ressemble un peu à ceci:
<body>
The ID is
<?php
echo $_GET["id"] . "!";
?>
</body>
Maintenant, lorsque je passe un ID comme http://localhost/myphp.php?id=26
il fonctionne très bien, mais si il n'y a pas d'ID comme http://localhost/myphp.php
puis il sorties:
The ID is
Notice: Undefined index: id in C:\xampp\htdocs\myphp.php on line 9
!
J'ai cherché un moyen de résoudre ce problème mais je ne trouve aucun moyen de vérifier si une variable d'URL existe. Je sais il doit y avoir moyen de bien.
- Undefined index n'est pas une erreur, c'est juste un avertissement. Vous pouvez désactiver l'avertissement de l'édition de la
.htaccess
fichier. - vérifier si
$_GET
existe (comme dans le sujet) est en fait une autre question, vous essayez de vérifier si$_GET["id"]
existe...
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser
isset
fonction:Vous pouvez créer une fonction très pratique pour retourner la valeur par défaut si l'index n'existe pas:
Vous pouvez également essayer de le valider en même temps:
Normalement il est assez bon pour le faire:
C'est donc lors de l'attribution du var à d'autres variables, vous pouvez le faire par défaut tous dans un souffle, au lieu de constamment à l'aide d'
if
déclarations suffit de leur donner une valeur par défaut si elles ne sont pas définies.'wft'
n'est pas une bonne valeur par défaut.wtf
paswft
null
ou0
.null
😛 s'il est lui aussi en écho et que l'OP dit eux-mêmes qu'ils ont remplacéswtf
avecNo ID!
et c'est vraiment ce qu'il a été conçu pour, ehcoingnull
n'est pas très utile, dans ce caswtf
est plus utile quenull
de l'omiwtf
est une géniale valeur.Vous pouvez utiliser le
array_key_exists()
fonction intégrée:ou la
isset()
fonction intégrée:Vous utilisez PHP isset
Exemple
Utilisation et
empty()
de pentecôte négation (pour tester si ce n'est pas vide)Merci d'essayer:
empty($_GET['id'])
est traduite en!isset($var) || $var == false.
, de sorte que leisset($_GET['id'])
n'est pas nécessaire.