Ver Mensaje Individual
  #7 (permalink)  
Antiguo 21/09/2008, 08:45
okram
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Logueo de Users

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).

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,