Sesiones en PHP

Alguien sabe como puedo implementar variables de sesión en una página en php

1 respuesta

Respuesta
1
Te iba a recomendar la sección del manual del PHP donde hablan de sessions... pero no está traducida esa parte al Castellano.
Una Sesión, es el tiempo que tarda una persona, visitando nuestro sitio. Durante ese tiempo, puede visitar 1 o varias páginas, y la idea de "mantener sesión" es la de reconocer individualmente a esos usuarios.
Para comenzar una sesión, en PHP, lo único que tienes que hacer, arriba de cada PHP que uses y ANTES de enviar cualquier contenido al navegador (funcionan como las cookies), debes incorporar :
session_start();
Con ello estás "abriendo" una sesión. Si haces esto mismo por cada página de tu sitio, PHP sabrá que este usuario viene de una página anterior. La gran idea detrás de las sesiones, son las "Variables de Sesión", las cuales "registras" y puedes utilizarlas de página en página. Para registrar una variable de sesión, puedes hacer algo así:
$variable = "Nombre_de_USUARIO";
$session_register("variable"); // Pero NO ("$variable"), no lo olvides.
Al registrar una variable.. ya puedes utilizarla en todas las páginas que la persona que se encuentre dentro de SU sesión visite. Digamos que el session_start y el session_register lo hiciste en la 1º página. Luego, en la 2º, tan solo prueba hacer:
session_start();
echo $HTTP_SESSION_VARS["variable"];
Se imprimirá "nombre_de_USUARIO".
Eso es más o menos lo que hay detrás de las variables de sesión, Si tienes más dudas al respecto, tan solo preguntame.
webstudio me contestó muy bien pero todavía tengo dudas, digamos que tengo un sitio para administrar usuarios, bien lo implemento con variables de session, (por ejemplo que tenga cuatro páginas: index.php admon.php users.php salir.php) ¿Cómo hago para que cuando yo le dé en el explorador admon.php no me le deje ver sin pasar por index.php?
Le agradezco la colaboración
Para responder puntualmente a tu pregunta, te comento que lo ideal para hacer eso, es consultar dentro de cada página que tienes en tu sitio:
1) Si existe una sesión balda ya creada. En caso contrario, reenviar al usuario a la página de login (index.php en tu caso).
2) En el caso de que exista una sesión creada, verificar si el usuario "logado" tiene permisos para estar dentro de esta sección del sitio.
Para el primer punto, existe una función, session_is_registered("variable"); que devuelve True si la variable $variable está registrada en la función. Entonces, para redirigir a alguien, puedes hacer lo siguiente:
if (!session_is_registered("variable"))
Header("Location: index.php");
Lo cual redirigirá a un usuario a index.php si no hay una variable de sesión registrada.
Para el segundo punto, ya no puedo ayudarte, porque depende mucho del tipo de estrategia implementada para la seguridad de tu sitio.
Bueno.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas