Realicemos ahora algo más potente. Vamos a verificar el tipo de navegador que el visitante de nuestro sitio utiliza. Para ello, accederemos a la información que el navegador del visitante nos envía, durante su petición HTTP. Esta información se almacena en una variable. Las variables son fáciles de identificar, ya que todas comienzan con un signo dólar. La variable que nos interesa aquí es $_SERVER['HTTP_USER_AGENT'].
Nota:
$_SERVER es una variable especial de PHP, que contiene toda la información relativa al servidor web. Es una variable reservada de PHP, y una superglobal. Consulte las páginas del manual que tratan de las Auto-globales (también conocidas como super-globales).
Para mostrar esta variable, simplemente se puede hacer :
Ejemplo #1 Mostrar el contenido de una variable (elemento de array)
<?php
echo $_SERVER['HTTP_USER_AGENT'];
?>
Un resultado posible del script podría ser :
Mozilla/5.0 (Linux) Firefox/112.0
Hay muchos tipos de variables disponibles en PHP. En el ejemplo anterior, hemos mostrado un elemento de una variable Array. Los arrays pueden ser muy útiles.
$_SERVER es simplemente una variable que está automáticamente disponible en su script. Una lista de todas las variables que están disponibles se proporciona en la sección Variables reservadas o también se puede obtener una lista completa leyendo la salida de la función phpinfo() utilizada en el ejemplo de la sección anterior.
Se pueden añadir varios comandos PHP en una etiqueta PHP, y crear pequeños bloques de código que realizan operaciones más complejas que un simple mostrado. Por ejemplo, si queremos verificar que el navegador es de la familia Firefox, se puede hacer esto :
Ejemplo #2 Ejemplo utilizando las estructuras de control y las funciones
<?php
if (str_contains($_SERVER['HTTP_USER_AGENT'], 'Firefox')) {
echo 'Está utilizando Firefox.';
}
?>
El resultado de este script, si está utilizando Firefox, será :
Está utilizando Firefox.
Aquí, introducimos varios nuevos conceptos. Tenemos una estructura if. Si está familiarizado con las sintaxis básicas del lenguaje C, esto no le sorprenderá. Si no conoce lo suficiente el lenguaje C o otro lenguaje cuya sintaxis sea similar a la anterior, sería mejor que leyera una introducción a PHP, y asimilara los primeros capítulos, o bien lea el capítulo dedicado a la referencia del lenguaje.
El segundo concepto que hemos introducido es la función str_contains().
str_contains() es una función interna de PHP, que determina
la presencia de una cadena dada en otra. En nuestro caso, hemos buscado la cadena "Firefox"
en la cadena
$_SERVER['HTTP_USER_AGENT'].
De lo contrario, devuelve false
.
Si devuelve true
la estructura if
recibe true
y el código entre llaves {} se ejecuta. De lo contrario, el código no se
ejecuta. No dude en
experimentar con otros ejemplos, utilizando
if,
else, y otras
funciones como strtoupper() y
strlen(). Cada página de la documentación también contiene ejemplos. Si no está seguro del uso de estas funciones, debe leer
la página del manual
"cómo leer una definición de función"
así como la sección sobre las funciones PHP.
Ahora podemos avanzar y mostrarle cómo utilizar el modo PHP, en medio del código HTML :
Ejemplo #3 Pasar del modo PHP al modo HTML y viceversa
<?php
if (str_contains($_SERVER['HTTP_USER_AGENT'], 'Firefox')) {
?>
<h3>str_contains() ha devuelto true</h3>
<p>Está utilizando Firefox</p>
<?php
} else {
?>
<h3>str_contains() ha devuelto false</h3>
<p>No está utilizando Firefox</p>
<?php
}
?>
Un ejemplo de resultado obtenido en este script es :
<h3>str_contains() ha devuelto true</h3> <p>Está utilizando Firefox</p>
En lugar de utilizar un comando echo, para mostrar
texto, se puede utilizar código HTML puro. El punto importante a tener en cuenta
aquí es que la lógica de programación se conserva. Solo uno de los dos
bloques HTML se mostrará, según el resultado de la función str_contains().
En otras palabras, depende de si la cadena Firefox
ha sido encontrada o no.