Foros del Web » Programando para Internet » PHP »

Ayuda con Warning: Unknown():!!!

Estas en el tema de Ayuda con Warning: Unknown():!!! en el foro de PHP en Foros del Web. Hola, estoy desarrollando un aplicación en php. Y últimamente, me aparece este error: Warning: Unknown(): Your script possibly relies on a session side-effect which existed ...
  #1 (permalink)  
Antiguo 14/10/2008, 11:38
 
Fecha de Ingreso: mayo-2008
Mensajes: 26
Antigüedad: 16 años, 6 meses
Puntos: 0
Ayuda con Warning: Unknown():!!!

Hola,

estoy desarrollando un aplicación en php. Y últimamente, me aparece este error:

Warning: Unknown(): Your script possibly relies on a session side-effect which existed until PHP 4.2.3. Please be advised that the session extension does not consider global variables as a source of data, unless register_globals is enabled. You can disable this functionality and this warning by setting session.bug_compat_42 or session.bug_compat_warn to off, respectively. in Unknown on line 0

¿Sabeís que quiere decir? ¿Como lo puedo quitar? Algunas veces, solo me aparece la primera vez que se carga la página. Si la actualizo, desaparece.

Me parece que me empezo a salir cuando en alguna página del proyecto puse algunas variables de session a null. Pr ejemplo:

$_SESSION['nombre']=null

Tampoco se si tendrá algo que ver o no con este fragmento de cógido. Es de un div, que se muestra y se oculta según se pincha en un enlace. Y a veces, al quitarlo también desaparece el mensaje:

<?php
if( $_SERVER['HTTP_REFERER']=='http://localhost/proyecto/gestionCitas.php')
{?>
<div id="miniCalendario" style="display:none;position:absolute;top:325;left :615;" >
<?php require("miniCalendario.php");?>
</div>
<?}
else
{
if($_GET["fecha"]==$_GET["nuevaFecha"])
{?>
<div id="miniCalendario" style="display:none;position:absolute;top:325;left :615;" >
<?php require("miniCalendario.php");?>
</div>
<?php }
else
{?>
<div id="miniCalendario" style="position:absolute;top:325;left:615;" >
<?php require("miniCalendario.php");?>
</div>
<?php }
}

Por favor, si sabeís de que puede ser decirme porque ya no se que más hacer. Tengo que entregarlo antes de que se acabe el mes...
  #2 (permalink)  
Antiguo 14/10/2008, 11:52
 
Fecha de Ingreso: noviembre-2002
Mensajes: 1.341
Antigüedad: 22 años
Puntos: 17
Respuesta: Ayuda con Warning: Unknown():!!!

¿Tienes alguna variable global que se llame $nombre?
  #3 (permalink)  
Antiguo 14/10/2008, 12:02
 
Fecha de Ingreso: mayo-2008
Mensajes: 26
Antigüedad: 16 años, 6 meses
Puntos: 0
Respuesta: Ayuda con Warning: Unknown():!!!

No, uso variables locales.
  #4 (permalink)  
Antiguo 14/10/2008, 12:15
 
Fecha de Ingreso: noviembre-2002
Mensajes: 1.341
Antigüedad: 22 años
Puntos: 17
Respuesta: Ayuda con Warning: Unknown():!!!

Según he leído ese error se produce si asignas NULL una variable de sesión del estilo de:

$_SESSION['nombre']=null

Y luego tienes una variable $nombre con un valor que no sea NULL.
  #5 (permalink)  
Antiguo 14/10/2008, 12:25
 
Fecha de Ingreso: mayo-2008
Mensajes: 26
Antigüedad: 16 años, 6 meses
Puntos: 0
Respuesta: Ayuda con Warning: Unknown():!!!

No, tampoco tengo ninguna variable $nombre. De todas formas, ya no se si el error aparece o no al asignarle el valor null, ya que a veces quito esa sentencia del código y me sigue apareciendo el error.
  #6 (permalink)  
Antiguo 14/10/2008, 12:26
 
Fecha de Ingreso: noviembre-2002
Mensajes: 1.341
Antigüedad: 22 años
Puntos: 17
Respuesta: Ayuda con Warning: Unknown():!!!

Prueba a postear todo el código problemático, a ver si lo reproducimos y lo acotamos.
  #7 (permalink)  
Antiguo 14/10/2008, 13:20
 
Fecha de Ingreso: mayo-2008
Mensajes: 26
Antigüedad: 16 años, 6 meses
Puntos: 0
Respuesta: Ayuda con Warning: Unknown():!!!

Es que es bastante código como para ponerlo aquí. He descubierto que en una de las páginas el mensaje me aparece al insertar un require con otra pagina, ¿será que hay algún conflicto de nombres o variables?
  #8 (permalink)  
Antiguo 14/10/2008, 13:25
 
Fecha de Ingreso: noviembre-2002
Mensajes: 1.341
Antigüedad: 22 años
Puntos: 17
Respuesta: Ayuda con Warning: Unknown():!!!

