session_start() sirve para iniciar una
sesión dentro del servidor. Si tu usuario se identifica en tu sitio, puedes crear una
variable de sesión, la cuál será propagada a las distintas páginas por medio de la sesión que creaste usando
session_start(). No confundas los términos. Una sesión hablando en términos de PHP es un "método" del que dispones para guardar datos propios de cada visitante. Para ello cada visitante (independientemente de si está identificado en tu sitio o no) tiene un id único (
session_id()) que lo distingue de los demás. La sesión se crea cuando abres el sitio (siempre que el sitio la inicie utilizando
session_start()
y termina cuando el usuario visitante cierra la ventaa de su navegador.
Ahora, para tener un sistema de usuarios con sesiones, es necesario que tu sitio inicie una sesión para cada visitante. Si el usuario se ha identificado con un nombre de usuario y una contraseña, tú puedes crear una
variable de sesión, indicando al servidor que el visitante está identificado. Para verificar esto, sólo tendrías que comprobar en cada página que dicha variable de sesión existe. Si no existe tu usuareio es anónimo, aunque obviamente existe su sesión activa.
Al crearse una sesión se crea una única cookie del lado del servidor (si la propagación está definida por cookies) que contiene el id único de la sesión. Los datos que contenga esta sesión (las variables de sesión) son guardadas en el servidor, y rescatadas usando la cookie con el id de sesión en el cliente. La cookie se destruye al cerrar el navegador, por lo tanto, el riesgo de que alguien extraño sepa el id de la sesión de otra persona y lo use para obtener sus datos es mínimo (aunque existe). La otra forma de propagar las sesiones es por la URL. En este caso no se generan cookies, sino que el id de sesión se transmite por las URLs y los links de tu sitio. Este método es menos seguro, pues el id de sesión está expuesto a todo el mundo (en sentido figurado
![apachar ojo](http://static.forosdelweb.com/fdwtheme/images/smilies/wink.png)
).
Es un poco confuso, pero hay FAQs al respecto en este foro:
Qué es una sesión en PHP? Cómo guardo y leo una variable de sesión?
En google:
php+sistema de usuarios
Saludos,