Foros del Web » Programando para Internet » PHP »

ERROR con el el $SESSION

Estas en el tema de ERROR con el el $SESSION en el foro de PHP en Foros del Web. tengo definidas varias variables de sesion. $SESSION['kk']=... Me funcionan bien las variables, el problema es que para que me funcionen bien dichas variables, tengo que ...
  #1 (permalink)  
Antiguo 24/05/2005, 07:26
 
Fecha de Ingreso: abril-2005
Mensajes: 85
Antigüedad: 19 años
Puntos: 0
ERROR con el el $SESSION

tengo definidas varias variables de sesion.
$SESSION['kk']=...
Me funcionan bien las variables, el problema es que para que me funcionen bien dichas variables, tengo que poner al principio la funcion session_start().
Si no pongo esta funcion no consigo obtener los balores, pero con esta funcion me sale un error al principio de la pagina.
"Warning: Cannot send session cache limiter - headers already sent (output started at /var/www/html/AEE/galdetegia_bete.php:7) in /var/www/html/AEE/galdetegia_bete.php on line 9"
en la linea 9, tengo la funcion session_start().
aun con este error la pagina funciona correctamente,
si algien pudiese decirme por que motivo sale dicho error!
  #2 (permalink)  
Antiguo 24/05/2005, 07:54
Avatar de dwaks  
Fecha de Ingreso: agosto-2002
Ubicación: Panamá
Mensajes: 962
Antigüedad: 21 años, 8 meses
Puntos: 15
El error es porque ya estan enviando contenido de alguna forma.
Este FAQ te dira como evitar ese error, solo coloca lo que dice el FAQ y listo.
http://www.forosdelweb.com/showthrea...490#post414490
  #3 (permalink)  
Antiguo 24/05/2005, 08:18
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Te recomendaría que solventases eses problema reorganizando el código .. Si usas las funciones que menciona la FAQ que te recomendó dwaks .. vas a solventar el problema .. pero vas a perder en rendimiento de tu aplicación además que nunca programaras pensando que desarrollas en "PHP" y no en "HTML" con "PHP".

Si pones el código que usas completo se te podrá orientar a como ordenarlo para no tener la situación que estás teniendo: linea 9 de galdetegia_bete.php tienes algo de HTML antes de <? .. o un espacio .. o salto de línea .. o algún echo "algo" .. o salida en general.

Un saludo,
  #4 (permalink)  
Antiguo 25/05/2005, 00:09
 
Fecha de Ingreso: abril-2005
Mensajes: 85
Antigüedad: 19 años
Puntos: 0
solo tengo este codigo
<html>
<head>
<title>Documento sin t&iacute;tulo</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link href="estiloak/testua.css" rel="stylesheet" type="text/css">
</head>
<?PHP
session_start();
  #5 (permalink)  
Antiguo 25/05/2005, 01:11
Avatar de epplestun  
Fecha de Ingreso: octubre-2001
Mensajes: 1.621
Antigüedad: 22 años, 5 meses
Puntos: 5
No se puede iniciar una sesion si se a enviado algo al navegador, es decir, tu envias codigo HTML antes de iniciar la sesion, eso eta completamente mal, no se puede hacer eso, debes iniciar la sesion antes de enviar nada al navegador, con enviar me refiero a codigo, o un simple espacio.

Por otra parte decirte que el array de sesiones no es $SESSION, sino $_SESSION.

Revisate el manual: http://php.net/session
__________________
Usuario registrado de Linux #288725
  #6 (permalink)  
Antiguo 25/05/2005, 02:52
 
Fecha de Ingreso: abril-2005
Mensajes: 85
Antigüedad: 19 años
Puntos: 0
Lo de $SESSION ha sido un descuido, pero no sabia que no se puede enviar nada antes de iniciar la sesion.
Gracias por la ayuda, me estaba volviendo loco.
  #7 (permalink)  
Antiguo 25/05/2005, 08:04
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Cuando te comentaba el tema de reorganizar tu código .. tan sólo se trata de que "pienses" que PHP es el que genera tu "salida"; lease: tu HTML/etc .. así que no tienes por qué verte -obligado- a poner un "session_start()" debajo de un <body> o de un <head> de HTML .. si como este caso requieres que ESTÉ antes de cualquier otra salida al cliente (navegador: HTML/etc) pues entonces simplemente . .colocarlo -antes-:

Código PHP:
<?PHP
session_start
();
?>
<html>
<head>
<title>Documento sin t&iacute;tulo</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link href="estiloak/testua.css" rel="stylesheet" type="text/css">
</head>
<?
// más PHP si lo requieres ..
?>
<!-- más HTML si lo necesitas -->
Un saludo,
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 07:58.