- Página anterior Clasificación de arreglos en PHP
- Página siguiente Procesamiento de formularios en PHP
Las variables superglobales se introdujeron en PHP 4.1.0 y son variables integradas que siempre están disponibles en todo el ámbito.
Muchas variables predefinidas de PHP son
Estas variables superglobales son:
- $GLOBALS
- $_SERVER
- $_REQUEST
- $_POST
- $_GET
- $_FILES
- $_ENV
- $_COOKIE
- $_SESSION
Esta sección presentará algunas variables superglobales y explicará otras variables superglobales en capítulos posteriores.
$GLOBALS — Referencia a todas las variables disponibles en el ámbito global
La variable global $GLOBALS se utiliza para acceder a las variables globales en cualquier lugar del script de PHP (desde una función o método).
PHP almacena todas las variables globales en el array llamado $GLOBALS[index]. El nombre de la variable es la clave del array.
El siguiente ejemplo muestra cómo utilizar la variable superglobal $GLOBALS:
Ejemplo
<?php $x = 75; $y = 25; function addition() { $GLOBALS['z'] = $GLOBALS['x'] + $GLOBALS['y']; } addition(); echo $z; ?>
En el ejemplo anterior, debido a que z es una variable del array $GLOBALS, también se puede acceder a ella fuera de la función.
PHP $_SERVER
La variable superglobal $_SERVER almacena información sobre encabezados, rutas y ubicación del script.
El siguiente ejemplo muestra cómo utilizar algunos elementos de $_SERVER:
Ejemplo
<?php echo $_SERVER['PHP_SELF']; echo "<br>"; echo $_SERVER['SERVER_NAME']; echo "<br>"; echo $_SERVER['HTTP_HOST']; echo "<br>"; echo $_SERVER['HTTP_REFERER']; echo "<br>"; echo $_SERVER['HTTP_USER_AGENT']; echo "<br>"; echo $_SERVER['SCRIPT_NAME']; ?>
La siguiente tabla enumera los elementos más importantes que puede acceder en $_SERVER:
Elemento/código | Descripción |
---|---|
$_SERVER['PHP_SELF'] | Devuelve el nombre del archivo del script que se está ejecutando. |
$_SERVER['GATEWAY_INTERFACE'] | Devuelve la versión del estándar CGI utilizado por el servidor. |
$_SERVER['SERVER_ADDR'] | Devuelve la dirección IP del servidor donde se ejecuta el script actual. |
$_SERVER['SERVER_NAME'] | Devuelve el nombre del host del servidor donde se ejecuta el script actual (por ejemplo, www.codew3c.com). |
$_SERVER['SERVER_SOFTWARE'] | Devuelve la cadena de identificación del servidor (por ejemplo, Apache/2.2.24). |
$_SERVER['SERVER_PROTOCOL'] | Devuelve el nombre y la versión del protocolo de comunicación utilizado para acceder a la página (por ejemplo, "HTTP/1.0"). |
$_SERVER['REQUEST_METHOD'] | Devuelve el método de solicitud utilizado para acceder a la página (por ejemplo, POST). |
$_SERVER['REQUEST_TIME'] | Devuelve el timestamp del momento en que comenzó la solicitud (por ejemplo, 1577687494). |
$_SERVER['QUERY_STRING'] | Devuelve la cadena de consulta, si se accede a esta página a través de una cadena de consulta. |
$_SERVER['HTTP_ACCEPT'] | Devuelve las cabeceras de solicitud del solicitud actual. |
$_SERVER['HTTP_ACCEPT_CHARSET'] | Devuelve la cabecera Accept_Charset del solicitud actual (por ejemplo, utf-8, ISO-8859-1) |
$_SERVER['HTTP_HOST'] | Devuelve la cabecera Host del solicitud actual. |
$_SERVER['HTTP_REFERER'] | Devuelve la URL completa de la página actual (no confiable, ya que no todos los usuarios agentes lo soportan). |
$_SERVER['HTTPS'] | ¿Si la consulta del script se realiza a través del protocolo HTTP seguro? |
$_SERVER['REMOTE_ADDR'] | Devuelve la dirección IP del usuario que está navegando por la página actual. |
$_SERVER['REMOTE_HOST'] | Devuelve el nombre del anfitrión del usuario que está navegando por la página actual. |
$_SERVER['REMOTE_PORT'] | Devuelve el número de puerto utilizado por el cliente para conectarse al servidor web. |
$_SERVER['SCRIPT_FILENAME'] | Devuelve la ruta absoluta del script que se está ejecutando. |
$_SERVER['SERVER_ADMIN'] | Este valor especifica el parámetro SERVER_ADMIN en el archivo de configuración del servidor Apache. |
$_SERVER['SERVER_PORT'] | El puerto utilizado por el servidor web. El valor predeterminado es "80". |
$_SERVER['SERVER_SIGNATURE'] | Devuelve la versión del servidor y el nombre del anfitrión virtual. |
$_SERVER['PATH_TRANSLATED'] | La ruta básica del sistema de archivos en el que se encuentra el script actual (no el directorio raíz del documento). |
$_SERVER['SCRIPT_NAME'] | Devuelve la ruta del script actual. |
$_SERVER['SCRIPT_URI'] | Devuelve la URI de la página actual. |
PHP $_REQUEST
PHP $_REQUEST se utiliza para recopilar los datos del formulario enviados en HTML.
El siguiente ejemplo muestra un formulario que contiene campos de entrada y un botón de envío. Después de que el usuario haga clic en el botón de envío para enviar los datos del formulario, los datos del formulario se enviarán al archivo especificado en la propiedad action del etiqueta <form>. En este ejemplo, hemos especificado el archivo en sí mismo para procesar los datos del formulario. Si necesita usar otro archivo PHP para procesar los datos del formulario, simplemente modifique por el nombre del archivo que haya elegido. Luego, podemos usar la variable superglobal $_REQUEST para recopilar los valores de los campos de entrada:
Ejemplo
<html> <body> <form method="post" action="<?php echo $_SERVER['PHP_SELF'];?>"> Nombre: <input type="text" name="fname"> <input type="submit"> </form> <?php $name = $_REQUEST['fname']; echo $name; ?> </body> </html>
PHP $_POST
PHP $_POST se utiliza ampliamente para recopilar los datos del formulario después de que se envíe con el método "post" HTML. $_POST también se utiliza a menudo para pasar variables.
El siguiente ejemplo muestra un formulario que contiene campos de entrada y un botón de envío. Después de que el usuario haga clic en el botón de envío para enviar los datos, los datos del formulario se enviarán al archivo especificado en la propiedad action del etiqueta <form>. En este ejemplo, hemos especificado el archivo en sí mismo para procesar los datos del formulario. Si desea usar otra página PHP para procesar los datos del formulario, simplemente cambie al nombre del archivo que haya elegido. Luego, podemos usar la variable superglobal $_POST para recopilar los valores de los campos de entrada:
Ejemplo
<html> <body> <form method="post" action="<?php echo $_SERVER['PHP_SELF'];?>"> Nombre: <input type="text" name="fname"> <input type="submit"> </form> <?php $name = $_POST['fname']; echo $name; ?> </body> </html>
PHP $_GET
PHP $_GET también se puede usar para recopilar los datos del formulario enviado después de que se envía un formulario HTML (method="get").
$_GET también puede recopilar los datos enviados en la URL.
Supongamos que tenemos una página que contiene enlaces con parámetros:
<html> <body> <a href="test_get.php?subject=PHP&web=codew3c.com">Probar $GET</a> </body> </html>
Cuando el usuario hace clic en el enlace "Probar $GET", los parámetros "subject" y "web" se envían a "test_get.php", luego puede acceder a estos valores en "test_get.php" a través de $_GET.
El siguiente ejemplo es el código de "test_get.php":
Ejemplo
<html> <body> <?php echo "En " . $_GET['web'] . " aprendiendo " . $_GET['subject']; ?> </body> </html>
Consejo:Usted encontrará Formularios en PHP En esta sección, aprenderás más sobre $_POST y $_GET.
- Página anterior Clasificación de arreglos en PHP
- Página siguiente Procesamiento de formularios en PHP