PHP | superglobales

Ya hemos discutido sobre variables y variables globales en PHP en la publicación PHP | Variables y tipos de datos . En este artículo, aprenderemos sobre superglobales en PHP.

Estas son variables de array especialmente definidas en PHP que facilitan la obtención de información sobre una solicitud o su contexto. Los superglobales están disponibles a lo largo de su secuencia de comandos. Se puede acceder a estas variables desde cualquier función, clase o archivo sin realizar ninguna tarea especial, como declarar una variable global, etc. Se utilizan principalmente para almacenar y obtener información de una página a otra, etc. en una aplicación. 

A continuación se muestra la lista de variables superglobales disponibles en PHP: 

  1. $GLOBALES
  2. $_SERVIDOR
  3. $_SOLICITUD
  4. $_GET
  5. $_POST
  6. $_SESIÓN
  7. $_COOKIE
  8. $_ARCHIVOS
  9. $_ENV

Ahora aprendamos en detalle algunas de estas superglobales:  

  • $GLOBALS : es una variable superglobal que se utiliza para acceder a variables globales desde cualquier lugar del script PHP. PHP almacena todas las variables globales en la array $GLOBALS[] donde el índice contiene el nombre de la variable global, al que se puede acceder.
    El siguiente programa ilustra el uso de $GLOBALS en PHP: 

PHP

<?php
$x = 300;
$y = 200;
 
function multiplication(){
    $GLOBALS['z'] = $GLOBALS['x'] * $GLOBALS['y'];
}
 
multiplication();
echo $z;
?>

Producción : 

60000

En el código anterior, se declaran dos variables globales $x y $y , a las que se les asigna algún valor. Luego se define una función multiplication() para multiplicar los valores de $x y $y y almacenarlos en otra variable $z definida en el arreglo GLOBAL .

  • $_SERVER : es una variable súper global de PHP que almacena la información sobre encabezados, rutas y ubicaciones de scripts. Algunos de estos elementos se utilizan para obtener la información de la variable superglobal $_SERVER.
    El siguiente programa ilustra el uso de $_SERVER en PHP: 

PHP

<?php
echo $_SERVER['PHP_SELF'];
echo "<br>";
echo $_SERVER['SERVER_NAME'];
echo "<br>";
echo $_SERVER['HTTP_HOST'];
echo "<br>";
echo $_SERVER['HTTP_USER_AGENT'];
echo "<br>";
echo $_SERVER['SCRIPT_NAME'];
echo "<br>"
?>

Producción : 

En el código anterior, usamos los elementos $_SERVER para obtener información. Obtenemos el nombre del archivo actual en el que se trabaja usando el elemento ‘PHP_SELF’. Luego obtenemos el nombre del servidor utilizado actualmente usando el elemento ‘SERVER_NAME’. Y luego obtenemos el nombre de host a través de ‘HTTP_HOST’.

  • $_REQUEST : es una variable superglobal que se utiliza para recopilar los datos después de enviar un formulario HTML. $_REQUEST no se usa principalmente, porque $_POST y $_GET realizan la misma tarea y se usan mucho.
    A continuación se muestra el código HTML y PHP para explicar cómo funciona $_REQUEST: 

HTML

<!DOCTYPE html>
<html>
<body>
 
<form method="post" action="<?php echo $_SERVER['PHP_SELF'];?>">
 NAME: <input type="text" name="fname">
 <button type="submit">SUBMIT</button>
</form>
<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
    $name = htmlspecialchars($_REQUEST['fname']);
    if(empty($name)){
        echo "Name is empty";
    } else {
        echo $name;
    }
}
?>
</body>
</html>

Producción : 

En el código anterior, hemos creado un formulario que toma el nombre como entrada del usuario e imprime su nombre al hacer clic en el botón Enviar. Transportamos los datos aceptados en el formulario a la misma página usando el elemento $_SERVER[‘PHP_SELF’] como se especifica en el atributo de acción, porque manipulamos los datos en la misma página usando el código PHP. Los datos se recuperan utilizando la variable de array superglobal $_REQUEST

  • $_POST : es una variable súper global utilizada para recopilar datos del formulario HTML después de enviarlo. Cuando el formulario usa el método de publicación para transferir datos, los datos no son visibles en la string de consulta, por lo que se mantienen los niveles de seguridad en este método.
    A continuación se muestra el código HTML y PHP para explicar cómo funciona $_POST: 

HTML

<!DOCTYPE html>
<html>
<body>
  
<form method="post" action="<?php echo $_SERVER['PHP_SELF'];?>">
 <label for="name">Please enter your name: </label>
 <input name="name" type="text"><br>
 <label for="age">Please enter your age: </label>
 <input name="age" type="text"><br>
 <input type="submit" value="Submit">
 <button type="submit">SUBMIT</button>
</form>
<?php
$nm=$_POST['name'];
$age=$_POST['age'];
echo "<strong>".$nm." is $age years old.</strong>";
?>
</body>
</html>

Producción : 

En el código anterior, hemos creado un formulario que toma el nombre y la edad del usuario y accede a los datos usando la variable súper global $_POST cuando envían los datos. Dado que cada variable superglobal es una array, puede almacenar más de un valor. Por lo tanto, recuperamos el nombre y la edad de la variable $_POST y los almacenamos en las variables $nm y $age.

  • $_GET : $_GET es una variable súper global utilizada para recopilar datos del formulario HTML después de enviarlo. Cuando el formulario usa el método get para transferir datos, los datos son visibles en la string de consulta, por lo tanto, los valores no están ocultos. La variable de array súper global $_GET almacena los valores que vienen en la URL.
    A continuación se muestra el código HTML y PHP para explicar cómo funciona $_GET: 

HTML

<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body bgcolor="cyan">   
    <?php
        $name = $_GET['name'];
        $city = $_GET['city'];
        echo "<h1>This is ".$name." of ".$city."</h1><br>";
    ?>
    <img src = "2.jpg" alt = "nanilake" height = "400" width="500" />
</body>
</html>

En realidad, estamos viendo la mitad de la lógica en este momento. En el código anterior, hemos creado una imagen de hipervínculo de Nainital Lake que nos llevará a la página picture.php y con ella también tomará los parámetros name=”Nainilake” y city=”Nainital” .
Es entonces cuando hacemos clic en la imagen pequeña de Nainital Lake, seremos llevados a la página siguiente picture.php junto con los parámetros. Dado que el método predeterminado es obtener, estos parámetros se pasarán a la página siguiente utilizando el método de obtención y estarán visibles en la barra de direcciones. Cuando queremos pasar valores a una dirección, se adjuntan a la dirección mediante un signo de interrogación (?).

Aquí el parámetro name=Nainilake se adjunta a la dirección. Si queremos agregar más valores, podemos agregarlos usando el símbolo de y comercial (&) después de cada par clave-valor de manera similar a como se agrega city=Nainital usando el símbolo de y comercial después del parámetro de nombre. Ahora, después de hacer clic en la imagen de Nainital Lake, queremos que se muestre la página picture.php con el valor del parámetro junto con ella.
 

Publicación traducida automáticamente

Artículo escrito por MrinalVerma y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *