Ver Mensaje Individual
  #1 (permalink)  
Antiguo 26/03/2013, 00:40
kriss8725
 
Fecha de Ingreso: mayo-2009
Mensajes: 242
Antigüedad: 15 años, 9 meses
Puntos: 2
Pregunta Problema con variables de sesion

buenas noches tengo un problema con las variables se sesion, desarrolle un sistema el cual se maneja por acceso a usuario, cuando un usuario hace login se crean las variables $_SESSION['id'] y $_SESSION['token'], el valor de esta ultima variable se guarda en un campo en base de datos llamado token entonces en cada refresh del sistema verifico lo siguiente:

Código PHP:
Ver original
  1. if(isset($_SESSION['id']) && isset($_SESSION['token'])){
  2.     $existe = mysql_query("SELECT token FROM personal WHERE idPersonal = '".$_SESSION['id']."' AND token = '".$_SESSION['token']."'");
  3.     $total = mysql_num_rows($existe);
  4.     if($total > 0){
  5.       $_SESSION['token'] = md5(rand().$_SESSION['id']);
  6.       mysql_query("UPDATE personal SET token = '".$_SESSION['token']."' WHERE idPersonal = ".$_SESSION['id']);
  7.   }else{
  8.       session_destroy();
  9.       header("Location: login.php");
  10.       exit();
  11.     }
  12. }else{
  13.     header("Location: login.php");
  14.     exit();
  15. }

El problema que estoy teniendo es que cuando dos o mas usuarios estan logueados cada uno con su nombre de usuario y contraseña y en difrentes navegadores y alguno de ellos hace refresh a su navegador en esta parte del codigo que he puesto arriba, me actualiza el token de todos los usuarios logueados no solo del usuario que hizo refresh en su navegador.:

Código PHP:
Ver original
  1. $_SESSION['token'] = md5(rand().$_SESSION['id']);
  2. mysql_query("UPDATE personal SET token = '".$_SESSION['token']."' WHERE idPersonal = ".$_SESSION['id']);


Y no logro resolver cual sea el problema. De antemano gracias.