Foros del Web » Programando para Internet » PHP »

Manejo De Sesiones

Estas en el tema de Manejo De Sesiones en el foro de PHP en Foros del Web. HOLA A TODOS.ESPERO CONTAR UNA VEZ MAS CON SU VALIOSA AYUDA PARTE DE MI CODIGO ES: session_name(); session_start(); session_register("USER_ID"); session_encode(); $url="Location:login1.php?PHPSESSID=".$PHPSESSID; header($url); OBTENGO EL SIGUIENTE ...
  #1 (permalink)  
Antiguo 25/04/2007, 13:54
 
Fecha de Ingreso: octubre-2006
Mensajes: 79
Antigüedad: 17 años, 7 meses
Puntos: 0
Manejo De Sesiones

HOLA A TODOS.ESPERO CONTAR UNA VEZ MAS CON SU VALIOSA AYUDA


PARTE DE MI CODIGO ES:
session_name();
session_start();
session_register("USER_ID");
session_encode();
$url="Location:login1.php?PHPSESSID=".$PHPSESSID;
header($url);



OBTENGO EL SIGUIENTE ERROR, Y NO SE PORQUE????
Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at C:\Servidor\WEB\CAJAWEB21\login.php:14) in C:\Servidor\WEB\CAJAWEB21\login.php on line 54

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at C:\Servidor\WEB\CAJAWEB21\login.php:14) in C:\Servidor\WEB\CAJAWEB21\login.php on line 54

Warning: Cannot modify header information - headers already sent by (output started at C:\Servidor\WEB\CAJAWEB21\login.php:14) in C:\Servidor\WEB\CAJAWEB21\login.php on line 58
  #2 (permalink)  
Antiguo 25/04/2007, 14:04
Avatar de @ndreX!  
Fecha de Ingreso: abril-2007
Mensajes: 161
Antigüedad: 17 años
Puntos: 4
Re: Manejo De Sesiones

Antes de todo osea despues del <? lo que debe de ir es session_start();

Saludos.
  #3 (permalink)  
Antiguo 25/04/2007, 14:07
Avatar de el cirujano  
Fecha de Ingreso: mayo-2003
Ubicación: Frente al PC
Mensajes: 609
Antigüedad: 21 años
Puntos: 3
Re: Manejo De Sesiones

tienes que verificar que no tengas ni ECHO ni PRINT antes del HEADER...

tu HEADER deberia ser asi:

Código PHP:
header("Location: login1.php?PHPSESSID=".$PHPSESSID); 
__________________
CSS2 + AJAX + PHP + MySQL, una mezcla sin competencia!!!!!!
  #4 (permalink)  
Antiguo 25/04/2007, 14:09
Avatar de el cirujano  
Fecha de Ingreso: mayo-2003
Ubicación: Frente al PC
Mensajes: 609
Antigüedad: 21 años
Puntos: 3
Re: Manejo De Sesiones

para mi querido @ndreX! lee este manual
__________________
CSS2 + AJAX + PHP + MySQL, una mezcla sin competencia!!!!!!
  #5 (permalink)  
Antiguo 25/04/2007, 14:16
 
Fecha de Ingreso: octubre-2006
Mensajes: 79
Antigüedad: 17 años, 7 meses
Puntos: 0
Re: Manejo De Sesiones

Con Todas Y Esas Modificaciones Sigue Saliendo El Mismo Mensaje¡¡¡¡
  #6 (permalink)  
Antiguo 25/04/2007, 14:25
Avatar de @ndreX!  
Fecha de Ingreso: abril-2007
Mensajes: 161
Antigüedad: 17 años
Puntos: 4
Re: Manejo De Sesiones

Perdón.... Gracias por mi corrección.

Puedes mostrar todo el codigo de login.php

Como decia el cirujano, no debes de mandar a pantalla nada antes del header().

Saludos
  #7 (permalink)  
Antiguo 25/04/2007, 14:33
 
