This commit is contained in:
2024-03-04 13:49:12 +01:00
parent ac6c9c7d8a
commit cea9405670
28 changed files with 1511 additions and 54 deletions

View File

@@ -0,0 +1,52 @@
<?php
// Sesiones en PHP
//Pasos uso de sesiones en PHP
/*
1. Identificación de sesión: se le asigna un identificador y se guarda en una cookie del navegador.
2. Almacenamiento de datos de sesión: variable superglobal $_SESSION se utiliza para acceder y modificar estos datos.
3. Inicio y cierre de sesión: Inicio de sesión session_start(). Esto inicializa o reanuda una sesión existente.
Una vez que la sesión ha comenzado, se pueden guardar y recuperar datos utilizando la superglobal $_SESSION.
Finalizar una sesión, se utiliza session_destroy(), elimina todos los datos y destruye la sesión.
4. Configuración de sesiones: configuración php.ini o mediante funciones como session_set_cookie_params().
*/
//Crear una Sesión
session_start(); // Lo primero que debe aparecer en la página
// Definir Variables
$_SESSION['nombre'] = 'Juan';
$_SESSION['apellido'] = 'Perez';
// Modificar variables
$_SESSION['apellido'] = 'Porto';
// Consultar la sesión
echo '<br>';
var_dump($_SESSION);
// Añadir variables
$_SESSION['apodo'] = 'Totoki';
// ID de sesión la indentifica
echo '<br>';
echo session_id();
echo '<br>';
var_dump($_SESSION);
// Destruir la sesión
//$_SESSION = []; // Borra las variables pero la sesión sigue activa
//session_destroy() // Finaliza la sesión y borra los datos
echo '<br>';
//var_dump($_SESSION);
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>INTRO8 PHP SESIONES</title>
</head>
<body>
<a href="INTRO8_PHP_SESIONES2.php">Continuar sesión</a>
<a href="destruir_sesion.php">Cerrar sesión</a>
</body>
</html>

View File

@@ -0,0 +1,29 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>INTRO8 PHP SESIONES2</title>
</head>
<body>
<?php
//Conectar a una Sesión
session_start();
//Añadimos una variable
$_SESSION['edad'] = '30';
// Accedo a datos de la sesión
echo $_SESSION['nombre'];
echo '<br>';
echo $_SESSION['apellido'];
echo '<br>';
echo $_SESSION['apodo'];
echo '<br>';
echo $_SESSION['edad'];
?>
</body>
</html>

View File

@@ -0,0 +1,34 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>INTRO8 PHP SESIONES3</title>
</head>
<body>
<?php
// Sesiones en PHP
// Nombrar la sesión o consultar su nombre , por defecto(PHPSESSID)
session_name("ejemplo1");// Se debe usar antes de iniciar la sesión
echo session_name();//Consultar nombre de sesión
//Parametros de la cookie de sesión
//session_set_cookie_params($lifetime, $path, $domain, $secure, $httponly);
session_set_cookie_params(
0,//Tiempo de vida de la cookie de sesión, definido en segundos.
'/',//Ruta en el servidor donde la cookie trabajará.
'www.php.net',//Dominio de la cookie, por ejemplo 'www.php.net'.
false,//Si es true la cookie sólo será enviada sobre conexiones seguras.
false // Si es false puede ser accesible por javascript.
);
session_start();//Inicio la sesión
// Para consultar los parametros de la cookie de sesión
var_dump(session_get_cookie_params());
//Borrar todos los valores de $_SESSION
//session_unset();
?>
</body>
</html>

View File

@@ -0,0 +1,44 @@
<html>
<body>
<form method="post">
<p>
<input type="text" name="usuario" placeholder="Usuario">
</p>
<p>
<input type="password" name="contraseña" placeholder="Contraseña">
</p>
<p>
<input type="submit" value="Entrar">
</p>
</form>
<?php
// Comprobamos que nos llega los datos del formulario
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
// Variables que teóricamente estarían en una base de datos o en un archivo
$usuarioBueno = 'flecha';
$contraseñaBuena = '5454';
// Variables del formulario
$usuario = isset($_POST['usuario']) ? $_POST['usuario'] : null;
$contraseña = isset($_POST['contraseña']) ? $_POST['contraseña'] : null;
// Comprobamos si los datos son correctos
if ($usuarioBueno === $usuario && $contraseñaBuena === $contraseña) {
// Si son correctos, creamos la sesión
session_start();
$_SESSION['usuario'] = $_POST['usuario'];
// Redireccionamos a la página personalizada
header('Location: perfil.php');
die();
} else {
// Si no son correctos, informamos al usuario
echo '<p style="color: red">El apodo o la contraseña es incorrecta.</p>';
}
}
?>
</body>
</html>

View File

@@ -0,0 +1,9 @@
<?php
// Iniciamos las sesiones
session_start();
// Destruimos las sesiones
session_destroy();
// Llevamos a login.php
header('Location: login.php');
// Cortamos el script
die();

View File

@@ -0,0 +1,18 @@
<?php
// Comprobamos si existe la sesión de apodo
session_start();
if (!isset($_SESSION['usuario'])) {
// En caso contrario devolvemos a la página login.php
header('Location: login.php');
die();
}
?>
<html>
<body>
<!-- Saludamos -->
<h1>Bienvenido <?php echo $_SESSION['usuario']; ?></h1>
<!-- Botón para cerrar la sesión -->
<a href="logout.php">Cerrar sesión</a>
</body>
</html>