20-Variables globales y superglobarles (Continuacion)

Las superglobales son variables que se acessan de todos los lados

La variable $_REQUEST es una variable que se utiliza para recuperar datos despues de enviar datos de un formulario

ejemplo de envio con la variable $_REQUEST

<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") {
  // recopilar el valor del campo de entrada
  $name = $_REQUEST['fname'];
  if (empty($name)) {
    echo "El nombe esta vacio";
  } else {
    echo $name;
  }
}
?>

</body>



...

superglobal - $_POST

La variable $_POST es una variable súper global de PHP que se utiliza para recopilar datos de formulario después de enviar un formulario HTML con método="post"

ejemplo de envio por metodo POST

<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") {
  // recopilar el valor del campo de entrada
  $name = $_POST['fname'];
  if (empty($name)) {
    echo "Nombre esta vacio";
  } else {
    echo $name;
  }
}
?>

</body>



superglobal - $_GET

La variable $_GET es una variable súper global de PHP que se utiliza para recopilar datos de formulario después de enviar un formulario HTML con método="GET".

$_GET también puede recopilar datos enviados en la URL.

Supongamos que tenemos una página HTML que contiene un hipervínculo con parámetros:

<html>
<body>

<a href="test_get.php?subject=PHP&web=frioyelectronica.blogspot.com">Test $GET</a>

</body>
</html> 

Cuando un usuario hace clic en el enlace "Test $GET", los parámetros "asunto" y "web" se envían a "test_get.php", y luego puede acceder a sus valores en "test_get.php" con $_GET.

El siguiente ejemplo muestra el código en "test_get.php":

<html>
<body>

<?php
echo "Study " . $_GET['subject'] . " at " . $_GET['web'];
?>

</body>
</html> 



Variables de session $_SESIÓN

La variable de session $_SESIÓN Una sesión es un mecanismo para persistir información en diferentes páginas web para identificar usuarios mientras estos navegan un sitio o app

Para iniciar una variable de session se tiene que inicializar con session_start

Ejemplo

<?php
// start a session
session_start();
 
// manipulate session variables
?>

Si existe la necesidad de usar sesiones a lo largo de toda tu aplicación, también puedes optar por iniciar la sesión automáticamente sin necesidad de usar la función session_start.

Hay una opción el el archivo de configuración php.ini que te permite iniciar una sesión automáticamente para cada petición session.auto_start.

Por defecto, está fijada a 0, pero puedes fijarla a 1 para activar la función de auto inicio.

Por otro lado, si no tienes acceso al fichero php.ini, y estás usando el servidor web Apache, puedes fijar esta variable usando el fichero .htaccess.


php_value session.auto_start 1

el servidor crea un número único para cada nueva sesión.

Si quieres obtener el identificador de sesión, puedes usar la función session_id, como muestra el siguiente fragmento de código:


<?php
session_start();
echo session_id();
?>
    

Si quieres reemplazar el identificador de sesión generado por el sistema por el tuyo propio, puedes suministrarlo como el primer argumento de la función session_id.


<?php
session_id(YOUR_SESSION_ID);
session_start();
?>
    

Crear variables de session

una vez que una sesión es iniciada, el array super-global $_SESSION es inicializado con la correspondiente información de sesión.

Por defecto, se inicializa con un array vacío, y puedes almacenar más información usando un par clave-valor.

Veamos el siguiente script de ejemplo que muestra cómo inicializar las variables de sesión.

<?php
// start a session
session_start();
 
// initialize session variables
$_SESSION['logged_in_user_id'] = '1';
$_SESSION['logged_in_user_name'] = 'Tutsplus';
 
// access session variables
echo $_SESSION['logged_in_user_id'];
echo $_SESSION['logged_in_user_name'];
?>

Para modificar una variable de session, procedemos de la seguiente forma:

        <?php
        session_start();
         
        if (!isset($_SESSION['count']))
        {
          $_SESSION['count'] = 1;
        }
        else
        {
          ++$_SESSION['count'];
        }
         
        echo $_SESSION['count'];
        ?>
    

si desearas borrar una variable de sesión, puedes usar la función unset

<?php
// start a session
session_start();
 
// initialize a session variable
$_SESSION['logged_in_user_id'] = '1';
 
// unset a session variable
unset($_SESSION['logged_in_user_id']);
?>

Destruir variables de session

eliminar variables de sesión específicas se usa la function "unset"

si quieres eliminar toda la información relacionada con la sesión, puedes usar la función session_destroy.

<?php
// start a session
session_start();
 
// assume that we’ve initialized a couple of session variables in the other script already
 
// destroy everything in this session
session_destroy();
?>




Publicar un comentario

0 Comentarios