Algo Útil

Hagamos ahora algo que puede ser mas útil. Vamos a chequear que clase de navegador de la web utilizas. Para hacerlo, vamos a mirar la información que el navegador nos manda como parte de su requesta HTTP. Esta información es guardada en una variable. Las variables siempre comiensan con un signo de dolar ("$") en PHP. La variable que vamos a utilizar en esta situación es $_SERVER["HTTP_USER_AGENT"].

Notas acerca de PHP Autoglobals: $_SERVER es una variable reservada por PHP que contiene toda la información del servidor de web. Es conocida como Autoglobal (o Superglobal). Lee el manual en la sección titulada Autoglobals para mas información. Estas son variables especiales que son introducidas en la versión 4.1.0 de PHP. Antes podíamos usar los, $HTTP_*_VARS arrays, tales como $HTTP_SERVER_VARS. Aunque estos han sido despreciados, estas antiguas variables todavía existen. (También puedes mirar las notas relacionadas acerca del viejo código.)

Para poder ver esta variable solo necesitas:

Ejemplo 2-2. Imprimiendo una variable (Elemento del Array)

<?php echo $_SERVER["HTTP_USER_AGENT"]; ?>

Un ejemplo de este script puede ser:
Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)

Hay muchas clases de variables en PHP. En el ejemplo anterior imprimimos un Array. Los Arrays pueden ser muy útiles

$_SERVER es simplemente una variable que es automáticamente disponible para ti en PHP. Puedes obtener una lista en la sección titulada Variables Reservadas del manual, o puedes crear una lista completa creando un archivo como a continuación:

Ejemplo 2-3. Ver todas las variables predefinidas con phpinfo()

<?php phpinfo(); ?>

Si tu abres este archivo con tu navegador, puedes ver una página con información hacerca de PHP, junto a una lista de todas las variables que puedes usar.

Puedes usar mas de un declaración PHP dentro de una tag PHP, y crear pequeños segmentos de código que pueden hacer mas que un "echo". Por ejemplo, si queremos detectar por "Internet Explorer" haríamos algo así:

Ejemplo 2-4. Ejemplos usando estructuras de control y funciones

<?php
if (strstr($_SERVER["HTTP_USER_AGENT"], "MSIE")) {
	echo "Estas usando Internet Explorer<br />";
}
?>

Un ejemplo de los resultado del script puede ser:
Estas usando Internet Explorer<br />

Aquí introduciremos un par de conceptos nuevos. Tenemos una "if" declaración. Si estas familiarizado con los la sintaxis básica del lenguaje "C", esto se vera lógico, Pero si tu no entiendes "C" o otros lenguajes de programación donde encuentras la sintaxis usada anteriormente, probablemente deberías conseguir un libro que te introduzca mejor a PHP, y lee los primeros capítulos, o también puedes ver la parte del manual titulada referencias al lenguaje. Puedes encontrar una lista de libros acerca de PHP en http://www.php.net/books.php.

El segundo concepto que introducimos fue el concepto llamado strstr(). strstr() es una función integrada en PHP que busca un cadena (string) dentro de otra cadena (string) mas larga. En el caso anterior estamos buscando por "MSIE" dentro de $_SERVER["HTTP_USER_AGENT"]. Si la cadena (string) 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 {braces} es ejecutado. De otra manera no lo es ejecutado. Tomate 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 puedes usar.

Podemos dar paso mas y demostrar como podéis saltar adentro y afuera del modo PHP en el medio de un bloque de código PHP

Ejemplo 2-5. Mesclando los modos HTML y PHP

<?php
if (strstr($_SERVER["HTTP_USER_AGENT"], "MSIE")) {
?>
<h3>strstr tiene que haber devuelto verdadero </h3>
<center><b>Estas usando Internet Explorer</b></center>
<?php
} else {
?>
<h3>strstr tiene que haber devuelto falso</h3>
<center><b>No estas usando Internet Explorer</b></center>
<?php
}
?>

Un ejemplo de los resultados de este script pueden ser:
<h3>strstr tiene que haber devuelto verdadero </h3>
<center><b>Estas usando Internet Explorer</b></center>

En vez de usar una declaración 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í, este es que la fluidez lógica del script esta intacta. Solamente las partes donde hay HTML serán mandadas a tu navegador dependiendo en los resultados questrstr() ah devuelto, si fue (verdadero [TRUE], o falso [FALSE]). En otras palabras, si la cadena (string) MSIE fue encontrada o no.