Foros del Web » Programando para Internet » PHP »

Se me cierra la session al cambiar password

Estas en el tema de Se me cierra la session al cambiar password en el foro de PHP en Foros del Web. Hola, tengo un formulario para cambiar el pasword del usuario, al enviar el formulario y cambiarte el password te deslogea la session. Que puedo hacer ...
  #1 (permalink)  
Antiguo 15/03/2012, 21:18
Avatar de hackcrack  
Fecha de Ingreso: abril-2011
Mensajes: 331
Antigüedad: 13 años
Puntos: 9
Se me cierra la session al cambiar password

Hola, tengo un formulario para cambiar el pasword del usuario, al enviar el formulario y cambiarte el password te deslogea la session.

Que puedo hacer para que no pase eso?
__________________
Los mejores juegos de PC gratis en ******
  #2 (permalink)  
Antiguo 15/03/2012, 21:49
Avatar de Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años
Puntos: 406
Respuesta: Se me cierra la session al cambiar password

tú pregunta es tan ambigua como preguntar el porque no funciona un coche sin verlo, al menos pública tú código
__________________
Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!!
-- Sheldon Cooper
http://twitter.com/nemutagk
PD: No contestaré temas vía mensaje personal =)
  #3 (permalink)  
Antiguo 15/03/2012, 21:54
Avatar de waldragon  
Fecha de Ingreso: mayo-2010
Mensajes: 735
Antigüedad: 13 años, 10 meses
Puntos: 55
Respuesta: Se me cierra la session al cambiar password

si tienes un archivo de conexion, puede ser que te hayas olvidado de agregarlo en el archivo a donde te envia el form, talvez tenga la conexion a la base de datos, pero le falte session_start(); para que no se corte la session
  #4 (permalink)  
Antiguo 15/03/2012, 21:56
Avatar de hackcrack  
Fecha de Ingreso: abril-2011
Mensajes: 331
Antigüedad: 13 años
Puntos: 9
Respuesta: Se me cierra la session al cambiar password

no, tiene que ser un problema con el cambio de password. Porque si por ejemplo al cambiar el password, elijo el mismo que el anterior que tenia, la session no se cierra.
__________________
Los mejores juegos de PC gratis en ******
  #5 (permalink)  
Antiguo 15/03/2012, 22:04
Avatar de waldragon  
Fecha de Ingreso: mayo-2010
Mensajes: 735
Antigüedad: 13 años, 10 meses
Puntos: 55
Respuesta: Se me cierra la session al cambiar password

entonces tendrias que mostrar el codigo, no queda otra...
  #6 (permalink)  
Antiguo 16/03/2012, 12:46
Avatar de hackcrack  
Fecha de Ingreso: abril-2011
Mensajes: 331
Antigüedad: 13 años
Puntos: 9
Respuesta: Se me cierra la session al cambiar password

Es una consulta normal de un update query y un include de un php que hace la conexion a la base de datos mi codigo, nose en que te puede servir eso para ayudarme, creo que no sabes de lo que estas hablando...
__________________
Los mejores juegos de PC gratis en ******
  #7 (permalink)  
Antiguo 16/03/2012, 14:37
Avatar de waldragon  
Fecha de Ingreso: mayo-2010
Mensajes: 735
Antigüedad: 13 años, 10 meses
Puntos: 55
Respuesta: Se me cierra la session al cambiar password

Cita:
Iniciado por hackcrack Ver Mensaje
Es una consulta normal de un update query y un include de un php que hace la conexion a la base de datos mi codigo, nose en que te puede servir eso para ayudarme, creo que no sabes de lo que estas hablando...
Wow, no me imaginaba una respuesta asi, mira, cuando hago un update de algun dato hago esto:

esto en el archivo con el form:
Código PHP:
Ver original
  1. //aqui el select para mostrar el dato actual
  2. $contraseñaactual=$ver['contraseña'];
  3. ////
  4. <form action="inc/modificardato.php" method="post">
  5. <input name="contraseña" type="text" value="<?php echo"".$contraseñaactual."";?>"/><br/>
  6. <input type="submit" name="modificar" value="Modificar">
  7. </form>
  8.  
  9. //y en el archivo modificardato.php :
  10.  
  11. include("../configuracion.php");//aca estan los datos de conexion y otros
  12.  
  13. if($_post'modificar']){
  14.  
  15. $c=$_POST['contraseña'];
  16. $sentencia = "UPDATE usuarios SET contraseña='".$c."' WHERE id = '" . $user . "';";
  17. mysql_query($sentencia) or die("Error al modificar los datos");
  18. }//fin if modificar
  19.  
  20. //EL $USER ES EL ID DEL USUARIO QUE LO CREAS AL LOGEARSE
  21.  
  22. //y aqui lo redireccionas a donde quieras que vaya

Eso es lo que uso yo, tambien se puede hacer con ajax pero es mas dificil para explicartelo ahora, es mas o menos como lo tienes?
  #8 (permalink)  