Fecha de Ingreso: octubre-2006
Mensajes: 79
Antigüedad: 17 años, 7 meses
Puntos: 0
Re: Manejo De Sesiones

MI ARCHIVO LOGIN.PHP ES EL SIGUIENTE:


<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Introducir Contraseña</title>
</head>
<body bgcolor="#ffffff" text="#000000">
<P><IMG SRC="IMAGENES/SEDALIB.BMP" width="200" height="63"></P>
<hr>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>

<? session_start();
//$user=$HTTP_POST_VARS['USER_ID'];
//$contraseña=$HTTP_POST_VARS['USER_PWD'];
if(empty($USER_PWD)){die("No ha introducido una contraseña");}
// if(empty($user)){die("No ha introducido una contraseña");}
if((strlen($USER_PWD)<5)||(strlen($contraseña)>15) )
if((strlen($user)<5)||(strlen($contraseña)>15))
{
die("La contraseña es muy corta o larga");
}

$conn=odbc_connect('oracle2','CAJAWEB','123456');
if (!$conn)
{
exit("Connection Failed: " . $conn);
}
$sql="SELECT USER_PWD from USUARIO WHERE USER_ID='".$USER_ID."'";
//$sql="SELECT USER_PWD from USUARIO WHERE USER_ID='".$user."'";
$rs=odbc_exec($conn,$sql);

if (!$rs)
{
exit("Error in SQL");
}
if($row=odbc_fetch_array($rs))
{
if(!(md5($USER_PWD)==$row["USER_PWD"]))
{
die("contraseña invalida");
}
}
else
{
die("¡¡¡¡¡Usuario no encontrado¡¡¡¡¡¡");
}
//implementacion de la codificacion de la sesion

$nombre_anterior = session_name("WebsiteID");

session_start();
session_register("USER_ID");
session_encode();
/* $url="Location:login1.php?PHPSESSID=".$PHPSESSID;
header($url);*/
header("Location: login1.php?PHPSESSID=".$PHPSESSID);

?>

</body>
</html>
  #8 (permalink)  
Antiguo 25/04/2007, 14:45
Avatar de el cirujano  
Fecha de Ingreso: mayo-2003
Ubicación: Frente al PC
Mensajes: 609
Antigüedad: 21 años
Puntos: 3
Re: Manejo De Sesiones

efectivamente te da error porque estas colocando el HEADER despues de una impresion.... te aconsejo que coloques tu HEADER despues que hayas hecho la comprobacion del usuario....

si no me equivoco es aqui:

Código PHP:
if (!$rs)
{
exit(
"Error in SQL");
}
if(
$row=odbc_fetch_array($rs))
{
if(!(
md5($USER_PWD)==$row["USER_PWD"]))
header("Location: login1.php?PHPSESSID=".$PHPSESSID);
{
die(
"contraseña invalida");
}

__________________
CSS2 + AJAX + PHP + MySQL, una mezcla sin competencia!!!!!!
  #9 (permalink)  
Antiguo 25/04/2007, 14:50
Avatar de oso96_2000  
Fecha de Ingreso: junio-2002
Ubicación: Distrito Federal
Mensajes: 558
Antigüedad: 21 años, 10 meses
Puntos: 35
Re: Manejo De Sesiones

Ahm.. el error es por el codigo html que has mandado antes, no puee haber NINGUNA salida al navegador antes del header... no html, no echo, no print, etc..

Necesitas estructurar mejor tu codigo para que no mandes esa salida de html al navegador despues del html que tienes ahi
__________________
Sin Ideas
  #10 (permalink)  
Antiguo 25/04/2007, 14:55
 
Fecha de Ingreso: octubre-2006
Mensajes: 79
Antigüedad: 17 años, 7 meses
Puntos: 0
Re: Manejo De Sesiones

Me Sigue Saliendo Lo Mismo...de Repente No Tengo Que Modificar Algo El Php.ini????
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 19:35.