Foros del Web » Programando para Internet » PHP »

error de sessiones que no se resolver

Estas en el tema de error de sessiones que no se resolver en el foro de PHP en Foros del Web. Buenas , me sale este error en una solo página y no consigo entender porque sale ni dejar que deje de salir (valga la redundancia). ...
  #1 (permalink)  
Antiguo 10/01/2008, 05:13
Avatar de Dundee  
Fecha de Ingreso: junio-2002
Ubicación: El Médano
Mensajes: 1.310
Antigüedad: 21 años, 10 meses
Puntos: 8
error de sessiones que no se resolver

Buenas , me sale este error en una solo página y no consigo entender porque sale ni dejar que deje de salir (valga la redundancia).
saludos y gracias de antemano

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
  #2 (permalink)  
Antiguo 10/01/2008, 09:43
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Re: error de sessiones que no se resolver

Que codigo estas utilizando?

Saludos.
  #3 (permalink)  
Antiguo 10/01/2008, 12:10
Avatar de Dundee  
Fecha de Ingreso: junio-2002
Ubicación: El Médano
Mensajes: 1.310
Antigüedad: 21 años, 10 meses
Puntos: 8
Re: error de sessiones que no se resolver

Cita:
Iniciado por GatorV Ver Mensaje
Que codigo estas utilizando?

Saludos.
Hola compañeor ,este es el código que uso donde creo q está el error

@session_start();
include ("admin/admin_fns.php");
include ("fns.php");

if ($HTTP_POST_VARS["email"] && $HTTP_POST_VARS["password"])
{
$user=login_user($_POST['email'], $_POST['password']);

if ($user)


{
//Nos aseguramos así que el usuario envio el formulario para iniciar sesión
if (!session_is_registered("valid_user") && $HTTP_POST_VARS["email"] && $HTTP_POST_VARS["password"])
{
//array con los datos del usuario
$valid_user=$user;
$user_active=$_SESSION['valid_user']['name'];
//Registramos la variable de sesion valid_user (array q contiene todos los datos del usuario)
session_register("valid_user");

}

//Si ha comenzado ya sesión

}
echo "<br> Bievenido ".$_SESSION['valid_user']['name']."<br>";
}

else
echo " Usted no esta registrado , inténtelo de nuevo gracias<br>";


echo " <a href='envio_form.php'>Continuar Comprando</a><br>";

?>

Yo creo que es por el cacho este
$_SESSION['valid_user']['name']
¿Como hago para que no me de el error? .
Gracias de antemano
  #4 (permalink)  
Antiguo 10/01/2008, 12:43
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Re: error de sessiones que no se resolver

No uses session_register, usa solamente las variables superglobales $_SESSION, $_POST para leer los datos de la sesion y los que vienen con tu formulario.

Saludos.
  #5 (permalink)  
Antiguo 10/01/2008, 13:20
Avatar de Dundee  
Fecha de Ingreso: junio-2002
Ubicación: El Médano
Mensajes: 1.310
Antigüedad: 21 años, 10 meses
Puntos: 8
Re: error de sessiones que no se resolver

Cita:
Iniciado por GatorV Ver Mensaje
No uses session_register, usa solamente las variables superglobales $_SESSION, $_POST para leer los datos de la sesion y los que vienen con tu formulario.

Saludos.
Ok pero mira si utilizo esto
!$_SESSION("valid_user")
en vez de esto
!session_is_registered("valid_user")
Me devuleve este error y no funciona la aplicación

Fatal error: Call to undefined function: array() in /home/fcaraculo/public_html/laniñadelexorcista/tienda/php/cwww.laniñadelexorxista.php on line 23


Gracias de nuevo

Última edición por Dundee; 15/06/2008 a las 08:26
  #6 (permalink)  
Antiguo 10/01/2008, 13:29
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Re: error de sessiones que no se resolver

$_SESSION no es una funcion, es un arreglo, tienes que comprobar:
Código PHP:
if( !$_SESSION['valid_user'] ) {


Saludos.
  #7 (permalink)  
Antiguo 11/01/2008, 11:10
Avatar de Dundee  
Fecha de Ingreso: junio-2002
Ubicación: El Médano
Mensajes: 1.310
Antigüedad: 21 años, 10 meses
Puntos: 8
Re: error de sessiones que no se resolver

[QUOTE=GatorV;2243874]$_SESSION no es una funcion, es un arreglo, tienes que comprobar:
Código PHP:
if( !$_SESSION['valid_user'] ) {



Bueno compañero , antes de nada agradecerte tu ayuda y tu tiempo pero te comento .. He hecho lo que me as dicho para que este error no salgo:

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,
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 0te error:


Si en vez de poner session_register("valid_user"); pongo lo que tu me dijiste osea .. $_SESSION['valid_user'] si mal no he entendido , púes NO me funciona el tema , ya no es q salga el error sino esque NO funciona así que no se como arreglarlo. De todas tal y como yo lo tenia con session_register("valid_user"), el error sale solo la primera vez que te logeas con cada usuario ¿porque? , no lo se, pero funciona todo perfectamente.
Gracias de antemano
  #8 (permalink)  
Antiguo 11/01/2008, 11:55
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Re: error de sessiones que no se resolver

Te recomiendo te acostumbres a usar $_SESSION, ya que en futuras versiones de PHP ya no se ocupara session_register pues trae muchos problemas de colisión de variables.

Saludos.
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:10.