Tutorial PHP

PHP INICIO Introducción PHP Instalación de PHP Sintaxis PHP Comentarios PHP Variables PHP PHP Echo / Imprimir Tipos de datos PHP Cadenas PHP Números PHP Matemáticas PHP Constantes PHP Operadores PHP PHP Si... Más... Elseif Cambio de PHP Bucles de PHP Funciones PHP Matrices de PHP Superglobales de PHP PHP expresión regular

Formularios PHP

Manejo de formularios PHP Validación de formulario PHP Formulario PHP requerido Formulario PHP URL/Correo electrónico Formulario PHP completo

PHP Avanzado

Fecha y hora PHP PHP Incluir Manejo de archivos PHP Archivo PHP Abrir/Leer Archivo PHP Crear/Escribir Carga de archivos PHP Cookies PHP Sesiones PHP Filtros PHP Filtros PHP avanzados Funciones de devolución de llamada de PHP PHPJSON Excepciones de PHP

POO de PHP

PHP ¿Qué es la programación orientada a objetos? Clases PHP/Objetos Constructor PHP Destructor PHP Modificadores de acceso de PHP Herencia de PHP Constantes PHP Clases abstractas de PHP Interfaces PHP Características de PHP Métodos estáticos de PHP Propiedades estáticas de PHP Espacios de nombres de PHP Iterables de PHP

Base de datos MySQL

Base de datos MySQL Conexión MySQL MySQL Crear base de datos Crear tabla MySQL MySQL Insertar datos MySQL Obtener la última identificación MySQL Insertar Múltiples MySQL preparado Datos seleccionados de MySQL mysql donde MySQL Ordenar por MySQL Eliminar datos Datos de actualización de MySQL Límite de datos de MySQL

PHPXML _

Analizadores PHP XML Analizador PHP SimpleXML PHP SimpleXML - Obtener PHP XML Expatriados PHP XML DOM

PHP -AJAX

Introducción a AJAX AJAXPHP Base de datos AJAX XML AJAX Búsqueda en vivo de AJAX Encuesta AJAX

Ejemplos de PHP

Ejemplos de PHP Compilador PHP Cuestionario de PHP Ejercicios PHP Certificado PHP

Referencia PHP

Descripción general de PHP Matriz de PHP Calendario PHP Fecha PHP Directorio PHP Error PHP Excepción PHP Sistema de archivos PHP Filtro PHP PHPFTP PHPJSON Palabras clave PHP PHP Libxml Correo PHP Matemáticas PHP PHP misceláneo PHP MySQLi Red PHP Control de salida de PHP PHP expresión regular PHP SimpleXML flujo PHP Cadena PHP Manejo de variables de PHP Analizador PHP XML código postal de PHP Zonas horarias de PHP

Sesiones PHP


Una sesión es una forma de almacenar información (en variables) para usarla en varias páginas.

A diferencia de una cookie, la información no se almacena en la computadora de los usuarios.


¿Qué es una sesión de PHP?

Cuando trabaja con una aplicación, la abre, hace algunos cambios y luego la cierra. Esto es muy parecido a una sesión. La computadora sabe quién eres. Sabe cuándo inicia la aplicación y cuándo finaliza. Pero en Internet hay un problema: el servidor web no sabe quién eres ni qué haces, porque la dirección HTTP no mantiene el estado.

Las variables de sesión resuelven este problema al almacenar información del usuario para usarla en varias páginas (por ejemplo, nombre de usuario, color favorito, etc.). De forma predeterminada, las variables de sesión duran hasta que el usuario cierra el navegador.

Entonces; Las variables de sesión contienen información sobre un solo usuario y están disponibles para todas las páginas en una aplicación.

Sugerencia: si necesita un almacenamiento permanente, es posible que desee almacenar los datos en una base de datos .


Iniciar una sesión de PHP

Se inicia una sesión con la session_start()función.

Las variables de sesión se establecen con la variable global de PHP: $_SESSION.

Ahora, creemos una nueva página llamada "demo_session1.php". En esta página, comenzamos una nueva sesión de PHP y configuramos algunas variables de sesión:

Ejemplo

<?php
// Start the session
session_start();
?>
<!DOCTYPE html>
<html>
<body>

<?php
// Set session variables
$_SESSION["favcolor"] = "green";
$_SESSION["favanimal"] = "cat";
echo "Session variables are set.";
?>

</body>
</html>

Nota: Lasession_start()función debe ser lo primero en su documento. Antes de cualquier etiqueta HTML.



Obtener valores de variables de sesión de PHP

A continuación, creamos otra página llamada "demo_session2.php". Desde esta página, accederemos a la información de la sesión que configuramos en la primera página ("demo_session1.php").

Tenga en cuenta que las variables de sesión no se pasan individualmente a cada página nueva, sino que se recuperan de la sesión que abrimos al principio de cada página ( session_start()).

Observe también que todos los valores de las variables de sesión se almacenan en la variable global $_SESSION:

Ejemplo

<?php
session_start();
?>
<!DOCTYPE html>
<html>
<body>

<?php
// Echo session variables that were set on previous page
echo "Favorite color is " . $_SESSION["favcolor"] . ".<br>";
echo "Favorite animal is " . $_SESSION["favanimal"] . ".";
?>

</body>
</html>

Otra forma de mostrar todos los valores de las variables de sesión para una sesión de usuario es ejecutar el siguiente código:

Ejemplo

<?php
session_start();
?>
<!DOCTYPE html>
<html>
<body>

<?php
print_r($_SESSION);
?>

</body>
</html>

¿Como funciona? ¿Cómo sabe que soy yo?

La mayoría de las sesiones configuran una clave de usuario en la computadora del usuario que se parece a esto: 765487cf34ert8dede5a562e4f3a7e12. Luego, cuando se abre una sesión en otra página, escanea la computadora en busca de una clave de usuario. Si hay una coincidencia, accede a esa sesión, si no, inicia una nueva sesión.


Modificar una variable de sesión de PHP

Para cambiar una variable de sesión, simplemente sobrescríbala:

Ejemplo

<?php
session_start();
?>
<!DOCTYPE html>
<html>
<body>

<?php
// to change a session variable, just overwrite it
$_SESSION["favcolor"] = "yellow";
print_r($_SESSION);
?>

</body>
</html>

Destruir una sesión de PHP

Para eliminar todas las variables de sesión globales y destruir la sesión, use session_unset() y session_destroy():

Ejemplo

<?php
session_start();
?>
<!DOCTYPE html>
<html>
<body>

<?php
// remove all session variables
session_unset();

// destroy the session
session_destroy();
?>

</body>
</html>

Ejercicios PHP

Ponte a prueba con ejercicios

Ejercicio:

Cree una variable de sesión llamada "favcolor".

session_start();
["favcolor"] = "green";