Nunca me he topado con ese error, sólo te puedo decir lo que he leído: parece conflicto entre una variable de sesión que tiene contenido NULL y otra variable con el mismo nombre, pero con contenido...

Pero podría ser cualquier otra cosa...
  #9 (permalink)  
Antiguo 14/10/2008, 13:28
 
Fecha de Ingreso: mayo-2008
Mensajes: 26
Antigüedad: 16 años, 6 meses
Puntos: 0
Respuesta: Ayuda con Warning: Unknown():!!!

Ok, le voy a echar un vistazo a ver si encuentro algo. De todas formas, me parece muy raro, porque utilizo la misma página para dos tipos distintos de usuario. Y con uno me aparece continuamente el error y con el otro no tengo ningún problema.
  #10 (permalink)  
Antiguo 14/10/2008, 13:29
 
Fecha de Ingreso: noviembre-2002
Mensajes: 1.341
Antigüedad: 22 años
Puntos: 17
Respuesta: Ayuda con Warning: Unknown():!!!

Pueden ser mil cosas... puede que la condición que dispare el error sólo se produzca con un usuario... pero eso ya sería analizar el código, acotar donde puede estar el error y estudiarlo.
  #11 (permalink)  
Antiguo 14/10/2008, 13:39
 
Fecha de Ingreso: noviembre-2002
Mensajes: 1.341
Antigüedad: 22 años
Puntos: 17
Respuesta: Ayuda con Warning: Unknown():!!!

Esto te puede servir:

http://es.php.net/manual/es/session.....bug-compat-42

"Las versiones de PHP 4.2.3 y anteriores tienen una característica/fallo no documentado que consiste en permitirle inicializar una variable de sesión en el contexto global, aun cuando register_globals se encuentre deshabilitado. PHP 4.3.0 y versiones posteriores le advertirán, si esta característica es usada, y si el parámetro session.bug_compat_warn se encuentra asimismo habilitado. Esta característica/fallo puede deshabilitarse mediante esta directiva."
  #12 (permalink)  
Antiguo 14/10/2008, 13:46
 
Fecha de Ingreso: mayo-2008
Mensajes: 26
Antigüedad: 16 años, 6 meses
Puntos: 0
Respuesta: Ayuda con Warning: Unknown():!!!

Muchas gracias Keysher, le voy a echar un vistazo.
  #13 (permalink)  
Antiguo 14/10/2008, 14:52
 
Fecha de Ingreso: abril-2006
Mensajes: 1.128
Antigüedad: 18 años, 7 meses
Puntos: 33
Respuesta: Ayuda con Warning: Unknown():!!!

ladynyobe:
Aqui tenemos tres cosas.
1.- NO es un error exactamente es un aviso de que podria existir un error.
2.- Cuando utilizas php para desarrollar programas entonces pones
en el php.ini error_reporting=on pero para colocarlo en un sitio web
eso directiva la pasas a off.
3.- log_errors=on es siempre lo mejor
4.- Generalmente los desarrolladores tienen problema con algunos warnings pero eso no impide que tu script funcione adecuadamente.
5.- Cuando hay un error el procesamiento del script se detiene completamente, cuando hay un warning el script procede normalmente.
Finalmente, en una oportunidad tuve que dejar mi script con un warning a pesar de que era necesario y permitia que la totalidad de mi script continuara funcionando normalmente.
Esa situacion era asi:
tenia un script en php que recibia una variable x desde un form en un html; ese mismo script recibia tambien una segunda variable y desde otra form en otro html. Lo que pasaba es que el script php debia recibir via POST dos vaariables diferentes pero una venia de un archivo html y otra venia de otro archivo html; es decir NO eran simultaneas y por ello php generaba un warning para cada variable.
La solucion era crear dos php scripts uno para cada html form, pero decidi dejarlo como estaba. Es decir creo que era un warning inofensivo!!!!.
Saludos
Y espero ayude
franco
  #14 (permalink)  
Antiguo 14/10/2008, 15:17
 
Fecha de Ingreso: noviembre-2002
Mensajes: 1.341
Antigüedad: 22 años
Puntos: 17
Respuesta: Ayuda con Warning: Unknown():!!!

Pero la solución no es ignorar el warning... Hay que ver por qué sucede, y una vez con todos los datos decidir si se puede ignorar o no. Pero lo principal es dar con la raíz del warning.
  #15 (permalink)  
Antiguo 14/10/2008, 15:49
 
Fecha de Ingreso: mayo-2008
Mensajes: 26
Antigüedad: 16 años, 6 meses
Puntos: 0
Respuesta: Ayuda con Warning: Unknown():!!!

Weno, después de mucho mirar, creo que es por una variable de sesión en el contexto global, $_SERVER. Ya he que comentao las partes del codigo donde tenia puesto esto y parece que ahora no sale el warning. Pero aun así no estoy del todo segura.
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 14:13.