Hagamos ahora algo que puede ser más útil. Vamos a chequear qué clase de navegador web utiliza. Para hacerlo, vamos a consultar la información que el navegador nos envía como parte de su petición HTTP. Esta información es guardada en una variable. Las variables siempre comienzan con un signo de dólar ("$") en PHP. La variable que vamos a utilizar en esta situación es $_SERVER["HTTP_USER_AGENT"].
Note: $_SERVER es una variable reservada por PHP que contiene toda la información del servidor web. Es conocida como Autoglobal (o Superglobal). Consulte el manual en su sección titulada Autoglobales para mas información. Éstas son variables especiales que fueron introducidas en la versión » 4.1.0 de PHP. Antes podíamos usar las matrices $HTTP_*_VARS, tales como $HTTP_SERVER_VARS. Aunque éstas han sido marcadas como obsoletas, tales matrices todavía existen. (También puede echar un vistazo a las notas relacionadas con el código antiguo.)
Para poder ver esta variable solo necesita:
Example#1 Impresión de una variable (elemento de la matriz)
<?php echo $_SERVER["HTTP_USER_AGENT"]; ?>
Un ejemplo de los resultados de este programa sería:
Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)
Hay muchos tipos de variables en PHP. En el ejemplo anterior imprimimos una matriz. Las matrices pueden ser muy útiles.
$_SERVER es simplemente una variable que se encuentra disponible automáticamente para usted en PHP. Puede encontrar una lista en la sección titulada Variables Reservadas del manual, o puede generar una lista completa creando un archivo como el presentado a continuación:
Example#2 Consultar todas las variables predefinidas con phpinfo()
<?php phpinfo(); ?>
Si abre este archivo con su navegador, puede ver una página con información acerca de PHP, junto a una lista de todas las variables que puede usar.
Puede usar más de un declaración PHP dentro de una etiqueta PHP, y crear pequeños segmentos de código que pueden hacer más que un "echo". Por ejemplo, si quisiéramos detectar el uso de "Internet Explorer", haríamos algo así:
Example#3 Ejemplos de uso de estructuras de control y funciones
<?php
if (strstr($_SERVER["HTTP_USER_AGENT"], "MSIE")) {
echo "Está usando Internet Explorer<br />";
}
?>
Un ejemplo de los resultado del script puede ser:
Está usando Internet Explorer<br />
A continuación introduciremos un par de conceptos nuevos. Tenemos una declaración "if". Si está familiarizado con la sintaxis básica del lenguaje "C", esto se vera lógico, Pero si no entiende "C", u otros lenguajes de programación donde encuentra la sintaxis usada anteriormente, probablemente debería conseguir un libro que le introduzca mejor a PHP, y lea los primeros capítulos, o también puede ver la parte del manual titulada Referencia del lenguaje. Puedes encontrar una lista de libros sobre PHP en » http://www.php.net/books.php.
El segundo concepto que introducimos fue la función llamada strstr(). strstr() es una función integrada de PHP que busca un cadena dentro de otra cadena más larga. En el caso anterior estamos buscando "MSIE" dentro de $_SERVER["HTTP_USER_AGENT"]. Si la cadena fue encontrada, la función devolverá verdadero ("TRUE"), la declaración "if" se evalúa a verdadero ("TRUE") y el código adentro de las llaves {} es ejecutado. De otra manera no resulta ejecutado. Tómese la libertad de crear ejemplos similares usando "if", "else" ("de otra manera"), y otras funciones como strtoupper() y strlen(). Cada página del manual contiene ejemplos que puede usar. Si no está seguro sobre el modo de uso éstas funciones, es recomendable que lea las páginas del manual tituladas Cómo leer una definición de función y la sección relacionada a Funciones en PHP
Podemos continuar y demostrar cómo puede saltar adentro y afuera del modo PHP en el medio de un bloque de código.
Example#4 Mezcla de los modos HTML y PHP
<?php
if (strstr($_SERVER["HTTP_USER_AGENT"], "MSIE")) {
?>
<h3>strstr debe haber devuelto verdadero</h3>
<center><b>Está usando Internet Explorer</b></center>
<?php
} else {
?>
<h3>strstr debió devolver falso</h3>
<center><b>No está usando Internet Explorer</b></center>
<?php
}
?>
Un ejemplo de los resultados de este script puede ser:
<h3>strstr debe haber devuelto verdadero </h3> <center><b>Está usando Internet Explorer</b></center>
En vez de usar una sentencia PHP "echo" para demostrar algo, saltamos fuera del código PHP y escribimos HTML puro. Este es un punto muy importante y potente que debemos observar aquí, y es que la fluidez lógica del script está intacta. Sólamente las partes donde hay HTML serán enviadas a su navegador dependiendo de los resultados que strstr() devuelve (si fue verdadero [TRUE], o falso [FALSE]). En otras palabras, si la cadena MSIE fue encontrada o no.