Los superglobales de PHP son variables integradas a las que se puede acceder desde todos los ámbitos.

PHP Super Globals (PHP Super Globals)

En esta lección, explicaremos todos los superglobales en PHP con ejemplos. Sigue leyendo para descubrirlo.

PHP Super Globales: $GLOBALS

El superglobal $GLOBALS se utiliza para acceder a variables globales desde cualquier campo (incluidas funciones o métodos) en el script PHP. PHP almacena todas las variables globales en una matriz llamada $GLOBALS[índice]. El índice contiene el nombre de la variable. El siguiente ejemplo muestra cómo utilizar la variable superglobal $GLOBALS:

$number1 = 50;
$number2 = 20;
function addition(): int
{
    return $GLOBALS[ 'number3' ] = $GLOBALS[ 'number2' ] + $GLOBALS[ 'number1' ];
}
echo addition();
// Çıktı: 70

PHP Super Globales: $_REQUEST

PHP $_REQUEST es PHP superglobal que se utiliza para recopilar datos de un formulario HTML.

<!DOCTYPE html>
<html>
<body>
<form method="post" action="<?php
echo $_SERVER[ 'PHP_SELF' ]; ?>">
    Name: <input type="text" name="fname">
    <input type="submit">
</form>
<?php
if ($_SERVER[ 'REQUEST_METHOD' ] === 'POST') {
    // input elementinden gelen veriyi değişkene ata
    $name = htmlspecialchars($_REQUEST[ 'fname' ]);
    if (empty($name)) {
        echo 'Ad yok';
    } else {
        echo $name;
    }
}
?>
</body>
</html>

En el ejemplo anterior, creamos un formulario que devuelve datos con el método de publicación. Lo habilitamos para devolver los datos en la misma página con $_SERVER['PHP_SELF']. Verificamos que la solicitud que viene con el superglobal $_SERVER['REQUEST_METHOD'] es una solicitud posterior. Luego, asignamos de forma segura los datos de la entrada denominada fname con el valor del nombre a la variable $name con el superglobal $_REQUEST usando la función htmlspecialchars(). Verificamos si la variable $name está vacía o no con la condición if de PHP. Si está vacío imprimimos la salida "Sin nombre", en caso contrario imprimimos los datos de la variable $nombre.

PHP súper globales: $_POST

PHP $_POST es un PHP superglobal que se utiliza para recopilar datos del formulario HTML mediante el método POST.

<!DOCTYPE html>
<html>
<body>
<form method="post" action="<?php
echo $_SERVER[ 'PHP_SELF' ]; ?>">
    Name: <input type="text" name="fname">
    <input type="submit">
</form>
<?php
if ($_SERVER[ 'REQUEST_METHOD' ] === 'POST') {
    // input elementinden gelen veriyi değişkene ata
    $name = htmlspecialchars($_POST[ 'fname' ]);
    if (empty($name)) {
        echo 'Ad yok';
    } else {
        echo $name;
    }
}
?>
</body>
</html>

En el ejemplo anterior, creamos un formulario que devuelve datos con el método de publicación. Lo habilitamos para devolver los datos en la misma página con $_SERVER['PHP_SELF']. Verificamos que la solicitud que viene con el superglobal $_SERVER['REQUEST_METHOD'] es una solicitud posterior. Luego, asignamos de forma segura los datos de la entrada denominada fname con el valor del nombre a la variable $name con el superglobal $_POST usando la función htmlspecialchars(). Verificamos si la variable $name está vacía o no con la condición if de PHP. Si está vacío imprimimos la salida "Sin nombre", en caso contrario imprimimos los datos de la variable $nombre.

PHP súper globales: $_GET

PHP $_GET es un PHP superglobal que se utiliza para recopilar datos del formulario HTML mediante el método GET. También podemos recuperar los datos enviados con get en la url con el superglobal $_GET.

Obteniendo datos del formulario con PHP $_GET Super Global

En el siguiente ejemplo, recibimos datos del formulario HTML con el PHP $_GET superglobal.

<!DOCTYPE html>
<html>
<body>
<form method="post" action="<?php
echo $_SERVER[ 'PHP_SELF' ]; ?>">
    Name: <input type="text" name="fname">
    <input type="submit">
</form>
<?php
if ($_SERVER[ 'REQUEST_METHOD' ] === 'GET') {
    // input elementinden gelen veriyi değişkene ata
    $name = htmlspecialchars($_GET[ 'fname' ]);
    if (empty($name)) {
        echo 'Ad yok';
    } else {
        echo $name;
    }
}
?>
</body>
</html>

En el ejemplo anterior, creamos un formulario que devuelve datos con el método de publicación. Lo habilitamos para devolver los datos en la misma página con $_SERVER['PHP_SELF']. Verificamos que la solicitud que viene con el superglobal $_SERVER['REQUEST_METHOD'] es una solicitud posterior. Luego, asignamos de forma segura los datos de la entrada denominada fname con el valor del nombre a la variable $name con el superglobal $_POST usando la función htmlspecialchars(). Verificamos si la variable $name está vacía o no con la condición if de PHP. Si está vacío imprimimos la salida "Sin nombre", en caso contrario imprimimos los datos de la variable $nombre.

Obteniendo datos de URL con PHP $_GET Super Global

