Foros del Web » Programando para Internet » PHP »

ERROR: Warning: Unknown: Your script possibly relies on a session side-effect

Estas en el tema de ERROR: Warning: Unknown: Your script possibly relies on a session side-effect en el foro de PHP en Foros del Web. Hola amigos: Al subir la pagina al servidor me da este error: Warning: Unknown: Your script possibly relies on a session side-effect which existed until ...
  #1 (permalink)  
Antiguo 14/09/2009, 15:42
Avatar de kimmy  
Fecha de Ingreso: julio-2008
Mensajes: 841
Antigüedad: 15 años, 9 meses
Puntos: 15
ERROR: Warning: Unknown: Your script possibly relies on a session side-effect

Hola amigos:

Al subir la pagina al servidor me da 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

Con este codigo:

Código PHP:
<?
session_start
();
include (
'func.php');
$_SESSION['usuario'];
$cart $_SESSION['cart'];
 
   
$total_price $_SESSION['total_price'];
      
$username $_SESSION['usuario'];
    
$nombre $_POST["nombre"];
    
$apellido $_POST["apellido"];
    
$ci $_POST["ci"];
    
$telefono $_POST["telefono"];
    
$celular $_POST["celular"];
    
$email $_POST["email"];
    
$env_avenida $_POST["env_avenida"];
    
$env_edif $_POST["env_edif"];
    
$env_piso $_POST["env_piso"];
    
$env_sector $_POST["env_sector"];
    
$env_zona $_POST["env_zona"];
    
$env_ciudad $_POST["env_ciudad"];
    
$env_estado $_POST["env_estado"];
    
$env_pais $_POST["env_pais"];


$conexion db_connect();
  if (!
$conexion)
   return 
0;

//GENERAR NUMERO DE FACTURA

$sql1 "select max(factid) as autonumerico from facturas"
$soc mysql_query($sql1$conexion) or die( mysql_error() );  
$rs_factidmysql_fetch_assoc($soc);     
$factid$rs_factid['autonumerico'] + 1

function 
Zeros($numero$largo

  
$resultado $numero;
  while(
strlen($resultado) < $largo
  { 
       
$resultado "0".$resultado;  
  } 
  return 
$resultado;
}  

$valor $factid
$autoceros Zeros($valor5);


//SELECCIONAR ID

  
$query mysql_query("SELECT id from clientes WHERE
            usuario='$username' AND nombre = '$nombre' AND apellido ='$apellido' and    ci = '$ci'"
);

if(
mysql_num_rows($query)>0) {
    
$cliente_id mysql_result($query0"id");

        
//INSERTAR DATOS DE LA ORDEN EN TABLA FACTURAS        

$date date("y/m/d H:i:s");
$total_price2$total_price + ($total_price*12/100);
$query =  mysql_query("insert into facturas (n_transaccion, factid, id, total_items, totalAmount, date, fact_status) " .
           
"values ('', '$autoceros', '$cliente_id', '$total_price', '$total_price2', '$date', 'PARTIAL')");

mysql_query($query);

//SELECCIONAR N_TRANSACCION PARA OBTENER N_TRANSACCION EN VARIABLE

  
$query3 mysql_query("select n_transaccion from facturas where
               id = '$cliente_id' AND date='$date'"
);
  if(
mysql_num_rows($query3)>0) {
    
$n_transaccion mysql_result($query30"n_transaccion");
    }

//SELECCIONAR FACTID PARA LLENAR TABLA FACT_ITEMS

  
$query mysql_query("select factid from facturas where
               id = '$cliente_id' AND date='$date'"
);
  if(
mysql_num_rows($query)>0) {
    
$factidmysql_result($query0"factid");
    }

    
// insertar cada producto
 
foreach ($cart as $sku => $qty) {
        
$sProductQuery "SELECT nombre_prod, price FROM articulos WHERE sku='$sku' LIMIT 1";       
        list( 
$nombre_prod$price ) = mysql_fetch_arraymysql_query$sProductQuery ) );       
        
$sQuery mysql_query("insert into fact_items values ('$factid', '$nombre_prod', '$price', '$qty')");
        
$sQuery mysql_query("update articulos set ctdad = ctdad - $qty where sku='$sku'"); 
             
//echo $sQuery;      // mysql_query( $sQuery ) or die( mysql_error() );}
        //$sQtuery = mysql_query("DELETE FROM articulos WHERE ctdad=0");
 
}
 
         }

