3.2 Une introduction à PHP
3 Au moment de commencer
Manuel PHP
. Le nécessaire . Votre première page PHP ->Trucs pratiques . Utiliser un formulaire . Utiliser des codes anciens avec les nouvelles versions de PHP . Et après?
|
3.2.3 Trucs pratiques
Réalisons maintenant quelque chose de plus puissant. Nous allons
vérifier le type de navigateur que le visiteur de notre site utilise.
Pour cela, nous allons accéder aux informations que le navigateur
du visiteur nous envoie, lors de sa requête HTTP. Cette information
est stockée dans une variable .
Les variables sont faciles à repérer, car elles commencent toutes par
un signe dollar. La variable qui nous interesse ici est
$_SERVER['HTTP_USER_AGENT']
.
| Note | |
$_SERVER est une
variable spéciale de PHP, qui contient toutes les informations
relatives au serveur web. C'est une variable réservée de PHP,
et une auto-globale. Reportez-vous aux pages du manuel traitant des
Auto-globales
(aussi connues sous le nom de super-globales). Ces
variables spéciales ont été introduites en
PHP 4.1.0 . Auparavant,
il fallait utiliser les variables
$HTTP_*_VARS
, comme
$HTTP_SERVER_VARS
. Bien qu'obsolètes, ces
variables existent toujours. (Voir aussi la note sur
l'ancien code .)
|
Pour afficher cette variable, nous pouvons simplement faire :
| Afficher le contenu d'une variable (élément de tableau) |
<?php echo $_SERVER['HTTP_USER_AGENT']; ?>
|
Il y a de nombreux types de
variables disponibles en PHP. Dans l'exemple ci-dessus, nous avons affiché
un élément de Tableau (Array) .
Les tableaux peuvent être très utiles.
$_SERVER
est juste une variable qui est automatiquement
disponible dans votre script. Une liste de toutes les variables qui sont
rendues disponibles est fournie dans la section
Variables réservées ou vous
pouvez aussi en obtenir une liste complète en lisant l'affichage de la fonction
phpinfo
utilisée dans l'exemple de la section précédente.
Vous pouvez ajouter plusieurs commandes PHP dans une balise PHP, et créer
de petits blocs de code qui réalisent des opérations plus complexes
qu'un simple affichage. Par exemple, si nous voulons vérifier que le
navigateur est bien de la famille des Internet Explorer, nous pouvons
faire cela :
| Exemple utilisant les structures de contrôle et les fonctions |
<?php if (strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE') !== FALSE) { echo 'Vous utilisez Internet Explorer<br />'; } ?>
|
Ici, nous introduisons plusieurs nouveaux concepts. Nous avons une
structure if .
Si vous êtes familier avec les syntaxes de base du langage C, cela
ne vous surprendra pas. Si vous ne connaissez pas assez le langage C ou
un autre langage où la syntaxe est similaire à celle ci-dessus, il
vaudrait mieux que vous lisiez une introduction à PHP, et assimiliez
les premiers chapitres, ou bien lisez le chapitre consacré à
la référence du langage . Vous pouvez trouver
une liste de livres PHP à http://www.php.net/books.php .
Le second concept que nous avons introduit est la fonction
strpos
.
strpos
est une fonction intégrée à PHP, qui recherche
la présence d'une chaîne dans une autre. Dans notre cas, nous
avons recherché la chaîne
"MSIE"
dans la chaîne
$_SERVER['HTTP_USER_AGENT']
. Si cette
chaîne est trouvée, la fonction retourne sa position dans la chaîne et sinon,
FALSE
.
Si elle ne retourne pas
FALSE
, la structure if
reçoit
TRUE
et le code entre accolades {} est exécuté. Sinon, le code n'est pas
exécuté. N'hésitez pas à
expérimenter d'autres exemples, à l'aide de
if ,
else , et d'autres
fonctions comme
strtoupper
et
strlen
. Chaque page de la documentation contient aussi
des exemples. Si vous n'êtes pas sûr de l'utilisation de ces fonctions, vous devez lire
la page du manuel
" comment lire une définition de fonction "
ainsi que la section sur les fonctions PHP .
Nous pouvons maintenant progresser et vous montrer comment utiliser le mode PHP,
au milieu du code HTML :
| Passer du mode PHP au mode HTML et vice-versa |
<?php if (strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE') !== FALSE) { ?> <h3>strpos() n'a pas retourné FALSE</h3> <p>Vous utilisez Internet Explorer</p> <?php } else { ?> <h3>strpos() a retourné FALSE</h3> <p>Vous n'utilisez pas Internet Explorer</p> <?php } ?>
|
Au lieu d'utiliser une commande
echo
, pour afficher
du texte, vous pouvez utiliser du code HTML pur. Le point important a noter
ici et que la logique de programmation est conservée. Seul un des deux
blocs HTML sera affiché, suivant le résultat de la fonction
strpos
.
En d'autres termes, cela dépend si la chaîne
MSIE
a été trouvée ou non.
|