En el siguiente ejemplo, recuperamos datos de la URL con PHP $_GET superglobal.

<!DOCTYPE html>
<html>
<body>
<a href="<?php
echo $_SERVER[ 'PHP_SELF' ] ?>?name=Onur%20Özden&website=www.onurozden.com.tr">Buraya Tıkla</a>
<?php
echo "Ben " . $_GET[ 'name' ] . " şu sitede PHP öğreniyorum: " . $_GET[ 'website' ];
?>
</body>
</html>

En el ejemplo anterior, en lugar de escribir el nombre de su archivo, obtuvimos el nombre del archivo usando el superglobal $_SERVER. Ahora expliquemos lo que hicimos en este ejemplo. Creamos un documento HTML y le dimos el parámetro de nombre al archivo get.php. Le dimos al parámetro de nombre el valor "Onur Özden" y separamos los parámetros con el signo '&'. Luego, creamos el parámetro del sitio web y le asignamos el valor "onurozden.com.tr". Imprimimos el texto "Haga clic aquí" en la etiqueta A. Al llegar a la parte de PHP, imprimimos "Mi nombre" con eco y usamos el superglobal $_GET con el operador de concatenación para recuperar e imprimir los datos del parámetro llamado nombre. Nuevamente, usando el operador de combinación, imprimimos "y mi sitio web". Usamos el operador de concatenación nuevamente y obtuvimos los datos del parámetro del sitio web con el superglobal $GET y lo imprimimos.

PHP Super Globales: $_SERVER

La superglobal $_SERVER es una variable superglobal de PHP que contiene información sobre encabezados, rutas y ubicaciones de scripts. En el siguiente ejemplo, mostramos cómo utilizar el superglobal $_SERVER.

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'];

En el ejemplo anterior, definimos variables denominadas $número1 y $número2 y les asignamos valores de tipo número. Luego, definimos una función llamada suma que devuelve un valor de tipo de datos int. Dijimos que en el superglobal $GLOBALS los nombres de las variables se mantienen como índices. Creamos la variable creando un índice llamado número3. A esta variable le asignamos la suma de la variable $number2 y la variable $number1, a la que accedimos desde el área global con el superglobal $GLOBALS. Luego devolvimos este valor con return y terminamos la función. Como último paso, generamos el valor en nuestra función add() con echo.

Todos los usos de PHP $_SERVER Super Global

$_SERVER['PHP_SELF']Devuelve el nombre de archivo del script ejecutado.
$_SERVER['GATEWAY_INTERFACE']Devuelve la versión CGI (Common Gateway Interface) utilizada por el servidor.
$_SERVER['SERVER_ADDR']Devuelve la dirección IP del servidor host.
$_SERVER['SERVER_NAME']Devuelve el nombre del servidor principal.
$_SERVER['SERVER_SOFTWARE']Devuelve el texto de identificación del servidor (como Apache/2.2.24).
$_SERVER['SERVER_PROTOCOL']Devuelve el nombre y la versión del protocolo de información (como HTTP/1.1).
$_SERVER['REQUEST_METHOD']Devuelve el método de solicitud utilizado para acceder a la página (como POST, GET).
$_SERVER['REQUEST_TIME']Devuelve la marca de tiempo del inicio de la solicitud (por ejemplo, 1377687496).
$_SERVER['QUERY_STRING']Si se accede a la página a través de una cadena de consulta, devuelve la cadena de consulta.
$_SERVER['HTTP_ACCEPT']Devuelve el encabezado de aceptación de la solicitud actual.
$_SERVER['HTTP_ACCEPT_CHARSET']Devuelve el encabezado Accept_Charset de la solicitud actual (como utf-8,ISO-8859-1).
$_SERVER['HTTP_HOST']Devuelve el encabezado del host de la solicitud actual.
$_SERVER['HTTP_REFERER']Devuelve la URL completa de la página actual (no es confiable ya que no todos los agentes de usuario la admiten).
$_SERVIDOR['HTTPS']Comprueba si el script se consulta a través de un protocolo HTTP seguro (HTTPS).
$_SERVER['REMOTE_ADDR']Devuelve la dirección IP desde la que el usuario está viendo la página actual.
$_SERVER['REMOTE_HOST']Devuelve el nombre de host desde donde el usuario está viendo la página actual.
$_SERVER['REMOTE_PORT']Devuelve el puerto utilizado en la máquina del usuario para comunicarse con el servidor web.
$_SERVER['SCRIPT_FILENAME']Devuelve la ruta absoluta del script que se está ejecutando actualmente.
$_SERVER['SERVER_ADMIN']Devuelve el valor dado a la directiva SERVER_ADMIN en el archivo de configuración del servidor web (si su script se ejecuta en un host virtual, será el valor definido para ese host virtual) (como some@onurozden.com.tr).
$_SERVER['SERVER_PORT']Devuelve el puerto en la máquina del servidor utilizado por el servidor web para la comunicación (como 80).
$_SERVER['SERVER_SIGNATURE']Devuelve la versión del servidor y el nombre de host virtual agregados a la página generada por el servidor.
$_SERVER['PATH_TRANSLATED']Devuelve la ruta basada en el sistema de archivos al script actual.
$_SERVER['SCRIPT_FILENAME']Devuelve la ruta al script actual.
$_SERVER['SCRIPT_URI']Devuelve el URI de la página actual.