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 is $_SERVER[ "HTTP_USER_AGENT" ] .

Attention pour les auto-globales de PHP : $_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 noms de super-globales ) . Ces variables spéciales ont été introduites en PHP 4.1.0 . Auparavant , il fallait utiliser les variables $HTTP_*_VARS , comme par exemple $HTTP_SERVER_VARS . Bien qu ' obsolètes , ces variables existent toujours .

Pour afficher cette variable , nous pouvons simplement faire :

Exemple 2-2 . Afficher le contenu d' une variable (élément de tableau )




Un résultat possible du script pourra alors être :








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 . Vous pouvez aussi en obtenir une liste complète en créant un fichier qui comme ceci :

Exemple 2-3 . Afficher toutes les variables prédéfinies phpinfo( )






Lorsque vous chargez cette page dans votre navigateur , vous allez découvrir une page pleine d' informations sur PHP , ainsi qu 'une liste des variables qui sont disponibles .

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 2-4 . Exemple utilisant les structures de contrôle et les fonctions

 
?php

 
if

 
(

 
strstr($_SERVER["HTTP_USER_AGENT"]

 
,

 
"MSIE")

 
)

 
{

 
echo

 
"Vous

 
utilisez

 
Internet

 
Explorer

 
br

 
/

 
"

 
;

 
}

 
?



Le résultat de ce script , si vous utilisez Internet Explorer , sera :

 
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 . Si vous ne connaissez pas assez le langage C ou un autre langage 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 trouvez une liste de livres PHP à http : / /www.php.net / books.php .

Le second concept que nous avons introduit est la fonction strstr( ) . strstr( ) 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 TRUE et sinon , FALSE . Si elle retourne TRUE , la commande if reçoit TRUE et le code entre accolades { } est 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 .

Nous pouvons aussi progresser et vous montrer comment utiliser le mode PHP , au milieu du code HTML :

Exemple 2-5 . Passer du mode PHP au mode HTML et vice-versa

 
?php

 
if

 
(

 
strstr($_SERVER["HTTP_USER_AGENT"]

 
,

 
"MSIE")

 
)

 
{

 
?

 
h3

 
strstr

 
a

 
retourn

 
eacute

 
;

 
TRUE

 
/

 
h3

 
center

 
b

 
Vous

 
utilisez

 
Internet

 
Explorer

 
/

 
b

 
/

 
center

 
?php

 
}

 
else

 
{

 
?

 
h3

 
strstr

 
a

 
retourn

 
eacute

 
;

 
FALSE

 
/

 
h3

 
center

 
b

 
Vous

 
n'utilisez

 
pas

 
Internet

 
Explorer

 
/

 
b

 
/

 
center

 
?php

 
}

 
?



Un exemple de résultat obtenu dans ce script est :

 
h3

 
strstr

 
a

 
retourn

 
eacute

 
;

 
TRUE

 
/

 
h3

 
center

 
b

 
Vous

 
utilisez

 
Internet

 
Explorer

 
/

 
b

 
/

 
center







Au lieu d' utilise 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 que le navigateur utilise ou pas Internet Explorer .