Portada » Lenguaje PHP » Crear Sesiones en PHP: Ejemplo completo

Crear Sesiones en PHP: Ejemplo completo

Crear Sesiones en PHP. En en lenguaje PHP, las sesiones se crean mediante el uso de la función session_start(). Las sesiones son muy usadas en el mundo del internet y nos sirven para almacenar datos. Sin embargo, estas son recordadas en otras páginas sin necesidad de volver a solicitarlos.

Esto permite crear sesiones personalizadas para cada usuario que accede a nuestra página web. Las Sesiones permiten almacenar datos en un arreglo llamado $_SESSION que estará activo y accesible para todas las páginas que tú quieras darle tu sesión.

Las creaciones de sesiones son muy sencillas, podemos crearlo mediante variables, es decir asignarlo directamente de manera manual o mediante el uso de formularios HTML.

Crear Sesiones en PHP: Ejemplo completo

En PHP, las sesiones se crean usando la función session_start(). Puedes ver el ejemplo en funcionamiento en el siguiente enlace:

Ver Demo

¿Qué requisitos necesito para crear sesiones?

Necesitamos algunos recursos que está disponible en nuestro servidor web. Como ser:

¿Cómo funciona las sesiones en PHP?

Para darle una respuesta realizaremos una comparativa con las variables y poder entender cómo funciona las sesiones en PHP.

a) Haciendo uso de las variables.

La imagen que a continuación mostramos, está haciendo uso de las variables para obtener la información e imprimirlas mediante echo. Por lo tanto, si deseamos imprimir en otro fichero nos mostrara un error tipo NOTICE porque la variable no está definida. A continuación, un ejemplo.

Usando variables PHP
Usando variables PHP

b) Haciendo uso de las sesiones PHP

En este segundo ejemplo estamos haciendo uso de las sesiones. Primeramente, creando la sesión para luego ser llamado desde diferentes archivos simplemente asignado session_start(); al fichero que deseamos mostrar la información. A continuación, un ejemplo.

Usando Sesiones PHP
Usando Sesiones PHP

Ustedes saquen sus conclusiones a la hora de utilizar esta estrategia de programación. La recomendación es el uso de las sesiones y son muy fáciles de crear.

Diferencias entre Sesiones y Cookies

Muchos programadores confunden las sesiones con las cookies del navegador. Veamos algunas diferencias.

a) Cookies:

  • Las cookies nos permiten guardar información en el navegador web haciendo uso de (nombre=valor), esta información son enviados al servidor en cada petición.
  • En pocas palabras las cookies es un método que permite guardar información en el disco duro del ordenador (cliente) para recuperarla más adelante.
  • Ahora, hablando de seguridad, los usos de cookies no son recomendadas para almacenar información sensible puesto que es información enviada por el cliente (y puede ser alterada por terceros) y cualquier dato importante debe ser siempre tratado con la mayor seguridad posible.

b) Sesiones

  • Por otro lado, en las sesiones es diferente, la información se crea y se mantiene en el servidor hasta que se cierra la sesión, esto puede ocurrir por intervención del usuario o por tiempo de expiración designada.
  • Una sesión en PHP (al igual que una cookie) crea un archivo y se almacena en el ordenador tipo servidor.
  • El archivo temporal se determina en la configuración del fichero php.ini, a través de session.save_path.

EJEMPLO COMPLETO PARA CREAR SESIONES

Vamos a crear un formulario de inicio de sesión, será un formulario muy simple, pero dejará claro lo importante que son las sesiones en PHP, este ejemplo consta de 3 páginas PHP:

  • Login.php – En esta página mostrara el formulario para iniciar sesión por parte del usuario.
  • PanelControl.php – Este fichero será visible si el usuario se ha logueado correctamente y podrá acceder a recursos importantes.
  • CerrarSesion.php – Esta página será el encargado de destruir la sesión (cerrar sesión).

Contenido de ficheros para el ejemplo

Login.php

Mostrará el formulario HTML para crear la sesión.

<?php session_start(); ?>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8"/>
<title>Login.php</title>
</head>
<body>
<?php
if(isset($_SESSION['nombre'])){
echo "<p>Has iniciado sesion como: " . $_SESSION['nombre'] . "";
echo "<p><a href='CerrarSesion.php'>Cerrar Sesion</a></p>";
echo "<br><p><a href='PanelControl.php'>Ir al panel de control</a>";
}else {
?>
<h2>Creando la sesion</h2>
<form action="PanelControl.php" method="POST">
<p>Nombres:</p>
<p><input type="text" placeholder="Ingrese su Nombre" name="nombre" required/></p>
<p><input type="submit" value="Crear Sesion" /></p>
</form>
<?php
}
?>

</body>
</html>

PanelControl.php

Si la sesión existe, este fichero mostrara contenido sensible para el usuario autorizado.

<?php session_start();?>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8"/>
<title>Panel Control</title>
</head>
<body>
<h2>La sesion creada correctamente</h2>
<p>
<?php
if(isset($_POST['nombre'])){
$_SESSION['nombre'] = $_POST['nombre'];
echo "Bienvenido! Has iniciado sesion como:<b> ".$_POST['nombre']."</b>";
}else{
if(isset($_SESSION['nombre'])){
echo "Has iniciado Sesion como: ".$_SESSION['nombre'];
}else{
	// Si la sesion expiro o no se creo  mostraremos el siguiente mensaje
echo "Acceso Restringido";
}
}
?></p>
<br>
<p><a href="Login.php">Ir a la página inicial</a></p>
<br>
<p><a href='CerrarSesion.php'>Cerrar Sesion</a></p>
</body>
</html>

CerrarSesion.php

Fichero muy importante y se encargara de destruir la sesión para no dejar huellas.

<?php
// Mostramos la sesion
session_start();
//Distruimos la sesion
session_destroy();
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8"/>
<title>Cerrar Sesion</title>
</head>
<body>
<h2>Has Cerrado Sesion correctamente</h2>
<br/>
<p><a href="Login.php">Ir al Login</a></p>
</body>
</html>
Crear Sesiones en PHP Ejemplo completo
Crear Sesiones en PHP Ejemplo completo

DESCARGAR EJEMPLO COMPLETO

Les dejare un fichero comprimido para que descarguen y lo implementen.

Ver Demostración

Ver Demo

CONCLUSIÓN

Con esta breve explicación ya conocemos lo que son sesiones y como funciona en el mundo de los sistemas y páginas web.
También, hemos visto las diferencias entre sesiones y cookies. Espero que les sirva para que implemente en sus sistemas web.

¿De cuánta utilidad te ha parecido este contenido?

¡Haz clic en una estrella para puntuarlo!

Promedio de puntuación 5 / 5. Recuento de votos: 1

Hasta ahora, ¡no hay votos!. Sé el primero en puntuar este contenido.

Scroll al inicio
Esta web utiliza cookies propias para su correcto funcionamiento. Contiene enlaces a sitios web de terceros con políticas de privacidad ajenas que podrás aceptar o no cuando accedas a ellos. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos.
Privacidad