Trucos prácticos
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á :
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.