Foros del Web » Programando para Internet » PHP »

Problema con sesiones

Estas en el tema de Problema con sesiones en el foro de PHP en Foros del Web. Hola gente, que tal, les comento que es lo que necesito. Estoy haciendo un pequeño sistema de autentificación de usuarios a traves de unos scritps ...
  #1 (permalink)  
Antiguo 15/09/2004, 05:24
 
Fecha de Ingreso: julio-2004
Mensajes: 19
Antigüedad: 20 años, 3 meses
Puntos: 0
Problema con sesiones

Hola gente, que tal, les comento que es lo que necesito.
Estoy haciendo un pequeño sistema de autentificación de usuarios a traves de unos scritps que conseguí.

Los scrips son los siguientes:

Login.php: muestro los controles para identificar usuario.
<?php require_once('Conections.php'); ?>
<?
session_start();
if(isset($SESSION)){
header("location: user.php"); // Si ha iniciado la sesion, vamos a user.php
} else {
?>

<html> <head> <title>Necesita identificación! </title> </head>
<body>
<center> <h1>Identificate! :D </h1> </center>
<form action="comprueba.php" method="POST">
Login: <input type="text" name="login"> <br>
Password: <input type="password" name="pass1"> <br>
<input type="submit" value="Entrar">
</form>
</body> </html>
<?
} /* Y cerramos el else */
?>

y el Comprueba.php: verifica que exista el usuario ingresado
<?php require_once('Conections.php'); ?>
<?
session_start();
$query="SELECT * FROM usuarios WHERE login='$login'";
$link=mysql_connect($server, $dbuser, $dbpass);
$result=mysql_db_query($database, $query, $link);
if(mysql_num_rows($result)==0){
echo "No existe el login introducido";
} else {
echo "Existe el login introducido!!!!!!!!!!!!!!!!!".$login;
$array=mysql_fetch_array($result);
if($array["password"]==$pass1){
$SESSION["login"]=$login;
$SESSION["nombre"]=$array["nombre"];
$SESSION["apellidos"]=$array["apellidos"];
session_register("SESSION");
header("location: user.php");
} else {
echo "Password incorrecto!";
} /* Cerramos este ultimo else */
} /* Cerramos el else que corresponde a la comprobación de que el login existe */

?>

Cuando el usuario ingresa su login y password todo bien, pero cuando envio los datos a comprueba.php me informa de estos warnings:

"Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at C:\Archivos de programa\Apache Group\Apache2\htdocs\Pruebas\Conections.php:6) in C:\Archivos de programa\Apache Group\Apache2\htdocs\Pruebas\comprueba.php on line 3
Existe el login introducido
Warning: Cannot modify header information - headers already sent by (output started at C:\Archivos de programa\Apache Group\Apache2\htdocs\Pruebas\Conections.php:6) in C:\Archivos de programa\Apache Group\Apache2\htdocs\Pruebas\comprueba.php on line 17"

Lo raro que despues de mostrar esto, si vuelvo para atras en el browser y actualizo me muestra correctamente:
"Bienvenido ....
Usted ha ingresado con el usuario...." (este codigo lo genera user.php)

Alguien puede saber que está sucediendo???.

Muchas gracias y saludos...

PD: perdon por la extension del mensaje, pero me pareció necesario para que se entienda cual es el problema
  #2 (permalink)  
Antiguo 15/09/2004, 05:31
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 22 años, 5 meses
Puntos: 16
Hola,

El mismo mensaje te dice la causa: mandas salida al navegador en la linea 6 de Conections.php. Yo colocaria el session_start() antes de los includes, requires y demas, en la primera linea del script.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #3 (permalink)  
Antiguo 15/09/2004, 08:27
 
Fecha de Ingreso: julio-2004
Mensajes: 19
Antigüedad: 20 años, 3 meses
Puntos: 0
gracias por tu respuesta...

A decir verdad tienes toda la razón. En el mensaje de error me lo dice, La verdad que no me dí cuenta o no presté atención.

Saludos
  #4 (permalink)  
Antiguo 23/11/2004, 10:53
Avatar de bach16  
Fecha de Ingreso: octubre-2004
Mensajes: 74
Antigüedad: 20 años, 1 mes
Puntos: 0
Yo tengo problemas con las sesiones, al momento de borrarlas...
por ejemplo ya entro un usuario, pero cuando quiero loguear con otro,
ya no puedo, por que se queda el valor que se registro anteriormente, y no se como volver a registrar otro.

Help!!
__________________
...
  #5 (permalink)  
Antiguo 23/11/2004, 11:01
 
Fecha de Ingreso: noviembre-2004
Ubicación: Oaxaca, Mexico
Mensajes: 97
Antigüedad: 20 años
Puntos: 0
Con

Session_destroy(); //destruye La Sesion
Session_unset(); //destruye Las Variables De Sesion
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:22.