Tema: sesiones
Ver Mensaje Individual
  #1 (permalink)  
Antiguo 10/10/2004, 09:28
cnyx
 
Fecha de Ingreso: abril-2004
Ubicación: Valencia
Mensajes: 436
Antigüedad: 20 años
Puntos: 8
sesiones

Buenas, como he dicho por algun otro post, soy bastante nuevo en la programacion en php y diseño web en general. Hace poco me estuve leyendo un libro de php que es lo que me animo para empezar. Me intereso particularmente el tema de las sesiones, pero la verdad es que me quedaron bastante dudas. Quisiera saber si esta es la forma correcta de hacer las cosas:

Tengo en la base de datos una tabla con los datos de los usuarios, entre ellos nombre y contraseña. Pues bien al rellenar los campos para logearse, se consulta la base de datos y si los datos son buenos se ejecutan las siguientes dos instrucciones (entre otras):
Código:
session_start()
y:
Código:
$_SESSION["logeado"]="si"
De modo que creo una variable de sesion que dice si el usuario ya se ha logeado.

Entonces si no entendi mal de lo que lei, cada vez que el usuario desea acceder a una seccion restringida, habria que volver a ejecutar la instruccion:
Código:
session_start();
Y una vez hecho esto podria comprobar si $logeado=="si" con un if para dejarle acceder o no.

Es esta la forma de hacerlo?

Si es asi, me surge un error. En el menu tengo los dos campo para que el usuario se logee, quisiera que inicialmente cuando el usuario entre en la pagina, le aparezca el formulario para logearse en el menu, pero que una vez logeado, al cargar el menu ya no cargue este formulario sino datos relacionados con el usuario. Para ello en esa parte del menu pongo:
Código:
session_start()
y luego:
Código:
if($_SESSION["logeado"]=="si").......
Para que dependiendo de si el valor de $logeado es "si" o otro haga una cosa u otra.
Bueno pues al logearme en la pagina, me aparece el menu con un error que no acabo de entender y que pongo aqui:

Warning: session_start(): Cannot send session cookie - headers already sent by (output started at /home/webcindario/gentux/content2.txt:31) in /home/webcindario/gentux/menu.php on line 20

A ver si alguien me puede aclarar un poco todo esto y responder a las diferentes preguntas que he hecho.

Por cierto lo de session_start(); hay que ejecutarlo para iniciar una nueva o para recuperar una ya existente no???

gracias de antemano.
saludos.