Foros del Web » Programando para Internet » PHP »

Problemas con las Sesiones

Estas en el tema de Problemas con las Sesiones en el foro de PHP en Foros del Web. Hola a todos. Soy JNL, webmaster de www.elRevoltijo.net y www.SoloJuegos.net. Tengo un problema en la pagina de SoloJuegos.net con las sesiones. Voy a plantear el ...
  #1 (permalink)  
Antiguo 29/11/2002, 18:12
 
Fecha de Ingreso: noviembre-2002
Ubicación: Zaragoza
Mensajes: 2
Antigüedad: 15 años
Puntos: 0
Problemas con las Sesiones

Hola a todos.

Soy JNL, webmaster de www.elRevoltijo.net y www.SoloJuegos.net.

Tengo un problema en la pagina de SoloJuegos.net con las sesiones. Voy a plantear el problema. Para poder jugar hay que estar registrado. Hay un formulario de registro que despeus de validar datos, etc... intruduce lso datos en una BD Mysql. Despeus tienes que identificarte, mediante un form de user-pass que hay en la pagina principal. Al identificarte pasas pro un script PHP que verifica que existe el user, que la contraseña es correcta y crea una sesion, registrando en ella el dato '$variable' como true y el '$user' correspondiente. Despues, en todas las paginas que requieren estar identificado hay un:

<?php session_start; ?>

y en la pagina:

<?php if ($variable) {echo $user;} ?>

que muestra en nick del usuario identificado, y un:

<?php if ($variable)
{
instrucciones para mostrar el juego
}
else
{
instrucciones - no estas registrado
}
?>

El problema es el siguiente. Hay veces que intento meterme en la pagina principal, y en vez de salirme o mi sesion abierta (SI es $variable= true), o el formulario para identificarme (Si el $variable= false), me sale la sesion de otro usuario abierta, es decir, es como si tuviera abierta mi sesion, pero donde tendria que poner mi nick, pone el de otro. Eso solo pasa alguans veces y solo con unos detemrinados nicks... Pero otro dato curioso es que mientras am i si que me sale la sesion de Pepito en vez del a mia, optra persona entra y no le sale ninguan sesion, o la suya si corresponde.

En fin, espero que alguien me pueda ayudar.

Muchas gracias por adelantado.

Última edición por -JNL-; 30/11/2002 a las 07:04
  #2 (permalink)  
Antiguo 30/11/2002, 09:38
Avatar de Kernellover  
Fecha de Ingreso: noviembre-2002
Ubicación: Perdido
Mensajes: 251
Antigüedad: 15 años
Puntos: 0
Supongo que tendrías que poner aquí como es el código de identificación de usuario, por lo que cuentas el problema puede estar allí.

Por otro lado podrías comprobar que tienen en común estos detemrinados nicks, podría ser que coicideran con algunos caracteres o que incluso el nombre de sesión, no fuera único.

En fin, revisa el código y ánimo, si tienes problemas aquí estaremos.

Suerte !!!
  #3 (permalink)  
Antiguo 30/11/2002, 10:48
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
A todo esto .. lee las variables de la session y en general todas las variables que pasas de un script a otro por sus respectivos arrays asociados y NO asumiendo como globales (como al parecer estas haciendolo) .. Eso te evitará problemas del tipo:

pagina1.php
envio variable $ususario

pagina2.php
recogo variable que envie por pagina1.php nombre $usuario ..y a denas tengo en una session a $usuario que la recogo previo un inicio de session: session_start() ...

Eso puede (si no llegase a registrar la variable en la session por A o B motivo) .. que se asuma la variable $usuario de pagina1.php como variable de session .. Tal vez digas "uso nombres diferentes para las variables de sesion y que paso por el formulario de login" .. pero eso no es fiable 100% de que la variable sea de la session y no "adulterada" porque la meto por el URL en un http://www.tal.ta?usuario=yo ...

Leete las FAQ's de PHP (mensaje de este foro) ahí tienes unos ejemplos de como usar estas arrays (superglobal) que menciono ...

Se trataria en resumen de en vez de recoger una variable de session así:

session_start();
echo $variable_session;

usar:
session_start();
echo $_SESSION['variable_session'];

Lo mismo con las variables que envias por tus formularios y/o URL .. usar $_GET['variable'] .. $_POST['variable'] .. segun correponda ..

Si usases PHP version 4.1 inferiores .. deberias usar $HTTP_SESSION_VARS['variable_session'] para recoger tus variables de session .. ($HTTP_xxxx_VARS .. etc).


Un saludo,
  #4 (permalink)  
Antiguo 30/11/2002, 18:01
 
Fecha de Ingreso: noviembre-2002
Ubicación: Zaragoza
Mensajes: 2
Antigüedad: 15 años
Puntos: 0
Muchas gracias de verdad a todos.

Ahroa revisare lo que me habies dichom, a ver si lo soluciono.

Salu2
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:09.