Antiguo 16/03/2012, 17:26
Avatar de Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años
Puntos: 406
Respuesta: Se me cierra la session al cambiar password

Cita:
Iniciado por hackcrack Ver Mensaje
Es una consulta normal de un update query y un include de un php que hace la conexion a la base de datos mi codigo, nose en que te puede servir eso para ayudarme, creo que no sabes de lo que estas hablando...
o.O será porque no somos adivinos y no sabemos lo que estas haciendo! como pretendes que se te ayude si no dices lo que estas haciendo!, ahora esa manera no es de contestar, al parecer no sabes tu de que estas hablando, ninguna sentencia SQL no interfiere por si sola con una sesión! algo debes estar haciendo para que el valor cambie....
__________________
Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!!
-- Sheldon Cooper
http://twitter.com/nemutagk
PD: No contestaré temas vía mensaje personal =)
  #9 (permalink)  
Antiguo 16/03/2012, 17:41
Colaborador
 
Fecha de Ingreso: mayo-2008
Ubicación: $MX['VZ']['Xalapa']
Mensajes: 3.005
Antigüedad: 15 años, 11 meses
Puntos: 528
Respuesta: Se me cierra la session al cambiar password

Bueno, haciendo a un lado tu mala contestación....

Lo más probable es que guardes la contraseña del usuario en una variable de sesión y con cada página que el usuario visita nuevamente verificas si la contraseña del usuario es correcta.

De ser así, es una muy mala técnica. Solución: que modifiques tu manejo de la sesión para que no verifique la contraseña a cada entrada.
  #10 (permalink)  
Antiguo 16/03/2012, 19:00
Avatar de hackcrack  
Fecha de Ingreso: abril-2011
Mensajes: 331
Antigüedad: 13 años
Puntos: 9
Respuesta: Se me cierra la session al cambiar password

Cita:
Iniciado por waldragon Ver Mensaje
Wow, no me imaginaba una respuesta asi, mira, cuando hago un update de algun dato hago esto:

esto en el archivo con el form:
Código PHP:
Ver original
  1. //aqui el select para mostrar el dato actual
  2. $contraseñaactual=$ver['contraseña'];
  3. ////
  4. <form action="inc/modificardato.php" method="post">
  5. <input name="contraseña" type="text" value="<?php echo"".$contraseñaactual."";?>"/><br/>
  6. <input type="submit" name="modificar" value="Modificar">
  7. </form>
  8.  
  9. //y en el archivo modificardato.php :
  10.  
  11. include("../configuracion.php");//aca estan los datos de conexion y otros
  12.  
  13. if($_post'modificar']){
  14.  
  15. $c=$_POST['contraseña'];
  16. $sentencia = "UPDATE usuarios SET contraseña='".$c."' WHERE id = '" . $user . "';";
  17. mysql_query($sentencia) or die("Error al modificar los datos");
  18. }//fin if modificar
  19.  
  20. //EL $USER ES EL ID DEL USUARIO QUE LO CREAS AL LOGEARSE
  21.  
  22. //y aqui lo redireccionas a donde quieras que vaya

Eso es lo que uso yo, tambien se puede hacer con ajax pero es mas dificil para explicartelo ahora, es mas o menos como lo tienes?
Gracias por tomarte las molestias de responder, disculpa si te respondi mal es que estaba un poco frustrado.

Es tal cual como dice ocp001a, en la variable session guardo el usuario y la contraseña cuando me logeo, y despues en cada pagina hago una comprobacion de si esos dos valores pertenecen a un campo de la base de datos.
De que otra forma me recomiendan hacerlo? o mientras tanto como puedo solucionar este problema sin tener que cambiar mucho la estructura de mi codigo
__________________
Los mejores juegos de PC gratis en ******
  #11 (permalink)  
Antiguo 16/03/2012, 22:34
Avatar de waldragon  
Fecha de Ingreso: mayo-2010
Mensajes: 735
Antigüedad: 13 años, 10 meses
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;
  #12 (permalink)  
Antiguo 17/03/2012, 11:33
Avatar de hackcrack  
Fecha de Ingreso: abril-2011
Mensajes: 331
Antigüedad: 13 años
Puntos: 9
Respuesta: Se me cierra la session al cambiar password

Claro perfecto, prefiero hacerlo bien desde el principio y hacer como vos me comentabas, guardando solo el id del usuario en la session. Gracias por todo ;)
__________________
Los mejores juegos de PC gratis en ******
  #13 (permalink)  
Antiguo 17/03/2012, 15:55
Avatar de waldragon  
Fecha de Ingreso: mayo-2010
Mensajes: 735
Antigüedad: 13 años, 10 meses
Puntos: 55
Respuesta: Se me cierra la session al cambiar password

ok, de nada, gracias a vos y a otros usuarios que les gusto la ayuda que te di y me dieron karma, saludos.

Etiquetas: cierra, formulario, password, session, usuarios
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 12:00.