Foros del Web » Programando para Internet » PHP »

Ayuda UPDATE al cambiar la contraseña

Estas en el tema de Ayuda UPDATE al cambiar la contraseña en el foro de PHP en Foros del Web. Hola!! aqui otra vez, ahora con un formulario donde el usuario puede visualizar sus datos y editarlos, en eso todo bien... El problema viene cuando ...
  #1 (permalink)  
Antiguo 27/06/2010, 18:44
Avatar de catpaw  
Fecha de Ingreso: mayo-2010
Ubicación: xalapa
Mensajes: 856
Antigüedad: 13 años, 11 meses
Puntos: 23
Ayuda UPDATE al cambiar la contraseña

Hola!!

aqui otra vez, ahora con un formulario donde el usuario puede visualizar sus datos y editarlos, en eso todo bien... El problema viene cuando va a cambiar su contraseña, y esq segun yo tiene q ver con la variable de sesion de su contraseña ya que la mando a llamar y la paso a una contraseña nueva, esto para hacer las validaciones correspondientes, siento q es eso ¿hay alguna forma de actualizarla?. La verdad si estoy perdida en este caso, les pongo lo mas importante del codigo:

Código PHP:
...
<?php
include "conexion.php";
$nombre_usuario $_SESSION["nombre_usuario"];
$result=mysql_query("consulta");
while(
$rowmysql_fetch_assoc($result)){
?>
<form>
<tabla>
... //campos con datos que muestro del usuario
Contraseña Actual:  
<input type="password" name="contrasenaActual" size="40" maxlength="40"value="" />

Contraseña Nueva:
<input type="password" id="contrasenaNueva" name="contrasenaNueva" size="40" maxlength="40"value="<?php if (isset($_POST['contrasenaNueva'])) echo $_POST['contrasenaNueva'];?>" />

Confirmar Contraseña:
<input type="password" id="ccontrasena" name="ccontrasena" size="40" maxlength="40"value="<?php if (isset($_POST['ccontrasena'])) echo $_POST['ccontrasena'];?>" />
 ...
</tabla>
</form>
<?php
include "conexion.php";

$contrasenaUsuario $_SESSION["contrasena"];
$contrasenaActual $_POST["contrasenaActual"];
$contrasenaNueva $_POST["contrasenaNueva"];
$ccontrasena $_POST["ccontrasena"];
... 
//otras variables

...//validaciones

//ya valido si pone su contraseña actual bien, si la nueva es igual a la confirmacion

//aqui viene mi condicion que no me hace lo que deseo

if ($contrasenaNueva!=NULL){//si ha hecho cambio de contraseña q la actualice
$query "UPDATE usuarios SET contrasena='$contrasenaNueva' WHERE nombre_usuario = '$nombre_usuario' ";
$actual=mysql_query($query) or die(mysql_error());

}

else{
// si no ha escrito una contraseña nueva q se quede con la actual

$query "UPDATE usuarios SET contrasena='$contrasenaUsuario' WHERE nombre_usuario = '$nombre_usuario' ";
$actual=mysql_query($query) or die(mysql_error());

}
?>
El caso es q probe: si la cambio si la actualiza, entonces regreso a probar (con la contraseña ya cambiada) y hago otras modificaciones sin cambiar la contraseña y me la cambia a la primera que tenia, es decir, con ejemplo:

tengo de contraseña "gato" (reviso la bd)
entro y la cambio por "gatito" (reviso la bd y si la cambia)
entro nuevamente y hago otras modificaciones sin cambiar la contraseña (entro a la bd y me vuelve a cambiar la contraseña por "gato")

La condicion que pongo en los updates no me esta funcionando nada, no se como ponerla o de que otra forma pueda conseguir que si no cambio la contraseña me la deje asi, espero me puedan ayudar, gracias desde ya!!
  #2 (permalink)  
Antiguo 27/06/2010, 19:08
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años
Puntos: 461
Respuesta: Ayuda UPDATE al cambiar la contraseña

te vuelve a poner la contraseña porque es a que queda guardada en la variable de sesion
Código PHP:
$contraseñausuario=$_session['contraseñausuario']; 
ahi queda guardada la contraseña me imagino que cuando haces el logeo
  #3 (permalink)  
Antiguo 27/06/2010, 19:22
Avatar de catpaw  
Fecha de Ingreso: mayo-2010
Ubicación: xalapa
Mensajes: 856
Antigüedad: 13 años, 11 meses
Puntos: 23
Respuesta: Ayuda UPDATE al cambiar la contraseña

si eso es lo que creo yo tambien, preguntaba q si hay alguna forma de actualizarla en el momento del cambio, estuve investigando y encontre una funcion pero no estoy segura de poderla usar por que al parecer funcina solo con id's

es esta:
bool session_regenerate_id(): Actualizar la id de sesión actual con una recién generada
  #4 (permalink)  
Antiguo 27/06/2010, 19:26
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años
Puntos: 461
Respuesta: Ayuda UPDATE al cambiar la contraseña

lo que veo es que eso de que si no ha escrito una contraseña la vuelves a actualizar creo que esta demas sino a escrito una contraseña nueva pienso yo que queda la misma de la base de datos o no??

Etiquetas: contraseña, update
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 00:35.