Ver Mensaje Individual
  #11 (permalink)  
Antiguo 16/03/2012, 22:34
Avatar de waldragon
waldragon
 
Fecha de Ingreso: mayo-2010
Mensajes: 735
Antigüedad: 14 años
Puntos: 55
Respuesta: Se me cierra la session al cambiar password

ok, no hay problema, lo estas haciendo mal, lo que comunmente se hace es comprobar si existe el usuario y la contraseña ingresada en el login, si coinciden, se crea una session con el numero de id de ese usuario, si no coinciden se da mensaje de "usuario o contraseña incorrecta"
con ese numero unico de cada usuario, ya puedes hacer los cambios de contraseña y otros datos, tal como te mostre en mi mensaje anterior, mira la variable $user, ese es el numero unico del usuario y solo cambiara los datos seleccionados de ese usuario.

lo que puedes hacer es cambiar el valor de la session que tiene la contraseña al mismo tiempo que cambias el valor de la base de datos, me entiendes? cuando tu cambias el valor de la base de datos, al volver de la pagina que hace el cambio, esta no coincide con la que tienes guardada en la session, por ello tienes que cambiar el valor de la session en el mismo archivo que cambia el de la base de datos, de eso modo, cuando vuelve a la pagina con el form la comparacion dara positivo, porque ya la cambiaste, es solo eso:

ejemplo:
archivo en donde haces el cambio de la base de datos:
Código PHP:
Ver original
  1. $contra=$_POST['nuevacontraseña'];
  2. $sentencia = "UPDATE usuarios SET contraseña='".$contra."' WHERE id = '" . $user . "';";
  3. mysql_query($sentencia) or die("Error al modificar los datos");
  4. //y cambias la session contraseña
  5. $_SESSION['CONTRASEÑA'] = $contra;