header("Location:other.php");
?>
Por favor diganme porque me da el error con este codigo pues en localhost no me lo da. Gracias.
  #2 (permalink)  
Antiguo 14/09/2009, 15:48
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 11 meses
Puntos: 1517
Respuesta: ERROR: Warning: Unknown: Your script possibly relies on a session side-eff

¿Que version de PHP estas usando? Otra cosa desabilita por si acaso register_globals
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #3 (permalink)  
Antiguo 14/09/2009, 15:52
Avatar de kimmy  
Fecha de Ingreso: julio-2008
Mensajes: 841
Antigüedad: 15 años, 9 meses
Puntos: 15
Respuesta: ERROR: Warning: Unknown: Your script possibly relies on a session side-eff

En local PHP Information Version 5.2.3
  #4 (permalink)  
Antiguo 14/09/2009, 15:53
Avatar de kimmy  
Fecha de Ingreso: julio-2008
Mensajes: 841
Antigüedad: 15 años, 9 meses
Puntos: 15
Respuesta: ERROR: Warning: Unknown: Your script possibly relies on a session side-eff

y esta en el servidor 5.2.9
  #5 (permalink)  
Antiguo 14/09/2009, 15:53
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 11 meses
Puntos: 1517
Respuesta: ERROR: Warning: Unknown: Your script possibly relies on a session side-eff

¿Tienes habilitado register_globals?
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #6 (permalink)  
Antiguo 14/09/2009, 15:54
Avatar de kimmy  
Fecha de Ingreso: julio-2008
Mensajes: 841
Antigüedad: 15 años, 9 meses
Puntos: 15
Respuesta: ERROR: Warning: Unknown: Your script possibly relies on a session side-eff

si en el local
  #7 (permalink)  
Antiguo 14/09/2009, 15:56
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 11 meses
Puntos: 1517
Respuesta: ERROR: Warning: Unknown: Your script possibly relies on a session side-eff

Desabilitalo (creo que se dice asi ) reinicia apache y me dejas saber
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos

Última edición por abimaelrc; 14/09/2009 a las 16:12
  #8 (permalink)  
Antiguo 14/09/2009, 16:01
Avatar de kimmy  
Fecha de Ingreso: julio-2008
Mensajes: 841
Antigüedad: 15 años, 9 meses
Puntos: 15
Respuesta: ERROR: Warning: Unknown: Your script possibly relies on a session side-eff

al hacerlo me arroja el mismo error que el servidor. Pero no se como arreglarlo
  #9 (permalink)  
Antiguo 14/09/2009, 16:04
Avatar de Marvin
Colaborador
 
Fecha de Ingreso: febrero-2005
Ubicación: global $Chile->Santiago;
Mensajes: 1.991
Antigüedad: 19 años, 2 meses
Puntos: 81
Respuesta: ERROR: Warning: Unknown: Your script possibly relies on a session side-eff

Existe una manera de sacar este error editando esto en php.ini
session.bug_compat_42 = 1
session.bug_compat_warn = 1


Ponlas en 0 y no deberia molestarte mas...

Esto en ingles te esta diciendo que si registers_globals esta activado, las sesiones pueden obtener datos de variables globales, en caso contrario te mostrara este error.

Como dato extra, ponle <?php al principio del codigo.

Suerte!
__________________
El que dice "Solo sé que nada sé", esta asumiendo que sabe algo.
Lea las FAQ's!
  #10 (permalink)  
Antiguo 14/09/2009, 16:06
Avatar de kimmy  
Fecha de Ingreso: julio-2008
Mensajes: 841
Antigüedad: 15 años, 9 meses
Puntos: 15
Respuesta: ERROR: Warning: Unknown: Your script possibly relies on a session side-eff

