En PHP, una variable superglobal es una variable especial que está disponible en todos los ámbitos de un script, sin necesidad de utilizar la palabra clave `global` o de pasar la variable como argumento a una función. Estas variables permiten acceder a información específica del entorno del servidor, del cliente, de peticiones HTTP, entre otras. Las superglobales son arrays asociativos, lo que significa que almacenan pares clave-valor y son muy útiles para manejar datos en aplicaciones web.
Las principales variables superglobales en PHP son:
1. $_GET: Esta superglobal se usa para recopilar datos enviados en la URL del formulario mediante el método GET. Por ejemplo, si se accede a la URL `http://example.com/?name=John`, el valor de `$_GET[‘name’]` sería ‘John’.
2. $_POST: Se utiliza para recopilar datos enviados mediante el método POST. Los formularios HTML que usan el método POST envían datos al servidor de esta manera. Por ejemplo, al enviar un formulario con un campo de entrada de nombre `email`, accederías al valor con `$_POST[‘email’]`.
3. $_SERVER: Contiene información sobre el servidor y el entorno de ejecución. Por ejemplo, `$_SERVER[‘HTTP_USER_AGENT’]` contiene la cadena del agente de usuario del navegador, y `$_SERVER[‘REQUEST_METHOD’]` da el método de solicitud (GET, POST, etc.).
4. $_SESSION: Sirve para almacenar información sobre las sesiones del usuario. Esta información se mantiene a lo largo de varias páginas. Puede ser utilizada para gestionar la autenticación del usuario, por ejemplo: `$_SESSION[‘user_id’]`.
5. $_COOKIE: Almacena datos enviados en las cookies del usuario. Las cookies se utilizan para recordar información sobre el usuario entre visitas a un sitio web. Ejemplo: `$_COOKIE[‘username’]`.
6. $_FILES: Utilizada para gestionar archivos subidos a través de formularios HTML.
7. $_ENV: Contiene información del entorno proporcionada por el sistema operativo bajo el cual se está ejecutando PHP.
8. $_REQUEST: Combina los resultados de `$_GET`, `$_POST`, y `$_COOKIE`. Es una opción conveniente para acceder a datos sin importar cómo se enviaron, aunque es menos segura y menos precisa.
Ejemplo práctico de uso de superglobales:
```php
// Usando $_GET
if (isset($_GET[‘name’])) {
echo “El nombre es: “ . htmlspecialchars($_GET[‘name’]);
}
// Usando $_POST
if ($_SERVER[“REQUEST_METHOD”] == “POST”) {
$email = htmlspecialchars($_POST[‘email’]);
echo “Email enviado: “ . $email;
}
// Usando $_SESSION
session_start();
if (!isset($_SESSION[‘contador’])) {
$_SESSION[‘contador’] = 0;
}
$_SESSION[‘contador’]++;
echo “Contador de sesiones: “ . $_SESSION[‘contador’];
// Usando $_SERVER
echo “El método de solicitud es: “ . $_SERVER[‘REQUEST_METHOD’];
?>
```
Fuentes:
1. PHP Manual Oficial: [PHP: Superglobals – Manual](https://www.php.net/manual/en/language.variables.superglobals.php)
2. W3Schools PHP Superglobals: [PHP Superglobals](https://www.w3schools.com/php/php_superglobals.asp)
Las variables superglobales son una parte fundamental de PHP, ya que permiten interactuar de manera efectiva con el entorno del servidor y el cliente, facilitando el desarrollo de aplicaciones web dinámicas.