¿Qué es una sesion?En lo que sería el área de programación web, una sesión se refiere a la interacción entre página>usuario asignando está un identificador único al usuario, haciendo uso de estas sesiones, lograrémos hacer un seguimiento del usuario durante toda la navegación en nuestra página.
¿Por qué creo que son mejores las sesiones que las cookies?Fácil, ya que las cookies se pueden tener habilitadas en los navegadores web, ¿Pero qué pasa si no las tengo activadas? Pues perderíamos el rastro de la navegación del usuario, cuando las sesiones estarán fijas hasta que las cerremos.
¿Como iniciar una sesión?Con el código "session_start()" que si no existe la sesión la crea, y si existe obviamente la retoma. Ahi varias variables en esto de iniciar una sesión ya que se le puede asignar un nombre o inclusive registrarla con cierto nombre, algo así:
<?php
You are not allowed to view links.
Register or
Login(); // Creamos la sesiónYou are not allowed to view links.
Register or
Login("tu_sesion"); // Registramos una sesión en específicoYou are not allowed to view links.
Register or
Login("tu_sesion"); // Nombramos la sesión?>
¿Como saber el identificador de una sesión?Pues nada mas y nada menos que con:
<?php
echo "El ID de esta sesión es: ".You are not allowed to view links.
Register or
Login(); // El ID de esta sesión es: 0s542sd4455532s56543432545 // Dependiendo de la sesión.
?>
Al cerrar la sesión y crear una nueva el identificador cambiará.
¿Como poner sesión dependiendo la acción?Un ejemplo casero de login sería el formulario así:
<You are not allowed to view links.
Register or Login><You are not allowed to view links.
Register or Login action="" method="POST"> Nombre:
<You are not allowed to view links.
Register or Login type="text" name="nombre" id="nombre><br><!-- Casilla de texto llamada nombre -->Clave:
<You are not allowed to view links.
Register or Login type="password" name="pass" id="pass"><You are not allowed to view links.
Register or Login><!-- Casilla de password llamada pass --><You are not allowed to view links.
Register or Login type="submit" name="submit" value="Entrar"><!-- El boton que enviara el form -->
Y en el mismo archivo le pondrémos esto:
<?php
if (You are not allowed to view links.
Register or
Login($_POST['nombre'])){ if($_POST['nombre'] == "Xt3mP" && $_POST['pass'] == "clave"){
$_SESSION['logeado'] = "SI";
$_SESSION['user'] = $_POST['nombre'];
echo "Bienvenido ".$_SESSION['user'];
}else{
echo "Los datos son incorrectos";
}
}// Cierre del isset
?>
En el código anterior indicamos que $_SESSION['logeado'] tiene el valor de SI y $_SESSION['user'] tiene el valor del usuario que en este caso es Xt3mP.
Error común.Warning: Cannot send session cookie - headers already sent by (output started at /home/formulario.php:2) in /home/formulario.php on line 10
Aquí este error es por sintáxis, osea algúna línea en blanca ó por ejemplo, escribir algo antes de la etiqueta PHP en donde hacemos la sesión, para evitar esto borrémos líneas en blanco y agregemos al principio de todo esto:
Eliminar sesiones.Esto es lo mas sencillo ya que lo hacemos así:
Aquí eliminamos las sesiones que estén activas, y para eliminar una sesión registrada harémos lo siguiente:
<?php
You are not allowed to view links.
Register or
Login(); // En donde el nombre de sesion va entre ( y )?>
Esto es un poco acerca de las sesiones en un ambiente laboral básico, espero le entiendan.