pero haciendo esto se compromote la seguridad? y otra cosa si no es asi como arreglo el php.ini en el servidor remoto. Gracias.
  #11 (permalink)  
Antiguo 14/09/2009, 16:10
Avatar de Marvin
Colaborador
 
Fecha de Ingreso: febrero-2005
Ubicación: global $Chile->Santiago;
Mensajes: 1.991
Antigüedad: 19 años, 2 meses
Puntos: 81
Respuesta: ERROR: Warning: Unknown: Your script possibly relies on a session side-eff

Estarias dejando de mostrar un warning (que basicamente se ejecuta igual pero te avisa que podria pasar X cosa que en este caso dice que no soporta la asignacion de valores globales)

Para cambiarlo puedes hacerlo desde la misma pagina con "ini_set()"

Algo como esto:
Código PHP:
ini_set('session.bug_compat_42',"0");
ini_set('session.bug_compat_warn',"0"); 
Suerte!
__________________
El que dice "Solo sé que nada sé", esta asumiendo que sabe algo.
Lea las FAQ's!
  #12 (permalink)  
Antiguo 14/09/2009, 16:13
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 11 meses
Puntos: 1517
Respuesta: ERROR: Warning: Unknown: Your script possibly relies on a session side-eff

La solución que propone Marvin es la que te va a resolver por el momento el problema. Lo que sucede es que no quise indicartela porque por defecto vienen activadas. Lo mejor es quitando el register_globals que se supone te vayas acostumbrando a no usarlas. El problema esta en que estan confligiendo las sesiones con alguna variable que tiene el mismo nombre y a su vez como tienes register_globals activado esta interpretando dos veces la misma variable y posiblemente por eso esta confligiendo. Eso fue lo que lei buscando en internet. Te sugiero que quites register_globals y trata de ver quitando codigo y colocandolo por partes hasta que te salga el error.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #13 (permalink)  
Antiguo 14/09/2009, 16:14
Avatar de kimmy  
Fecha de Ingreso: julio-2008
Mensajes: 841
Antigüedad: 15 años, 9 meses
Puntos: 15
Hola lo cambie en la pagina pero me sigue dando el error. Lo puede antes de session_start(); y tambien lo puse despues de session_start(); y no evita el error.....

Una pregunta mas, me dices que no puedo tener una variable que tenga el mismo nombre de la sesion o sea que no puedo tener esta:
Código PHP:
$cart $_SESSION['cart']; 
De verdad que ya he intentado varias veces pa tras y pa lante y nada please si alguien sabe como solucionar este error se lo agradezco.

Última edición por GatorV; 15/09/2009 a las 09:39
  #14 (permalink)  
Antiguo 14/09/2009, 19:10
Avatar de Marvin
Colaborador
 
Fecha de Ingreso: febrero-2005
Ubicación: global $Chile->Santiago;
Mensajes: 1.991
Antigüedad: 19 años, 2 meses
Puntos: 81
Respuesta: ERROR: Warning: Unknown: Your script possibly relies on a session side-eff

Y trataste poniendo el register_global a off ??

Eso tambien esta en el php.ini.

El problema es que si no tienes acceso a este archivo, tendrias que cambiar un par de cosas en tu programacion, como por ejemplo usar $varXXX para tus variables o algo asi... para no identificarlas como globales.
__________________
El que dice "Solo sé que nada sé", esta asumiendo que sabe algo.
Lea las FAQ's!
  #15 (permalink)  
Antiguo 14/09/2009, 19:48
Avatar de kimmy  
Fecha de Ingreso: julio-2008
Mensajes: 841
Antigüedad: 15 años, 9 meses
Puntos: 15
Respuesta: ERROR: Warning: Unknown: Your script possibly relies on a session side-eff

ya puse el el register_global a off y por eso me da el error ahora tanto en localhost como en el hosting. Hice lo que me indicaste acerca de

ini_set('session.bug_compat_42',"0");
ini_set('session.bug_compat_warn',"0");

