Tutoriel PHP : La fonction isset()
La fonction isset() permet de savoir si une variable
a été définie ou non (on parle
de « définie » quand la variable
a reçu une valeur).
C’est particulièrement utile, par
exemple, pour savoir si une page a été
appelée avec un ou plusieurs paramètres
particuliers, par exemple :
- Nous avons une page contenant un script PHP nommée
« ma_page.php »
- Cette page peut être appelée sans
paramètre, par exemple :
http://www.mon_site.com/mapage.php
- Elle peut aussi être appelée avec
un ou plusieurs paramètres, par exemple :
http://www.mon_site.com/mapage.php?i=4
ou
http://www.mon_site.com/mapage.php?i=4&j=bruno
(Remarquez que les valeurs des paramètres
peuvent être des chiffres ou des lettres,
mais certains caractères ne sont pas acceptés
et peuvent provoquer des effets bizarres, c’est
pourquoi il faut « transformer » les
valeurs à passer par la fonction urlencode()
et récupérer ces valeurs après
par la fonction inverse urldecode() )
- Dans le 1er cas où mapage.php a été
appelée sans paramètre, la fonction
:
isset($i) ou isset($j) retourne donc la valeur
« false ».
- Dans le 2ème cas, isset($i) retourne «
true » mais isset($j) retourne « false
»
- Dans le 3ème cas, les variables $î
et $j sont tous les 2 définies, donc isset($i)
et isset($j) retournent aussi toutes les deux «
true »
Cela ne s’applique pas uniquement pour les
passages de paramètres et de valeurs dans
les URLs, vous pouvez aussi utiliser cela pour vérifier
si un champ a existé dans un formulaire qui
a appelé le script PHP (à ne pas confondre
toutefois avec la fonction empty() qui indique qu’un
champ d’un formulaire a été
rempli ou non).
Le passage de paramètre par l’URL
– que nous venons de voir ci-dessus –
est particulièrement utile pour appeler une
page de commande en joignant un numéro d’affilié,
et qui permet de tracer ainsi les ventes effectuées
par les affiliés.