pero aun me da el error.

No entiendo lo que me dices de

Cita:
por ejemplo usar $varXXX para tus variables o algo asi... para no identificarlas como globales.
???
  #16 (permalink)  
Antiguo 14/09/2009, 23:44
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: ERROR: Warning: Unknown: Your script possibly relies on a session side-eff

He tratado de reproducir el problema en mi PC y he podido, aunque no habilite bug_compat en php.ini, solo por ini_set. De cualquier forma, segun lo que he leido, cuando session.bug_compat_42 esta habilitado, al crear $_SESSION['cart'] tambien se crea una variable global $cart y se manejan como una sola, es el mismo efecto de session_register('cart'); Soluciones:

- ini_set('session.bug_compat_42', 0); // Sin las comillas para el cero
- Deshabilitar session.bug_compat_42 en php.ini, colocando el valor = 0
- Alguien por ahi mencionaba que creo un php.ini en el directorio raiz de su sitio con esa linea y el session.bug_compat_warn = 1 y funciono.
- Intenta usar la variable directamente, omitiendo la asignacion $cart = $_SESSION['cart'], con esto podras saber si realmente se crea la variable como global gracias a ese bug.
- No crees variables con el mismo identificador que la sesion, en tu caso podrias usar $cart_tmp = $_SESSION['cart']; o cualquier otra cosa para diferenciar.

P.D. $_SESSION['usuario']; esta de mas ahi.
__________________
- León, Guanajuato
- GV-Foto
  #17 (permalink)  
Antiguo 15/09/2009, 04:33
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 11 meses
Puntos: 1517
Respuesta: ERROR: Warning: Unknown: Your script possibly relies on a session side-eff

@Triby Lo que no entiendo ya que para mi entender leimos los mismos tutoriales que hay en internet, es que si desabilito register_global porque le sigue dando el mismo error.

solo por curiosidad ¿le habra dado un restart a apache?
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #18 (permalink)  
Antiguo 15/09/2009, 05:47
Avatar de kimmy  
Fecha de Ingreso: julio-2008
Mensajes: 841
Antigüedad: 15 años, 9 meses
Puntos: 15
Respuesta: ERROR: Warning: Unknown: Your script possibly relies on a session side-eff

Gracias Triby me sirvio colocar ini_set('session.bug_compat_42', 0); y no le asigne $cart = $_SESSION['cart'], sino que no le asigne nada solo la invoque asi $_SESSION['cart'].

Gracias tambien a abimaelrc y Marvin.

Son todos muy generosos.

  #19 (permalink)  
Antiguo 15/09/2009, 09:39
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: ERROR: Warning: Unknown: Your script possibly relies on a session side-eff

El error siempre se produce al usar session_register() sobre alguna variable, por eso es siempre recomendado usar $_SESSION directamente.

Saludos.
  #20 (permalink)  
Antiguo 15/09/2009, 11:29
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: ERROR: Warning: Unknown: Your script possibly relies on a session side-eff

Cita:
Iniciado por abimaelrc
@Triby Lo que no entiendo ya que para mi entender leimos los mismos tutoriales que hay en internet, es que si desabilito register_global porque le sigue dando el mismo error.
Supongo que la directiva session.bug_compat_42 se creo para mantener una "caracteristica" (por algo dira bug) en las nuevas versiones de PHP, asi, todos los que la usaron podrian mantener su codigo funcionando, sin tener que reescribir.

No se porque, pero me recuerda a M$ + IE.
__________________
- León, Guanajuato
- GV-Foto
  #21 (permalink)  
Antiguo 31/12/2011, 01:46
Avatar de jmrvm801  
Fecha de Ingreso: octubre-2011
Ubicación: Orizaba, Mexico
Mensajes: 37
Antigüedad: 12 años, 5 meses
Puntos: 1
Respuesta: ERROR: Warning: Unknown: Your script possibly relies on a session side-eff

Encontre una solución práctica, esa advertencia me apareció cuando le intente asignar un valor a $_SESSION["example"] con un valor nulo, por eso la advertencia.
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 18:38.